基于DS18B20的完整叙述.docx
- 文档编号:10232064
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:53
- 大小:491.73KB
基于DS18B20的完整叙述.docx
《基于DS18B20的完整叙述.docx》由会员分享,可在线阅读,更多相关《基于DS18B20的完整叙述.docx(53页珍藏版)》请在冰豆网上搜索。
基于DS18B20的完整叙述
基于DS18B20的数字温度计设计
摘要
随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测与显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,需要外加信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。
与传统的温度计相比,这次设计的是基于DS18B20的数字温度计,它具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。
在本设计中选用AT89C51型单片机作为主控制器件,采用DS18B20数字温度传感器作为测温元件,通过4位共阳极LED数码显示管并行传送数据,实现温度显示。
本设计的内容主要分为两部分,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,应用C语言实现温度的采集与显示。
通过DS18B20直接读取被测温度值,送入单片机进行数据处理,之后进行输出显示,最终完成了数字温度计的总体设计。
其系统构成简单,信号采集效果好,数据处理速度快,便于实际检测使用。
关键词:
单片机AT89C51;温度传感器DS18B20;LED数码管;数字温度计
DesignbasedDigitalThermometerDS18B20
Abstract
Alongwiththepresentinformationtechnology'sswiftdevelopmentandtraditionalindustrytransformation'sgradualrealization.Abletoworkindependentlyofthetemperaturedetectionanddisplaysystemusedinmanyotherfields.Traditionaltemperatureexaminationtakethermistorastemperaturesensitiveunit.Thermistor'scostislow,needsthesur-signalprocessingelectriccircuit,moreoverthereliabilityisrelativelybad,thetemperaturemeasurementaccuracyislow,theexaminationsystemalsohascertainerror.Compareswiththetraditionalthermometer,whatthisdesignisbasedontheDS18B20digitalthermometer,ithasthereadingtobeconvenient,thetemperaturemeasurementscopeisbroad,thetemperaturemeasurementisprecise,thedigitdemonstratedthatapplicablescopewideandsooncharacteristics.
UsedinthedesignAT89C51MCUasthemaincontroldevice,digitaltemperaturesensorDS18B20asthetemperaturecomponentsoftheanodethroughthefourLEDdigitaldisplaytubeparalleltransmissionofdata,toachievetemperaturedisplay.Thisdesign'scontentmainlydividesintotwoparts;first,tosystemhardwarepartdesign,includingtemperaturegatheringelectriccircuitanddisplaycircuit;Second,tothesystemsoftwarepart'sdesign,realizestemperaturegatheringandthedemonstrationusingtheClanguage.DS18B20measuredbydirectreadingtemperaturevalues,andtransferDataintoMCU,andoutputtoshow,thisisthedesignoftheDigitalThermometer.Itssystemconstitutionissimple,theeffectofsignalgatheringisgood,thespeedofdataprocessingisquick,atalitisadvantageousfortheactualexaminationuse.
Keywords:
MCUAT89S51;TemperatureSensorDS18B20;LEDDigitaltubeDigitalThermometer
目录
摘要I
AbstractII
第一章绪论1
1.1课题背景1
1.2课题来源2
1.3课题内容及要求2
第二章基于DS18B20数字温度计设计的可行性分析4
2.1数字温度计设计方案论证4
2.1.1方案一4
2.1.2方案二4
2.2单线技术4
第三章系统的硬件选择及设计6
3.1核心处理器的设计6
3.1.1AT89C51的简介6
3.1.2复位电路的设计9
3.1.3晶振电路的设计10
3.2温度采集电路的设计10
3.2.1DS18B20的简介11
3.2.2DS18B20内部结构13
3.2.3DS18B20测温原理17
3.2.4温度采集电路18
3.3温度显示电路的设计18
3.3.1LED数码管的操作18
3.3.2温度显示电路20
第四章系统的软件设计21
4.1概述21
4.2DS18B20的单线协议和命令21
4.2.1初始化21
4.2.2ROM操作命令21
4.2.3内存操作命令22
4.2.4数据处理23
4.3温度采集程序的设计25
4.3.1程序流程图25
4.3.2采集程序26
4.4温度显示程序的设计31
4.4.1程序流程图31
4.4.2显示程序31
结论33
致谢34
参考文献35
附录A36
附录B37
第一章绪论
1.1课题背景
单片机自1976年由Intel公司推出MCS-48开始,迄今已有三十多年了。
由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。
单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域,对各个行业的技术改造和产品更新换代起着重要的推动作用。
单片机有两种基本结构形式:
一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。
另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器。
目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。
本设计讨论的单片机多功能定时器的核心是目前应用极为广泛的51系列单片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。
不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域[1]。
20世纪80年代中期以后,Intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。
这些厂家生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。
这些兼容机与8051的系统结构(主要是指令系统)相同,采用CMOS工艺,因而,常用80C51系列来称呼所有具有8051指令系统的单片机,它们对8051单片机一般都作了一些扩充,使其更有特点。
其功能和市场竞争力更强,其实不该把它们直接称呼为MCS-51系列单片机,因为MCS只是Intel公司专用的单片机系列型号。
MCS-51系列及80C51单片机有多种品种。
它们的引脚及指令系统相互兼容,主要在内部结构上有些区别。
目前使用的MCS-51系列单片机及其兼容产品通常分成以下几类:
基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。
其中ATMEL公司的标准型AT89单片机因其与MCS-51的完全兼容性、优良的工作性能、使用的灵活性以及较高的性能价格比,成为AT89系列单片机的主流机型,在嵌入式控制系统中获得广泛应用。
1.2课题来源
众所周知,环境温度一直是生物能否较适宜生存的一个重要因素,而人们对环境温度的感知也从单纯的身体感官的感受发展到用各种温度计来对环境温度进行准确的测量。
但是受限于技术等原因,温度计通常都有体积较大,精度不高等各种缺陷。
而数字温度测量芯片的出现则解决了这些问题,其中的一款芯片DS18B20是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此,用它来组成一个测温系统,具有线路简单,在一根通信线上可以挂载很多这样的数字温度芯片,十分方便。
美国Dallas半导体公司的数字化温度传感器DS1820[2]是世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使你可以充分发挥“一线总线”的优点。
同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。
而且新一代产品更便宜,体积更小,这就为用最低的成本制作出用途更广,精度更高的便携带的数字温度计提供了可能。
目前,国际上新型温度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。
1.3课题内容及要求
本设计主要介绍了用单片机和数字温度传感器DS18B20相结合的方法来实现温度的采集,以单片机AT89C51芯片为核心,辅以温度传感器DS18B20和LED数码管及必要的外围电路,构成了一个多功能单片机数字温度计。
该装置适用于人民的日常生活和工、农业生产的温度测量与报警,实现对温度的监测。
其主要研究内容包括两方面,一是对系统硬件部分的设计,包括温度采集电路和显示电路;二是对系统软件部分的设计,应用C语言实现温度的采集与显示。
通过利用数字温度传感器DS18B20进行设计,能够满足实时检测温度的要求,同时通过LED数码管的显示功能,可以实现不间断的温度显示,并带有复位功能。
本次设计的主要思路是利用51系列单片机,数字温度传感器DS18B20和LED数码显示器,构成实现温度检测与显示的单片机控制系统,即数字温度计。
通过对单片机编写相应的程序,达到能够实时检测周围温度的目的。
通过对本课题的设计能够熟悉数字温度计的工作原理及过程,了解各功能器件(单片机、DS18B20、LED)的基本原理与应用,掌握各部分电路的硬件连线与程序编写,最终完成对数字温度计的总体设计。
其具体的要求如下:
1、根据设计要求,选用AT89C51单片机为核心器件;
2、温度检测器件采用DS18B20数字式温度传感器,利用单总线式连接方式与单片机的串行接口P0.0引脚相连;
3、显示电路采用4个LED数码管显示器接P1口并行显示温度值,数码管由P3口(P3.0~P3.3)选通,动态显示。
第二章基于DS18B20数字温度计设计的可行性分析
2.1数字温度计设计方案论证
2.1.1方案一
由于本设计实现的是测温电路,首先我们可以使用热敏电阻之类的器件,利用其感温效应,将其随被测温度变化的电压或电流值采集过来,进行A/D转换后,就可以用单片机进行数据的处理,通过显示电路就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
因此,我们引出第二种方案。
2.1.2方案二
我们可以采用技术成熟、操作简单、精确度高的温度传感器,在此,可以选用数字温度传感器DS18B20,根据它的特点和测温原理,很容易就能直接读取被测温度值并进行转换,这样就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故在本设计中采用了方案二。
通过方案二设计的温度计总体电路图如附录图C所示,控制器采用单片机AT89C51,温度传感器采用DS18B20,用4位LED数码管以串口并行输出方式传送数据实现温度显示。
2.2单线技术
目前,常用的微机和外设之间数据传输的串行总线[3]有I2C总线、SPI总线等,其中I2C总线采用同步串行双线(一根时钟线,一根数据线)方式,而SPI总线采用同步串行三线(时钟线,输入线,数据输入线)方式。
这两种总线需要至少两根或两根以上的信号线。
美国达拉斯半导体公司推出了一项特有的单线技术。
该技术于上述总线不同,它采用单根信号线,即可传输时钟,又能传输数据,而且数据传输时是双向的,因而这种单线技术具有线路简单,硬件开销少,成本低廉。
便于扩展的优点。
单线技术适用以单主机系统,单主机能够控制一个或多个从机设备。
主机可以是微控制器,从机可以是单线器件,它们之间的数据交换,控制都由这根线完成。
主机或从机通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放线,而让其它设备使用。
单线通常要求外接一个约5kΩ的上拉电阻,这样,当该线闲置时,器件状态为高电平。
主机和从机之间的通信主要分为3个步骤:
初始化单线器件,识别单线器件和单线数据传输。
由于只有一根线通信,所以它们必须是严格的主从结构,只有主机呼叫从机时,从机才能应答,主机访问每个单线器件都必须严格遵循单线命令序列,从机遵守上述三个步骤的顺序。
如果命令序列混乱,单线器件将不会响应主机[4]。
所有的单线器件都有遵循严格的协议,以保证数据的完整性。
单线协议有复位脉冲,其他均由主机发起,并且所有命令和数据都是字节的地位在前。
第三章系统的硬件选择及设计
3.1核心处理器的设计
3.1.1AT89C51的简介
对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。
所以,我们选用51系列单片机AT89C51。
AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚,并集成了Flash程序存储器,既可在线编程(ISP),也可用传统方法进行编程,因此,低价位AT89C51单片机可应用于许多高性价比的场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。
单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
AT89C51的主要特性如下:
▲与MCS-51兼容;
▲4K字节可编程闪烁存储器;
▲寿命:
1000写/擦循环;
▲数据保留时间:
10年;
▲全静态工作:
0Hz-24Hz;
▲三级程序存储器锁定;
▲128*8位内部RAM;
▲32根可编程I/O线;
▲两个16位定时器/计数器;
▲5个中断源;
▲可编程串行通道;
▲低功耗的闲置和掉电模式;
▲片内振荡器和时钟电路。
1、AT89C51引脚图
芯片AT89C51的引脚排列和逻辑符号如图3.1所示。
图3.1AT89C51单片机引脚图
2、AT89C51引脚功能介绍
单片机芯片AT89C51为40引脚双列直插式封装。
其各个引脚功能[5]介绍如下:
(1)VCC:
供电电压;
(2)GND:
接地;
(3)P0口
P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。
当P1口的管脚写”1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。
(4)P1口
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入”1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
(5)P2口
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写”1”时,其管脚电位被内部上拉电阻拉高,且作为输入。
作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址”1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
(6)P3口
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入”1”后,它们被内部上拉为高电平,并用作输入。
作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,同时P3口同时为闪烁编程和编程校验接收一些控制信号。
其具体功能如表3.1所示。
表3.1P3口的特殊功能
端口定义
符号表示
功能描述
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
INT0
外部中断0
P3.3
INT1
外部中断1
P3.4
T0
定时器0外部输入
P3.5
T1
定时器1外部输入
P3.6
WR
外部数据存储器写选通
P3.7
RD
外部数据存储器读选通
(7)RST:
复位输入端。
当振荡器复位时,要保持RST脚两个机器周期的高电平时间。
(8)ALE/PROG
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
(9)PSEN
外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期PSEN两次有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
(10)EA/VPP
当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
(11)XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
(12)XTAL2:
来自反向振荡器的输出。
3.1.2复位电路的设计
单片机复位电路的设计如图3.2所示。
该复位电路采用手动复位与上电复位相结合的方式。
当按下按键S1时,VCC通过R1电阻给复位输入端口一个高电平,实现复位功能,即手动复位。
上电复位就是VCC通过电阻R2和电容C构成回路,该回路是一个对电容C充电和放电的电路,所以复位端口得到一个周期性变化的电压值,并且有一定时间的电压值高于CPU复位电压,实现上电复位功能[7]。
图3.2单片机复位电路
3.1.3晶振电路的设计
单片机晶振电路的设计如图3.3所示。
XTAL1(X1)为反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2(X2)是来自反向振荡器的输出。
按照理论上AT89C51使用的是12MHz的晶振,但实测使用11.0592MHz。
所以设计者通常用的是11.0592MHz。
3.2温度采集电路的设计
由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。
这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。
图3.3单片机晶振电路
3.2.1DS18B20的简介
DALLAS最新单线数字温度传感器DS18B20是一种新型的”一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。
DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持”一线总线”接口的温度传感器。
温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便[6]。
DS18B20的性能特点如下:
▲独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条总线即可实现微处理器与DS18B20的双向通讯;
▲DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;
▲DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;
▲适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电;
▲测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;
▲零待机功耗;
▲可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;
▲在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;
▲用户可定义报警设置;
▲报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
▲测量结果直接输出数字温度信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DS18B20 完整 叙述