




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学阳泉学院-毕业设计说明书基于单片机的数字温度计的设计毕业设计目 录摘 要I前 言IV第一篇 绪论1第一章 选题背景及研究意义1第二章 研究的基本内容1第三章 研究步骤、方法2第二篇 系统原理的设计3第一章 系统原理图的设计3第二章 电路组成框图4第三篇 系统硬件设计5第一章 主控制器5第一节AT89C2051概述5第二节 引脚功能7第三节 AT89C2051性能参数8第二章 显示电路9第一节 LED数码9第二节 LED显示形式10第三章 传感器11第一节 传感器发展趋势11第二节 智能传感器的特点13第三节 智能传感器的分类14第四节 DS18B20温度传感器15第四篇 系统程序的设计23第一章 主程序23第二章 读出温度子程序23第三章 温度转换命令子程序25第四章 计算温度子程序26第五章 显示数据刷新子程序27第六章 DS18B20的各个ROM命令27第七章 温度数据的计算处理方法28第五篇 调试及性能分析30结 论31附录32参考文献42致谢44太原理工大学阳泉学院-毕业设计说明书前 言温度是工业中非常关键的一项物理量,在农业,现代科学研究和各种高新技术的开发和研究中也是一个非常普遍和常用的测量参数。温度测量的原理主要是:将随温度变化而变化的物理参数,如膨胀、电阻、电容、热电动势、磁性、频率、光学特性等通过温度传感器转变成电的或其他信号,传给处理电路。最后转换成温度数值显示出来。传统的温度测量方法基本上是接触式的,主要有:热膨胀式温度计,电阻式温度计,热电偶式温度计等。这些接触式温度计的主要缺点是对传感器的耐热性能要求比较苛刻,所以对应的使用温度范围比较有限。它们的精度也大大限制了他们的应用领域。此外,由于这些测量方法大都是接触式的,会污染一些高纯度,高腐蚀性的测量对象。目前应用的比较广泛的非接触温度测量技术有红外非接触温度测量技术,单总线数字式温度测量技术等等。此外,激光测量温度技术,基于彩色CCD三基色的温度测量技术也开始成为温度测量的手段。本文将着重数字式温度测量技术的测试原理,特点以及应用加以介绍。本次毕业设计中采用AT89C2051单片机和集成是数字温度传感器DS18B20作为主要芯片以及其他辅助电路,设计并制作了多点温度检测与控制系统。DS18B20的出现开辟了温度传感技术的新领域。它利用单总线的特点可组建传感网络,方便的实现多点温度的测量及控制。本系统的设计抗干扰性强设计灵活方便并且适合在恶劣的环境下进行温度测量,所以设计意义较为深远。太原理工大学阳泉学院-毕业设计说明书第一篇 绪论第一章 选题背景及研究意义温度的检测是温度控制的基础和前提,而检测的精度必须高于控制的精确度,否则无从实现控制的精度要求。不仅如此,检测还涉及国计民生各个部门,可以说在所以科学技术领域无时不在进行检测。科学技术的发展和检测技术的发展是密切相关的。现代化的检测手段能达到的精度、灵敏度及测量范围等,在很大程度上决定了科学技术的发展水平。同时,科学技术的发展达到的水平越高,又为检测技术、传感器技术提供了新的前提手段。目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等。目前的温度计中传感器是它的重要组成部分,它的精度灵敏度基本决定了温度计的精度、测量范围、控制范围和用途等。传感器应用极其广泛,目前已经研制出多种新型传感器。但是,作为应用系统设计人员需要根据系统要求选用适宜的传感器,并与自己设计的系统连接起来,从而构成性能优良的监控系统。第二章 研究的基本内容本设计是以AT89C2051单片机为核心器件,采用数字式温度传感器为检测器件,进行单点温度检测,温度显示采用位LED数码管显示,总体论述了设计的硬件连接方法和大概的思路,同时还概括了各个模块的工作原理和它们之间的关系。接着具体论述了本系统的硬件电路的各个部分,并对各个部分用到的器件和各个芯片在系统中的作用,做了详细的说明,然后给出了各个部分的具体工作过程和系统的整个工作过程。软件设计主要是根据在硬件电路中叙述的工作过程在软件中去实现,每部分软件都给出了具体和流程图和部分主要程序,并给出了详细的注释。最后给出了整个设计的硬件电路和具体的源程序。第三章 研究步骤、方法第一:在做设计之前首先要理解题目含义,对其可能涉及的内容和器件有初步的想法和认识。第二:大体规划出系统框架,提出系统结构图,并将系统分成若干部分,分别查询相关资料。第三:将各部分硬件电路按输入输出合理连接,并画出总体硬件电路图。第四:递交导师,作初步审查,看连接是否正确,能否实现各部分功能要求。第五:完成软件部分的设计,绘制出程序流程图。第六:最终确定系统能否实现设计初所提出的目的和要求。第二篇 系统原理的设计本数字温度计测量范围为-50110,精度误差在0.1以内,LED数码管直读显示。第一章 系统原理图的设计图1系统原理图数据采集A/D转换单片机信号处理动态显示报警设计的工作原理:通过温度传感集成芯片DS18B20采集温度,将温度信号(非电量)转换为电量(模拟信号)。由于温度传感集成芯片DS18B20本身具有A/D转换功能,所以DS18B20直接输出数字信号,此数字信号直接进入单片机AT89C2051。与温度设定值进行比较,若超过温度上限或低于温度下限将输出报警。测得的实际温度值通过LED数码管动态显示。按照系统设计功能的要求,确定系统由个部分4组成:主控制器、测温电路、显示电路、报警电路。数字温度计总体电路结构框图如图2所示。第二章 电路组成框图 按照系统设计功能的要求,确定系统有4个模块组成;主控制器、测温电路、显示电路和报警电路。因此数字温度计总体电路结构框图如图2。DS18B20AT89C2051主控制器显示电路扫描驱动图2 数字温度计电路结构框图报警电路第三篇 系统硬件设计本系统中使用的主要芯片和器件有AT89C2051、DS18B20温度传感器、LED数码管。第一章 主控制器单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用,系统可用二节电池供电。第一节AT89C2051概述AT89C2051是一个2k字节可编程EPROM的高性能微控制器。它与工业标准MCS-51的指令和引脚兼容,因而是一种功能强大的微控制器 它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案。AT89C2051有以下特点:2k字节EPROM、128字节RAM、15根I/O线、2个16位定时/计数器、5个向量二级中断结构、1个全双向的串行口、并且内含精密模拟比较器和片内振荡器,具有4.25V至5.5V的电压工作范围。同时还具有加密阵列的二级程序存储器加锁、掉电和时钟电路等。此外,AT89C2051还支持两种软件可选的电源节电方式。空闲时,CPU停止。而让RAM、定时/计数器、串行口和中断系统继续工作。可掉电保存RAM的内容,但可使振荡器停振以禁止芯片所有的其它功能直到下一次硬件复位。AT89C2051是精简版的51单片机,精简掉了P0口和P2口,只有20引脚,但其内部集成了一个很实用的模拟比较器,特别适合开发精简的51应用系统,很多时候我们开发简单的产品时用不了全部32个I/O口,所以用AT89C2051更适合,芯片体积更小,而且AT89C2051的工作电压最低为2.7V,因此可用来开发两节号电池供电的便携式产品。AT89C2051为20引脚小型封装,2K内部程序存储器,15个可编程I/O口线,没有P0口和P2口的16根I/O线。AT89C2051有二个16位计时计数器寄存器Timer0、Timer1。作为一个定时器,每个机器周期寄存器增加1,这样寄存器即可计数机器周期。因为一个机器周期有12个振荡器周期,所以计数率是振荡器频率的1/12。作为一个计数器,该寄存器在相应的外部输入脚P3.4/0和P3.5/r和1P3.5/r1上出现从1至0的变化时增1。由于需要两个机器周期来辨认一次1到0的变化,所以最大的计数率是振荡器频率的1/24,可以对外部的输入端p3.2INT0和P3.3INT1编程,便于测量脉冲宽度的门。充分利用AT89C2051的片内资源,即可在很少外围电路的情况下构成功能完善的超声波测距系统。 第二节 引脚功能图3 AT89C2051引脚图1) VCC:电源输入,接+5V电源2) GND:接地线3) XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。4) XTAL2:作为振荡器反相放大器的输出。5) RST:复位输入。RST一旦变成高电平,所有的I/O引脚就复位到“1”。 当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。6) P1口:8位准双向I/O口,P1.0P1.7,共8根。7) P3口:8位准双向I/O口,P3.0P3.7,共7根,如表1:表1 P3口功能表P3口引脚 功能 P3.0 RXD(串行输入端口) P3.1 TXD(串行输出端口) P3.2 INT0(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时器0外部输入) P3.5 T1(定时器1外部输入) 从上述引脚说明可看出,AT89C2051没有提供外部扩展存储器与I/O设备所需的地址、数据、控制信号,因此利用AT89C2051构成的单片机应用系统不能在AT89C2051之外扩展存储器或I/O设备,也即AT89C2051本身即构成了最小单片机系统。第三节 AT89C2051性能参数1) 与MCS-51产品指令系统完全兼容2) 2K字节可重擦写闪速存储器3) 1000次擦写周期4) 2.7V6V工作电压范围5) 全静态操作:0HZ24MHZ6) 两极加密程序存储器7) 1288字节内部RAM8) 15根可编程I/O引线9) 两个16为定时器/计数器10) 6个中断源11) 可编程串行UART通道12) 可直接驱动LED的输出断口13) 内置一个模拟比较器14) 低功耗空闲和掉电模式第二章 显示电路显示电路采用4位共阳LED数码管,从P1口输出断码,列扫描用P3.0P3.3口来实现,列驱动用9021三极管。第一节 LED数码LED显示器是由发光二极管显示字段的显示器件,也可称为数码管。其外形结构如图4(a)所示。它由8个发光二极管构成,通过不同的组合可显示09、AF及小数点“.”等字符。数码管通常有共阴极和共阳极两种接法,如图4(b)所示。图中电阻是外接的,一般共阳极数码管必须外接电阻,共阴极不一定外接电阻。共阴极数码管的发光二极管阴极须接低电平,当某发光二极管的阳极为高电平(一般为+5V)时,此二极管点亮;共阳极数码管的发光二极管是阳极接到高电平,对于需点亮的发光二极管使其阴极接低电平(一般为地)即可。要显示某字形应使此字形的相应字段点亮,即送一个用不同电平组合代表的数据至数码管。装入数码管中显示字形的数据称字形码。 (a) (b)图4 的外部结构及接法从要显示数字的BCD码转换成对应的段选码称为译码,译码既可用硬件实现,也可用软件实现。采用硬件译码时,微机输出的是显示数字的BCD码,微机与LED段选端间接口电路包括锁存器(锁存显示数字的BCD码)、译码器(将BCD码输入转换成段选码输出)、驱动器(驱动二极管发光)。采用软件译码时,只需要锁存器和驱动器。为使发光二极管正常发光,导通时电流IF=5-10mA为宜,管压降VF在2V左右。第二节 LED显示形式多位LED显示器有静态显示和动态显示两种形式。静态显示是各位同时显示,各位LED数码管的位选端应连在一起固定接地(共阴极时)或接+5V(共阳极时),每位数码管的段选端分别接一个8位锁存器/驱动器。动态显示就是逐位轮流显示,各位LED数码管的段选端应并接在一起,由同一个8位I/O口或锁存器控制,各位数码管的位选端分别由相应的I/O口或锁存器控制。第三章 传感器传感器是能感受规定的被测量并按照一定规律转换成可用输出信号的器件或装置,通常由敏感元件和转换元件组成。其中,敏感元件是指传感器中直接感受被测量的部分,转换元件是指传感器能将敏感元件的输出转换为适于传输的电信号部分。传感器输出信号有很多形式,如电压、电流、频率、脉冲等,输出信号的形式由传感器的原理确定。智能化传感器是一种带微处理器的传感器,它兼有检测、判断和信息处理功能。 进入21世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。第一节 传感器发展趋势提高测温精度和分辨力在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1。目前,国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是912位A/D转换器,分辨力一般可达0.50.625。由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,能输出13位二进制数据,其分辨力高达0.03125,测温精度为 0.2。为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。以AD7817型5通道智能温度传感器为例,它对本地传感器、每一路远程传感器的转换时间分别仅为27us、9us。增加测试功能新型智能温度传感器的测试功能也在不断增强。例如,DS1629型单线智能温度传感器增加了实时日历时钟,使其功能更加完善。DS1624还增加了存储功能,利用芯片内部256字节的存储器,可存储用户的短信息。另外,智能温度传感器正从单通道向多通道的方向发展,这就为研制和开发多路温度测控系统创造了良好条件。智能温度传感器都具有多种工作模式可供选择,主要包括单次转换模式、连续转换模式、待机模式,有的还增加了低温极限扩展模式,操作非常简便。对某些智能温度传感器而言,主机还可通过相应的寄存器来设定其A/D转换速率,分辨力及最大转换时间智能温度控制器是在智能温度传感器的基础上发展而成的。典型产品有DS1620、DS1623、TCN57、LM76、MAX6625。智能温度控制器适配各种微控制器,构成智能化温控系统;它们还可以脱离微控制器单独工作,自行构成一个温控仪。总线技术的标准化与规范化目前,智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有单线总线、总线、SMBus总线和spI总线。可靠性及安全性设计传统的A/D转换器大多采用积分式或逐次比较式转换技术,其噪声容限低,抑制混叠噪声及量化噪声的能力比较差。新型智能温度传感器普遍采用了高性能的-式A/D转换器,它能以很高的采样速率和很低的采样分辨力将模拟信号转换成数字信号,再利用过采样、噪声整形和数字滤波技术,来提高有效分辨力。-式A/D转换器不仅能滤除量化噪声,而且对外围元件的精度要求低。为了避免在温控系统受到噪声干扰时产生误动作,在AD7416等智能温度传感器的内部,都设置了一个可编程的计数器,专用于设定允许被测温度值超过上、下限的次数。仅当被测温度连续超过上限或低于下限的次数达到或超过所设定的次数时,才能触发中断端。若故障次数不满足上述条件或故障不是连续发生的,故障计数器就复位而不会触发中断端。那么偶然受到一次或两次噪声干扰,都不会影响温控系统的正常工作。最新开发的智能温度传感器还增加了传感器故障检测功能,能自动检测外部晶体管温度传感器的开路或短路故障。MAX6654还具有选择“寄生阻抗抵消”模式,能抵消远程传感器引线阻抗所引起的测温误差,即使引线阻抗达到100欧姆,也不会影响测量精度。远程传感器引线可采用普通双绞线或者带屏蔽层的双绞线。第二节 智能传感器的特点(1)精度高智能传感器有多项功能来保证它的高精度,如:通过自动校零去除零点;与标准参考基准实时对比以自动进行整体系统标定;自动进行整体系统的非线性等系统误差的校正;通过对采集的大量数据进行统计处理以消除偶然误差的影响等等。从而保证了智能传感器的高精度。(2)高可靠性与高稳定性智能传感器能自动补偿因工作条件与环境参数发生变化后引起的系统特性的漂移,如:温度变化而产生的零点和灵敏度的漂移;在当被测参数发生变化后能自动改换量程;能实时自动进行系统的自我检测,分析、判断所采集到数据的合理性,并给出异常情况的应急处理(报警或故障提示)。因此,有多项功能保证了职能传感器的高可靠性与高稳定性。(3)高信噪比与高分辨率由于智能传感器具有数据存储、记忆与信息处理功能,通过软件进行数字滤波、相关分析等处理,可以去除输入数据中的噪声,将有用信号提取出来;通过数据融合、神经网络技术,可以消除多参数状态下交叉灵敏度的影响,从而保证在多参数状态下对特定参数测量的分辨率,故智能传感器具有高的信噪比与高的分辨率。(4)自适应性能智能传感器所具有的的上述性能,不是像传统传感器技术追求传感器本身的完善、对传感器的各个环节进行精心设计与调试、进行“手工艺品”的精雕细琢来获得,而是通过与微处理器/微计算机结合,采用廉价的集成电路工艺和芯片以及强大的软件来实现,所以具有低的价格的性能比。由此可见,智能化设计是传感器传统设计中的一次革命,是世界传感器的发展趋势。作为商品,在80年代初期有美国霍尼韦尔公司的压阻式ST3000型压力智能变送器,后有用于现场总线控制系统中的智能传感/变送器,如,美国SMAR公司生产LD320系列电容式智能压力变送器;美国罗斯蒙特公司生产的电容式智能压力变送器系列;日本横河电气株式会社生产的谐振式EJA型智能压力变送器。此外,世界各国正在利用计算机和智能技术研究、开发各种其他类型的职能传感/变送器,如智能气体传感器。第三节 智能传感器的分类按照温度传感器输出信号的模式,可大致划分为三大类:数字式温度传感器、逻辑输出温度传感器、模拟式温度传感器。模拟式温度传感器传统的模拟温度传感器,如热电偶、热敏电阻和RTDS对温度的监控,在一些温度范围内线性不好,需要进行冷端补偿或引线补偿;热惯性大,响应时间慢。集成模拟温度传感器与之相比,具有灵敏度高、线性度好、响应速度快等优点,而且它还将驱动电路、信号处理电路以及必要的逻辑控制电路集成在单片IC上,有实际尺寸小、使用方便等优点。逻辑输出温度传感器在许多应用中,我们并不需要严格测量温度值,只关心温度是否超出了一个设定范围,一旦温度超出所规定的范围,则发出报警信号,启动或关闭风扇、空调、加热器或其它控制设备,此时可选用逻辑输出式温度传感器。数字式温度传感器如果采用数字式接口的温度传感器,上述设计问题将得到简化。同样当和A/D微处理器的I/O口管脚短缺时,采用时间或频率输出的温度传感器也能解决。第四节 DS18B20温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。引脚介绍DS18B20采用脚或(8脚)封装,如图5所示。其中,VCC和GND是电源和接地引脚,DQ是数据线引脚。从图中看到,DS18B20以串行通信的方式与微控制进行数据通信,读出或写入数据仅需要一根I/O口接口线。图5 S18B2O引脚图DS18B20的性能特点1)独特的单线接口仅需要一个端口引脚进行通信;2)多个DS18B20可以并联在惟一的三线上,实现多点组网功能;3)无须外部器件;4)低电压供电,电源范围为从3.05.5;也可以通过数据线供电;5)零待机功耗;6)温度以9或12位数字量读出;7)用户可定义的非易失性温度报警设置;8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9)负电压特性,电源极性接反时,温度计不会因为发热而烧毁,但不能正常工作;10)DS18B20的分辨率可由用户通过EEROM设置为912位;11)DS18B20可检测到温度值直接转化成数字量,并通过串行通信的方式与主控制器进行数据通信。DS18B20内部结构DS18B20采用3脚PR-35封装或8脚SOIC封装,该器件将半导体温敏器件,A/D转换器、存储器等做在一个很小的集成电路芯片上,传感器直接输出的就是温度信号数值。一条总线上可以挂若干个温度传感器,每个传感器有一个唯一的地址编码。微控制器通过对器件的寻址,就可以读出某一个传感器温度值,从而简化了信号采集系统的电路结构。其内部机构框图如图6所示。 64位ROM和单线接口存储器与控制逻辑高速缓存温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器I/OVDD图6 DS18B20内部结构64位ROM的位结构如图7所示。开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可采用一线进行通信的原因由于64位ROM码具有唯一性,在使用时作为该器件的地址,通过ROM可以将它读出来。非易失性温度报警触发器TH和TL,可通过软件写入户报警上下限。8位检验CRC48位序列号8位工厂代码(10H)MSB LSB MSB LSB MSB LSB图7 64位ROM结构图DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个易失性的可电擦除的EERAM。高速暂存RAM的结构为8个字节的存储器。结构如图8所示。头62个字节包含测得的温度信息,第3和第4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如图9所示。低5位一直为1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,即用来设置分辨率。温度LSB 温度MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC1字节2字节3字节4字节5字节6字节7字节8字节9字节TH用户字节1TL用户字节2EEROM图8高速暂存RAM结构图TMR1R011 111 图9配置寄存器 表2 DS18B20分辨率的定义规定R1R0分辨率/位温度最大转换时间/ms00 9 93.7501 10 187.510 11 37511 12 750由表2可见,DS18B20温度转换的时间比较长,而且设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中将要分辨率和转换时间权衡考虑。高速暂存器RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625/LSB形式表示。温度值格表如10图所示。当符号位S=0时,表示测得的温度值为正值,可以直接将二进制转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制值,要先将补码变成原码,再计算十进制值。表3是一部分温度值对应的二进制温度数据。232221202-12-22-32-4LS字节 SSSSS262524MS字节图10温度数据值格式 表3 DS18B20温度与测得值对应表 温度/二进制表示十六进制表示 +12500000111 1101000007D0H +8500000101 010100000550H +25.062500000001 100100010191H +10.12500000000 1010001000A2H +0.500000000 000010000008H 000000000 000000000000H -0.511111111 11111000FFF8H-10.12511111111 01011110FF5EH-25.062511111110 01101111FF6FH-5511111100 10010000FC90HDS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若TTH或TTH,则将该器件内报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机根据ROM的前56位来计算CRC值,并和存入DS18B20的CRC值比较,以判断主机收到的ROM数据是否正确。温度传感器工作原理DS18B20的测温原理如图11所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的一个基数分别置入减法计数器1、温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。图11测温原理图 DS18B20预置斜率累加器减法计数器低温度系数振荡器减到0高温度系数振荡器减法计数器2减到0温度寄存器 预置计数比较器减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值就是所测温度值。图中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直到温度寄存器值达到被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。DS18B20与单片机的接口电路DS18B20可以采用连种方式供电,一种是采用电源供电方式,此时DS18B20的脚接地,脚作为信号线,脚接电源。另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFE管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时和GNI端均接地。由于单线制只有一根线,因此发送接口必须是三态的。第四篇 系统程序的设计第一章 主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1S进行一次。其程序流程图见图12。NYYN初始化调用显示子程序1s到?初次上电?读出温度值温度计算处理显示数据刷新发温度转换开始命令 图12 DS18B20温度计主程序流程图第二章 读出温度子程序读出温度子程序的主要功能是读出RAM 中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图13所示。YNYN发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正确?移入温度暂存器结束 图13 读出温度子程序流程图第三章 温度转换命令子程序温度转换子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750us,在本程序设计中采用1s显示程序岩石法等待转换的完成。温度转换命令子程序流程图如图14所示发跳过ROM命令发温度转换开始命令结束发DS18B20复位命令图14 温度转换命令子程序流程图第四章 计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图15所示YYNY开始温度零下?温度值取补码置“1”标志置“+”标志大于110oC小于-50oC计算小数位温度BCD值计算整数位温度BCD值结束报警NN图15计算温度子程序流程第五章 显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图16所示YNYN温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据 (不显示符号)结束图16显示数据刷新子程序流程图第六章 DS18B20的各个ROM命令1) READ ROM 33H这个命令允许总线控制器读到DS18B20的8位系列编码、惟一的序列号和8位CRC码。只有在总线上存在单只DS18B20的时候才能使用这个命令。如果总线上不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极开路连在一起形成相“与”的效果)。2) MATCH ROM 55H这个是匹配ROM指令,后跟64位ROM序列,让总线控制器在多点总线上定位一只特定的DS18B20。只有和64位ROM序列完全匹配的DS18B20才能响应随后的存储器操作。所有和64位ROM序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用。3) SKIP ROM0CCH这条命令允许总线控制器不用提供64位ROM编码就使用存储器操作命令,在单线总线情况下,可以节省时间。如果总线上不止一个从机,在SKIP ROM命令之后跟着发一条读命令,由于多个从机同时传送信号。4) SEARCH ROM0F0Ha) ALARM SEARCH0ECHb) WRITE SCRATCHPAD4EHc) READ SCRATCHPAD0BEH2) COPY SCRATCHPAD48H3) CONVERT T44H4) RECALL E20B8H5) READ POWER SUPPLY0B4H第七章 温度数据的计算处理方法从DS18B20读取出的二进制值必须先转换成十进制值,才能用于字符的显示。因为DS18B20的转换精度为912位可选的,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。通过观察表2可以发现一个十进制值和二进制值之间有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一个字节,这个字节的二进制值化为十进制值后,就是温度值的百、十、个位值,而剩下的低字节的低半字节化成十进制后,就是温度值的小数部分。小数部分因为是半个字节,所以二进制值的范围是0F,转换成十进制小数值就是0.0625的倍数(015倍)。这样需要4位的数码管来显示小数部分,实际应用不必要有这么高的精度,采用1位数码管来现实小数,可以精确到0.1。表4就是二进制和十进制的近似对应关系表。表4 小数部分二进制和十进制的近似对应关系表小数部分二进制值0123456789ABCDEF十进制值0011233455667889第五篇 调试及性能分析系统的调试以程序为主。硬件调试比较简单,首先检查电路的焊接是否正确,然后可用万用表测试或通电检测。软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、显示数据刷新等子程序的编程及调试,由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读写编程时必须严格地保证读写程序,否则将无法读取测量结果。本程序采用单片机汇编编写,用wave3.2编译器编程调试。软件调试到能显示温度值,而且在有温度变化时(例如用手去接触)显示温度能改变就基本完成。性能测试可用制作的温度计和已有的成品温度计来同时测量比较,由于DS18B20的精度很高,所以误差指标可以限制在0.1以内,另外-55+125的测温范围使得该温度计完全适合一般的应用场合,其低电压供电特性可做成用电池供电的手持电子温度计。DS18B20温度计还可以在高低温报警、远距离多点测温控制等方面进行应用开发,但在实际设计中应注意以下问题:DS18B20工作时电流高达1.5ms,总线上挂接点数较多且同时进行转换时,要考虑增加总线驱动,可用单片机端口在温度转换时导通一个MOSFET供电。连接DS18B20的总线电缆是有长度限制的,因此在用DS18B20进行长距离测温系统设计时,要充分考虑总线分布电容和阻抗匹配等问题。在DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时要给予一定的重视。太原理工大学阳泉学院-毕业设计说明书结 论数字式温度检测系统是致力于为使用者提供一个充分自动检测的系统,实现温度检测的系统化、规范化和自动化。运用集成温度传感器,通过本身自带的A/D转换功能对检测到的数据进行采集转换,由AT89C2051单片机对采集到的数据信号进行分析比较,输出信号由LED数码管显示。该系统的硬件包含以下几个部分:数据采集部分、主控制部分、显示部分。由于本人设计经验不足,对一些知识的欠缺,本设计还存在一些问题和不足之处。本设计对实际温度高于上限或低于下限自动报警,但对于设定温度值的设定有所欠缺,应加设键盘输入设定值为好。这是本设计的不足之处,对于工作要求较高的场合,应采用更高控制精度的单片机为好。本设计的软件部分设计的不是很理想,各个子程序之间的编写、配合仍有很大的不足,需进一步研究和改进。太原理工大学阳泉学院-毕业设计说明书附 录控制源程序清单常数定义 TIMEL EQU 0E0H ;20ms,定时器0时间常数TIMEH EQU 0B1HTEMPHEAD EQU 36H工作内存定义BITST DATA 20H TIME1SOK BIT BITST.1TEMPONEOK BIT BITST.2TEMPL DATA 26HTEMPH DATA 27HTEMPHC DAT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5级考试题及答案
- 2025年广州市花都区狮岭镇芙蓉初级中学教师招聘考试笔试试题(含答案)
- 北京知识产权贯标培训课件
- 2025年佛山市南海区狮山镇英才学校教师招聘考试笔试试题(含答案)
- 医务人员营养培训考核试题(附答案)
- 2024贵州省社区《网格员》备考题汇编(含答案)
- 药品及医疗器械冷链操作培训试题测试题库含答案
- 导游业务综合测试题(含答案)
- 2025年XX市妇联普法知识竞赛题库及答案
- 2025年二级注册结构工程师模拟题和答案分析
- (完整版)八年级上物理思维导图
- 2022级数字媒体技术应用专业人才培养方案(中职)
- 外墙保温及真石漆施工方案
- 北京市《配电室安全管理规范》(DB11T 527-2021)地方标准
- XX县中小学校食堂管理试卷
- 多选题1-500题附有答案
- 2024年广东省佛山市投资促进中心招聘历年【重点基础提升】模拟试题(共500题)附带答案详解
- 快递驿站转让协议范本合同范本
- 湖北省武汉市武昌区2023-2024学年高二下学期6月期末考试数学试题
- 绒绣的教案完整版本
- 绿盟科技2023年4月合作伙伴NSSP-Service认证附有答案
评论
0/150
提交评论