数字温度计报警系统(附加完整代码)(共28页).doc
《数字温度计报警系统(附加完整代码)(共28页).doc》由会员分享,可在线阅读,更多相关《数字温度计报警系统(附加完整代码)(共28页).doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上1. 绪论目前,单片机已经在测控领域中获得了广泛的应用,它除了可以测量电信以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。单片机是一种特殊的计算机,它是在一块半导体的芯片上集成了CPU,存储器,RAM,ROM,及输入与输出接口电路,这种芯片称为:单片机。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便的优点,使它迅速的得到了推广应用,目前已成为测量控制系统中的优选机种和新电子产品中的关键部件。单片机已不仅仅局限于小系统的概念,现已广泛应用于家
2、用电器,机电产品,办公自动化用品,机器人,儿童玩具,航天器等领域。本次课程设计,就是用单片机实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于51单片机的数字温度计的设计。传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点而下面利用集成温度传感器AD590设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。 该数字温度计利用AD590集成温度传感器及其接口电路完成温度的测量并转换
3、成模拟电压信号,经由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D4、D3、D2、D1共4位七段码LED显示器上。系统以AT89C51单片机为控制核心,加上AD590测温电路、ADC模数转换电路、4位温度数据显示电路以及外围电源、时钟电路等组成。2. 设计任务及要求2.1 设计任务现代社会生活中,多功能的数字温度计可以给我们的生活带来很大的方便;支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本;以美国MAXIM/DALLAS半导体公司的单总线温度传感器DS18B20为核心,以ATMEL公司的AT89S5
4、2为控制器设计的DS18B20温度控制器结构简单、测温准确、具有一定控制功能的智能温度控制器。此次课程设计,就是用单片机1实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于51单片机的数字温度计的设计。该数字温度计将外界的模拟信号转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D6 ,D5,D4、D3、D2、D1共8位七段码LED显示器上。系统以AT89C51单片机为控制核心,加上 6位温度数据显
5、示电路以及外围电源、时钟电路等组成。2.2 设计要求设计一个基于单片机的DS18B20数字温度计。课程设计要求:(1)5V供电;(2)温度采集采用DS18B20;(3)6位LED显示;(4)4个按键,分别是显示当前温度,显示报警温度,报警温度加一,报警温度减一;(5)当温度达到报警温度值时,蜂鸣器进行报警;(6)设计温度控制器原理图;(7)学习用PROTEL画出该原理图;设计和绘制软件流程图,用C语言进行程序编写;焊接硬件电路,进行调试。3.总体设计方案及器件分析3.1 设计总体方案提及到温度的检测,我们首先会考虑传统的测温元件有热电偶和热电阻,而热电偶和热电阻测出的一般都是电压,再转换成对应
6、的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试也复杂,制作成本高。因此,本数字温度计设计采用智能温度传感器DS18B20作为检测元件,测温范围为-55C至+125C,最大分辨率可达0.0625C。DS18B20可以直接读出被测量的温度值,而采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。按照系统设计功能的要求,确定系统由三个模块组成:主控制器STC89C51,温度传感器DS18B20,驱动显示电路,报警电路,复位电路以及按键输入电路。总体电路框如下图3.1所示:图3.1 总体电路框图3.2 单片机AT89S52 由于已经学过单片机课程,这里对该单片机只作简单介
7、绍。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时
8、钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52 3.3 温度传感器DS18B20DALLAS 最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线”接口的温度传感器。
9、温度测量范围为-55+125 摄氏度,可编程为9位12 位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20 的性能特点如下:1.独特的单线接口方式,DS18B20在与
10、微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯2.DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温3.DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内4.适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电5.温范围55125,在-10+85时精度为0.56.零待机功耗7.可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温以上特点使DS18B20非常适用与多点、远距离温度检测系统。DS18B20内部结构
11、主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式如图 3.2所示,DQ 为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。其电路图 3.3所示.。 图 3.2 外部封装形式 图3.3传感器电路图3.3.1 DS18B20注意事项DS18B20 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:1.DS18B20 从测温结束到将温度值转换成数字量需
12、要一定的转换时间,这是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。2.在实际使用中发现,应使电源电压保持在5V 左右,若电源电压过低,会使所测得的温度精度降低。3.效果。在使用PL/M、C等高级语言进行的硬件开销需要相对复杂的软件进行补偿.3.3.2 DS18B20 内部结图为DS1820的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。DS18B20采用3脚PR35 封装或8脚SOIC封装,其内部结构框
13、图如图 3.4所示图 3.4 DS18B20内部结构框图64 b闪速ROM的结构如下:开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后8位是前面56 位的CRC 检验码,这也是多个DS18B20 可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。主机操作ROM的命令有五种,如表3.1所列表3.1指 令说 明读ROM(33H)读DS1820的序列号匹配ROM(55H)继读完64位序列号的一个命令,用于多个DS1820时定位跳过ROM(CCH)此命令执行后的存储器操作将针对在线的所有DS1820搜ROM(F0H)识别总线上各器件的编码,为操作
14、各器件作好准备报警搜索(ECH)仅温度越限的器件对此命令作出响应 DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图3.5所示。 图 3.5 高速暂存RAM结构图前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。温度低位温度高位THTL配置保留保留保留8位CRCLSB MSB当DS18B20接收到温度转换命令后,开始启动转换。转换完
15、成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.062 5 /LSB形式表示。温度值格式如下:这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。图中,S表示位。对应的温度计算:当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得的温
16、度植为负值,先将补码变换为原码,再计算十进制值。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以0.0625LSB形式表示。表3.2是部分温度值对应的二进制温度表示数据。表3.2 部分温度值温度/二进制表示十六进制表示+12507D0H+25.06250191H+0.50008H00000H-0.5FFF8H-25.0625FE6FH-55FC90HDS18B20完成温度转换后,就把测得的温度值与R
17、AM中的TH、TL字节内容作比较,若TTH或TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行告警搜索。在64位ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前 56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数 据是否正确。3.3.3 DS18B20测温原理DS18B20的测温原理如图3.6所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入
18、,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器 1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图2中的斜率累
19、加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。图3.6 DS18B20测温原理图在正常测温情况下,DS1820的测温分辨力为0.5,可采用下述方法获得高分辨率的温度测量结果:首先用DS1820提供的读暂存器指令(BEH)读出以0.5为分辨率的温度测量结
20、果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz,然后再用BEH指令取计数器1的计数剩余值Cs和每度计数值CD。考虑到DS1820测量温度的整数部分以0.25、0.75为进位界限的关系,实际温度Ts可用下式计算: 4.数字温度计的硬件设计温度计电路设计原理图如附录一所示,控制器使用单片机AT89S52,温度计传感器使用DS18B20,用液晶实现温度显示。本温度计大体分三个工作过程。首先,由温度传感器芯片测量当前的温度,并将结果送入单片机。然后,通过AT89S52单片机芯片对送来的测量温度读数进行计算和转换,井将此结果送入液晶显示模块。最后,数码管显示温度数据。由图1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 温度计 报警 系统 附加 完整 代码 28
限制150内