1、洛阳理工学院毕业设计(论文)I基于单片机的数字温度计设计摘要在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。我们采用美国DALLAS半导体公司继DS18B20之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度范围为55125,最高分辨率可达00625。DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本
2、和易使用的特点。本文介绍一种基于AT89C52单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量范围0100,使用LCD模块显示,能设置温度报警上下限。正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C52单片机功能和应用。该电路设计新颖、功能强大、结构简单。关键词温度测量,AT89C52,DS18B20,系统仿真洛阳理工学院毕业设计(论文)IIDESIGNOFDIGITALTHERMOMETERBASEDONSCMABSTRACTINDAILYLIFEANDINDUSTRIALPRODUCTIONPROCESS,OFTENU
3、SEDINTHEDETECTIONANDCONTROLOFTEMPERATURE,TEMPERATUREISTHEPRODUCTIONPROCESSANDSCIENTIFICEXPERIMENTSINGENERALANDONEOFTHEIMPORTANTPHYSICALPARAMETERTRADITIONALTHERMOCOUPLEANDTEMPERATURECOMPONENTSARETHESECONDRESISTORTHETHERMOCOUPLEANDTHERMALRESISTANCEAREGENERALLYMEASUREDVOLTAGE,ANDTHENREPLACEDBYTHECORRES
4、PONDINGTEMPERATURE,THESEMETHODSARERELATIVELYCOMPLEX,REQUIRINGARELATIVELYLARGENUMBEROFEXTERNALHARDWARESUPPORTWEUSEARELATIVELYSIMPLEWAYTOMEASUREWEUSETHEUNITEDSTATESFOLLOWINGDALLASSEMICONDUCTORDS1820IMPROVEDAFTERTHEINTRODUCTIONOFASMARTTEMPERATURESENSORDS18B20ASTHEDETECTIONELEMENT,ATEMPERATURERANGEOF551
5、25,UPTOAMAXIMUMRESOLUTIONOF00625DS18B20CANBEDIRECTLYREADOUTTHETEMPERATUREONTHENORTHSIDE,ANDTHREEWIRESYSTEMWITHSINGLECHIPCONNECTEDTOADECREASEOFTHEEXTERNALHARDWARECIRCUIT,WITHLOWCOSTANDEASYUSETHEINTRODUCTIONOFACOSTBASEDAT89C52SCMATEMPERATUREMEASUREMENTCIRCUITS,THECIRCUITSUSEDDS18B20HIGHPRECISIONTEMPER
6、ATURESENSOR,MEASURINGSCOPE0100,CANSETTHEWARNINGLIMITATION,THEUSEOFSEVENSEGMENTSLCDTHATCANBEDISPLAYTHECURRENTTEMPERATURETHEPAPERFOCUSESONPROVIDINGASOFTWAREANDHARDWARESYSTEMCOMPONENTSCIRCUIT,INTRODUCEDTHETHEORYOFDS18B20,THEFUNCTIONSANDAPPLICATIONSOFAT89C52THISCIRCUITDESIGNINNOVATIVE,POWERFUL,CANBEEXPA
7、NSIONARYSTRONGKEYWORDSTEMPERATUREMEASUREMENT,AT89C52,DS18B20,SYSTEMSIMULATION洛阳理工学院毕业设计(论文)III目录前言1第1章绪论211设计背景2111温度计的介绍2112温度传感器的发展状况312选题的目的和意义3121选题的目的4122选题的意义4第2章系统概述521设计方案的选择5211方案一5212方案二622系统设计原理6第3章系统硬件的设计831AT89C52的介绍832DS18B20的介绍11321DS18B20的引脚排列11322DS18B20内部结构12323DS18B20的测温原理16324DS1
8、8B20使用的注意事项1733数字温度计电路设计18331数字温度计原理图18332时钟电路的设计18333复位电路的设计19334接口电路的设计20335显示电路的设计20336报警电路的设计23第4章系统软件的设计24洛阳理工学院毕业设计(论文)IV41软件PROTEUS与KEIL24411PROTEUS软件24412KEIL软件2742系统主程序29421主程序29422DS18B20初始化30423温度转换命令子程序30424温度数据的计算处理方法3143源程序31第5章仿真3251仿真结果32结论34谢辞35参考文献36附录37外文资料翻译47洛阳理工学院毕业设计(论文)1前言随着科
9、技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术、信息传输(通信技术和信息处理(计算机技术中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工、农业生产过程中需要实时测量温度,因此研究温度的测量方法和装置具有重要的意义。传统的温度传感器大多以热敏电阻作为温度传感器,但热敏电阻的可靠性差,准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理,而这需
10、要比较多的外部的硬件的支持,硬件电路复杂(需要用到A/D转换电路,感温电路),软件调试也复杂,制作成本也非常高。目前的数字温度传感器是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE的结晶,特点是能输出温度数据及相关的温度控制量,适配微控制器(MCU。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片机测温系统等高科技的方向迅速发展。本文将介绍智能集成温度传感器DS18B20的结构特征及控制
11、方法,并对以此传感器,AT89C52单片机为控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示等优点。洛阳理工学院毕业设计(论文)2第1章绪论11设计背景111温度计的介绍随着科学技术的发展和现代工业技术的需要,测温技术也不断地改进和提高。由于测温范围越来越广,根据不同的要求,又制造出不同需要的测温仪器。下面介绍几种常用的温度计。气体温度计多用氢气或氦气作测温物质,因为氢气和氦气的液化温度很低,接近于绝对零度,故它的测温范围很广。这种温度计精确度很高,多用于精密测量。电阻温度计分为金属电阻温度计和半导体
12、电阻温度计,都是根据电阻值随温度的变化这一特性制成的。金属温度计主要有用铂、金、铜、镍等纯金属的及铁、磷青铜合金的;半导体温度计主要用碳、锗等。电阻温度计使用方便可靠,已广泛应用。电阻温度计的测量范围为260600左右。指针式温度计是形如仪表盘的温度计,也称寒暑表,用来测室温,是用金属的热胀冷缩原理制成的。它是以双金属片作为感温元件,用来控制指针。双金属片通常是用铜片和铁片铆在一起,且铜片在左,铁片在右。由于铜的热胀冷缩效果要比铁明显的多,因此当温度升高时,铜片牵拉铁片向右弯曲,指针在双金属片的带动下就向右偏转(指向高温);反之,温度变低,指针在双金属片的带动下就向左偏转(指向低温)。压力式温
13、度计压力式温度计是利用封闭容器内的液体,气体受热后产生体积膨胀或压力变化作为测信号。它的基本结构是由温包、毛细管和指示表三部分组成。压力式温度计的优点是结构简单,机械强度高,不怕震动。价格低廉,不需要外部能源。缺点是测温范围有限制,一般在80400;热损失大响应时间较慢。水银温度计水银温度计是膨胀式温度计的一种,水银的凝固点是3887,沸点是3567,用来测量0150或500以内范围的温度,它只能作为就地监督的仪表。用它来测量温度,不仅比较简单直观,而且还可以避免外部远传温度计的误差。洛阳理工学院毕业设计(论文)3112温度传感器的发展状况单片机在测控领域中具有十分广泛的应用,它既可以直接处理
14、电信号,也可以间接处理温度、湿度、压力等非电信号。由于该特点,因而被广泛应用于工业控制领域1。由于单片机的接口信号是数字信号,因此使用它来进行温度、湿度、压力等这类非电信号的信息处理,必须使用对应的传感器进行A/D或D/A转换,最后再传输给单片机进行最终的数据处理和显示。在测温领域,人们通常使用温度传感器,将温度信息转换为电流或电压进行输出,进而完成数据的处理和显示2。本文正是基于温度传感器和单片机而构建的电路,进而完成温度的测量和显示。温度传感器的发展经历了三个发展阶段1传统的分立式温度传感器。2模拟集成温度传感器。3智能集成温度传感器。目前使用最广的是智能温度传感器(亦称数字温度传感器,是
15、在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE的结晶,特点是能输出温度数据及相关的温度控制量,适配于各种微控制器(MCU3。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展4。本文将介绍温度传感器DS18B20的结构特征及控制方法,并以此传感器为测温元件,AT89C52单片机为控制核心,构成的数字温度测量装置,并对其工作原理及程序设计作详细的介绍。12选题的
16、目的和意义洛阳理工学院毕业设计(论文)4121选题的目的利用单片机AT89C52和温度传感器DS18B20设计一个设计温度计,能够测量2080之间的温度值,并且小于20和大于32时报警,用LCD液晶屏显示,测量精度为01。通过本次设计能够理解数字温度计的工作原理和熟悉单片机的发展和应用,巩固所学的知识5。122选题的意义随着电子技术的发展,人们的生活日趋数字化,多功能的数字温度计可以给我们的生活带来很大的方便;支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本;以美国MAXIM/DALLAS半导体公司的单总线温度传感器DS18B20为核心,以ATMEL公司的AT89C52为控制
17、器设计的DS18B20温度控制器结构简单、测温准确、具有一定控制功能的智能温度控制器6。本课题研究的重要意义在于生产过程中随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数,就需要受制于现代信息基础的发展水平7。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是数字温度传感器技术,在我国各领域已经应用的非常广泛可以说是渗透到社会的每一个领域,与人民的生活和环境的温度息息相关8。洛阳理工学院毕业设计(论文)5第2章系统概述21设计方案的选择该系统主要由温度测
18、量和数据采集两部分电路组成,实现的方法有很多种,下面将列出两种在日常生活中和工农业生产中经常用到的实现方案。211方案一采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成9。数据采集部分则使用带有A/D通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据处理,通过显示电路,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D转
19、换电路,感温电路比较麻烦。系统主要包括对ADC0809的数据采集,温度的测量,此外还有复位电路,晶振电路,启动电路等。处理芯片为51芯片,执行机构有4位数码管、报警电路等。系统框图如图21所示。复位电路晶振电路电路报警电路码管ADC089按键防抖动AT89C51单片机图21热电偶温差电路测温系统框图洛阳理工学院毕业设计(论文)6212方案二采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100时,最大线形偏差小于1。DS18B20的最大特点之一采用了单总线的数
20、据传输,由温度传感器DS18B20和单片机AT89C52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接10。这样,测温系统的结构就比较简单,体积也不大。采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外,AT89C52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。该系统利用AT89C52芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性
21、非常强,它可以在设计中加入时钟芯片以获取时间数据,在数据处理同时显示时间,并可以利用AT89C52芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过芯片与计算机的接口进行串口通信,方便的采集和整理时间温度数据11。从以上两种方案中,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大。方案二的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二。22系统设计原理本课题以是AT89C52单片机为核心设计的一种数字温度控制系统,系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,
22、单片机主板电路等组成12。利用温度传感器DS18B20可以直接读取被测温度值,进行转换的特性,模拟温度值经过DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度报警限比洛阳理工学院毕业设计(论文)7较,超过限度后通过扬声器报警13。同时处理后的数据送到LCD中显示。系统框图如图22所示。LCD显示温度传感器单片机复位报警电路时钟振荡主控制器图22系统基本方框图1主控制器单片机AT89C52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。2温度传感器温度传感器采用美国DALLAS半导体公司
23、生产的DS18B20温度传感器。DS18B20输出信号全数字化。便于单片机处理及控制,在0100,时,最大线形偏差小于1,采用单总线的数据传输,可直接与计算机连接。用单片机AT89C52芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。获得的数据可以通过芯片与计算机的接口进行串口通信,方便的采集和整理时间温度数据。3显示电路显示电路采用LCD液晶显示数码管,从P3口RXD,TXD串口输出段码14。显示电路是使用的串口显示,这种显示最大的优点就是使用资源比较少,只用P3口的RXD和TXD串口发送和接收,显示比较清晰。洛阳理工学院毕
24、业设计(论文)8第3章系统硬件的设计31AT89C52的介绍1AT89C52简介AT89C52是一种带8K字节闪速可编程可擦除只读存储器(FPEROMFLASHPROGRAMMABLEANDERASABLEREADONLYMEMORY)的低电压,高性能CMOS8位微处理器,俗称单片机15。AT89C52是一种带8KB的闪速可编程可擦除只读存储器的单片机,AT89C52是一种高效微控制器。AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C52引脚排列如图31所示。图31AT89C52的管脚排列图洛阳理工学院毕业设计(论文)92主要特性1与MCS51兼容。24K字节
25、可编程闪烁存储器。3寿命长1000写/擦循环。4数据保留时间10年。5全静态工作0HZ24MHZ。6三级程序存储器锁定。71288位内部RAM。832可编程I/O线。9两个16位定时器/计数器。105个中断源。11可编程串行通道。12低功耗的闲置和掉电模式。13片内振荡器和时钟电路。3管脚说明VCC供电电压。GND接地。P0口P0口为一个8位漏极开路双向I/O口,每个管脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻抗输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外
26、部必须被拉高。P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口用于外部程序存储器或16位地洛阳理工学院毕业设计(论文)10址外部数据存储器进行存取时,P2口
27、输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口P3口管脚是带8个内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口同时为闪烁编程和编程校验接收一些控制信号。P3口也可作为AT89C52的一些特殊功能口,如下表31所示。表31P3口的一些特殊功能口口管脚备选功能P30RXD(串行输入口)P31TXD(串
28、行输出口)P32/INT0(外部中断0)P33/INT1(外部中断1)P34T0(记时器0外部输入)P35T1(记时器1外部输入)P36/WR(片外数据存储器“写选通控制”输出)P37/RD(片外数据存储器“读选通控制”输出)RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时,将跳过一个
29、ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。如果微处理器在外部执行状态ALE禁止,置位无效。洛阳理工学院毕业设计(论文)11/PSEN外部程序存储器的选通信号。在由外部程序存储器取指令时,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000H0FFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平(接VCC端)时,CPU则执行内部程序存储器中的程序。在FL
30、ASHROM编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。32DS18B20的介绍DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。现场温度直接以“一线总线”的数字方式传输,大大提高
31、了系统的抗干扰性。适合于恶劣环境的现场温度测量,新的产品支持3V55V的电压范围,使系统设计更灵活、方便。DS18B20测量温度范围为55125,在1085范围内,精度为05。DS18B20可以程序设定912位的分辨率,及用户设定的报警温度存储在E2PROM中,掉电后依然保存。321DS18B20的引脚排列如图32所示,DS18B20的外形如一只三极管,引脚名称及作用如下GND接地端。DQ数据输入/输出脚,与TTL电平兼容。洛阳理工学院毕业设计(论文)12VDD可接电源,也可接地。因为每只DS18B20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采用数据总线供电方式时VDD接地
32、。图32DS18B20引脚排列322DS18B20内部结构DS18B20内部结构主要由四部分组成64位ROM、温度传感器、非挥发的温度报警触发器TH和TL及配置寄存器。DS18B20内部结构图如33图所示。64位ROM和单片机接口高速缓存存储器与控制单元温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC图33DS18B20内部结构图164位ROM。64位ROM是由厂家使用激光刻录的一个64位二进制ROM代码,是该芯片的标识号,如表32所示。洛阳理工学院毕业设计(论文)13表3264位ROM标识8位循环冗余检验48位序列号8位分类编号(10H)MSBLSBMSBLSBMSBLSB开始8位
33、表示产品分类编号,接着48位是该DS18B20自身的序列号,最后8位为前56位的CRC循环冗余校验码(CRCX8X5X41)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。2温度传感器。温度传感器是DS18B20的核心部分,该功能部件可完成对温度的测量。通过软件编程可将55125范围内的温度值按9位、10位、11位、12位的分辨率进行量化,以上的分辨率都包括一个符号位,因此对应的温度量化值分别为05、025、0125、00625,即最高分辨率为00625。芯片出厂时默认为12位的转换精度。当接收到温度转换命令后,开始转换,转换完成后的
34、温度以16位带符号扩展的二进制补码形式表示,存储在高速缓存器RAM的第0,1字节中,二进制数的前5位是符号位。如果测得的温度大于0,这5位为0,只要将测得的数值乘上00625即可得到实际温度;如果温度小于0,这5位为1,测得的数值需要取反加1再乘上00625即可得到实际温度。温度数据格式如表33所示。表33温度数据格式LSBYTEMSBYTE其中“S”为符号位,对应的温度计算当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表34是一部分温度值对应的二进制温度数据。232221202122232
35、4SSSSS262524洛阳理工学院毕业设计(论文)14表34一部分温度对应值温度/二进制表示十六进制表示125000001111101000007D0H8500000101010100000550H25062500000001100100000191H10125000000001010000100A2H0500000000000000100008H000000000000010000000H051111111111110000FFF8H101251111111101011110FF5EH2506251111111001101111FE6FH551111110010010000FC90HDS1
36、8B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2PROM,后者存放高温度和低温度触发器TH、TL和结构寄存器。高速暂存RAM包含了8个连续字节,前2个字节是测得的温度信息,第3和第4字节是TH和TL的易失性拷贝,第5个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。它的字节定义如表35所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式。表35DS18B20字节定义DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0决定温度转换的精
37、度位数,来设置分辨率,详见表36(DS18B20出厂时被设置为12位)。TMR1R011111洛阳理工学院毕业设计(论文)15表36DS18B20分辨率设置R1R0分辨率/位温度最大转向时间/MS00993750110187510113751112750由表36可见,分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。3温度报警触发器TH和TLDS18B20依靠一个单线端口通讯。在单线端口条件下,必须先建立ROM操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个ROM操作命令之一1读ROM。2匹配ROM。3搜索ROM。4跳过ROM。5报警
38、搜索。成功执行完一条ROM操作序列后,即可进行存储器和控制操作,控制器可以提供6条存储器和控制操作指令中的任一条。一条控制操作命令指示DS18B20完成一次温度测量。测量结果放在DS18B20的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器TH和TL各由一个E2PROM字节构成。可以用一条存储器操作命令对TH和TL进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。4配置寄存器。配置寄存器的内容用于确定温度值的数字转换率。DS18B20工作是按此寄存器的分辨率将温度转换为相应精度的数值,它是高速缓存器的第5个字节。洛阳理工
39、学院毕业设计(论文)16323DS18B20的测温原理如图34所示,图中低温度系数振荡器的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数振荡器随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。斜率累加器预置计数比较器低温系数振荡器减法计数器预置减到0温度寄存器高温系数振荡器减法计数器减到0图34DS18B20测温原理图图中还隐含着计数门,当计数门打开时,DS18B20就对低温系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器1和温度寄存器中,减
40、法计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器1对低温度系数振荡器产生的脉冲信号进行减法计数,当减法计数器1的预置减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,并重新开始对低温度系数振荡器产生的脉冲信号进行计数。如此循环,直到减法计数器2计数到0时,停止温度计数器值的累加,此时温度寄存器中的数值就是所测温度值。图中的斜率累加器用于补偿和修正测温过程的非线形性,直到温度寄存器达到被测温度值。另外,DS18B20单线通信功能是分时完成的,有严格的时隙概念,因此读/写时序很重要。根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤洛阳理工
41、学院毕业设计(论文)171每一次读写之前都必须要对DS18B20进行复位。2复位成功后发送一条ROM指令。3最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1560微秒左右后发出60240微秒的低脉冲,主CPU收到此信号表示复位成功。324DS18B20使用的注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、用线少等优点,但在实际应用中也应注意以下几方面的问题1较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,
42、必须严格的保证读/写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行程序设计时,对DS18B20部分最好采用汇编语言实现。2在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。3连接DS18B20的总线电缆是有长度限制的。当采用普通信号电缆传输长度超过50M时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150M,当采用每米绞合次数更多的双绞线带屏
43、蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。2在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。洛阳理工学院毕业设计(论文)1833数字温度计电路设计331数字温度计原理图温度计电路设计原理图如图35所示,控制器使用单片机AT89C52,温度计传感器
44、使用DS18B20,用液晶实现温度显示。本温度计大体分三个工作过程。首先,由DS18B20温度传感器芯片测量当前的温度,并将结果送入单片机。然后,通过AT89C52单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。最后,SMC1602A芯片将送来的值显示于显示屏上。其中,DS18B20温度传感器芯片采用“一线制”与单片机相连,它独立地完成温度测量以及将温度测量结果送到单片机的工作。图35温度计电路设计原理图332时钟电路的设计图36是时钟电路的设计电路图。洛阳理工学院毕业设计(论文)19C130PFC230PFX1CRYSTAL89C52XTAL1XTAL21918图3
45、6时钟电路单片机允许的振荡晶体可在1224MHZ之间选择,一般为110592MHZ。电容C2,C3的取值对振荡频率输出的稳定性、大小及振荡电路起振有一定的影响,可在20100PF之间选择,典型值为30PF。333复位电路的设计计算机每次开始工作,CPU和系统中的其他部件都必须要有一个确定的初值,即复位状态。图37是单片机复位电路图。C310UF5VR282K89C52RST9图37复位电路单片机RST引脚是高电平有效。单片机在上电瞬间C3充电,RST引脚出现正脉冲,只要RST保持两个机械周期(大约10MS)以上的高电平,单片机就能复位。在单片机工作后,如果还想再次复位,只需按下开关,单片机就能
46、重新变成复位状态。当晶体振荡频率为12MHZ时,RC的典型值为C10F,R82K。洛阳理工学院毕业设计(论文)20334接口电路的设计DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图38所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10US。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。图3
47、8DS18B20与单片机的接口电路335显示电路的设计11602LCD液晶简介1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能显示图形。1602LCD是指显示的内容为162,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。1602LCD引脚与功能如下表37所示。洛阳理工学院毕业设计(论文)21表37液晶1602引脚表引脚符号功能说明1VSS一般接地2VDD接电源(5V
48、)3V0液晶显示器对比度调整段4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平1时进行读操作,低电平0时进行写操作。6EE端为始能端,下降沿使用7DB0低4位三态、双向数据总线0位(最低位)8DB1低4位三态、双向数据总线1位9DB2低4位三态、双向数据总线2位10DB3低4位三态、双向数据总线3位11DB4低4位三态、双向数据总线4位12DB5低4位三态、双向数据总线5位13DB6低4位三态、双向数据总线6位14DB7低4位三态、双向数据总线7位(最高位)15BLA背光电源正极16BLK背光电源负极1602液晶模块内部的控制器共有
49、11条控制指令,如下表38所示。1602LCD的特性如下15V电压,对比度可调。2内含复位电路。3提供各种控制命令,如清屏、字符闪烁、光标闪烁、显示移位等多种功能。4有80字节显示数据存储器DDRAM。5内建有160个57点阵的字型的字符发生器CGROM。68个可由用户自定义的57的字符发生器CGROM。洛阳理工学院毕业设计(论文)22表381602的控制指令序号指令RS/RWD7D6D5D4D3D2D1D01清零显示00000000012光标返回0000000013置输入模式00000001I/DS4先是开/关控制0000001DCB5光标或字符移动000001S/CR/L6预置功能00001DLNF7字符发生存贮器地址0001字符发生存贮器地址8数据存贮器地址001显示数据存贮器地址9读忙标志或地址01计数器地址10写数到CGRAM10读写的数据内容11从CGRAM度数11读出的数据内容指令1清零显示,光标复位到地址00H位置。指令2光标复位,光标返回到地址00H。指令3光标和显示模式设置。I/D光标移动方向,高电平右移,低电平左移,S屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4显示开关控制。D控制整体显示的开与关,高电平表示开,低电平表示关;C控制光标的开与关,高电平