2022年河南理工大学多机温度检测系统设计方案_ .pdf
《2022年河南理工大学多机温度检测系统设计方案_ .pdf》由会员分享,可在线阅读,更多相关《2022年河南理工大学多机温度检测系统设计方案_ .pdf(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、河南理工大学单片机应用与仿真训练设计报告题目:多机温度检测系统设计姓名:卢超学号: 3212080103xx 专业班级:电气本12-03 指导老师:王莉所在学院: 电气工程与自动化学院2013年 05月 20日精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 30 页摘要在生产生活中,温度是一个很重要的量,所以温度检测是不可缺少的。在单片机的应用中,一个很重要的应用就是对温度进行检测。本设计首先介绍温度测量的相关知识,接着介绍实现温度检测所必须的器件,并且给出硬件的原理图,然后逐步分析程序的各个主要模块以及程序的全貌,最后将总结一下本设计
2、的技巧。本设计是以 AT89S52 单片机为控制核心,利用新型一线制温度传感器 DS18B20 测量温度值,实现环境温度的检测和报警。系统测温范围为-40+85,测量精度为 0.5 。用户可以自定义报警上、下限,一旦温度超过极限值,单片机便启动声光报警。该系统精度高、测温范围广、报警及时,可广泛应用于基于单片机的测温报警场合。系统抗干扰性强、设计灵活方便,适合在恶劣的环境下进行温度测量。系统硬件电路包括传感器数据采集、温度显示、模式选择、上、下限报警主电路等。整个装置的控制核心是 AT89S52 单片机。温度传感器 DS18B20采用外部电源供电,传感器输出引脚直接和单片机相连。电路支持模式选
3、择功能,可以选择设定报警极限值或显示当前温度值。当被测温度越限时,报警主电路产生声光报警。拨动开关可以对设定报警极限值进行写保护。采用2 片单片机,组成多机温度检测系统;下位单片机采集温度,通过串行通信传送至上位单片机;上位单片机用数码管显示温度大小;基本范围0100;精度误差小于0.5 ;可以任意设定温度的上下限报警功能关 键 字 : AT89S52; DS18B20 温 度 传 感 器 ; 数 码 管 ; 测 温 报 警精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 30 页目录摘要 2 1.概述41 系统概述42 系统方案设计52
4、.1主控制部分设计52.2 传感器部分设计63 系统总体方案及硬件设计143.1 AT89S52单片机的最小相系统143.2 DS18B20的 I/O 接线图153.3 数据显示部分153.4 整体电路154 软件设计154.1 概述154.2 主程序方案164.3 DS18B20的相处理子程序164.4 各模块工作流程图175 Proteus软件仿真276 课程设计技巧总结297 参考文献30精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 30 页1. 概述1.1 设计应用背景在现代社会,不管是在工农业生产还是在人们的日常生活中,对温
5、度的测量及控制都扮演着很重要的角色。首先让我们了解一下多点温度检测系统在各个方面的应用领域:电力、电讯设备之过热故障预知检测,空调系统的温度检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热测。温度检测系统应用十分广阔。单片机的产生,使计算机正式形成了通用计算机系统和嵌入式计算机系统的分支。温度检测系统的应用遍布社会生活的各个层面。1.2 系统概述本设计运用主从分布式思想,由上位机,下位机多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统采用 RS-232 串行通讯标准,通过上位机控制下位机进行现场温度采集。温度值由下位机单独工作,实时显示当前各点的温度
6、值,对各点进行控制。上位机采用的是单片机基于数字温度传感器DS18B20的系统。 DS18B20 利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、 A/D 转换及相应的接口电路,才能把传感器输出的模拟信号
7、转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元的设计。温度传感器应用范围广泛、使用数量庞精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 30 页大,也高居各类传感器之首。2 系统方案设计2.1 主控制部分设计此设计采用AT89S52八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安
8、装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信. 运用主从分布式思想,由一台上位机,下位机多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统 , 实现远程控制。另外AT89S52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟2.1.1 对 STC功能的认识AT89S52是一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编程Flash 存储器。 89C51 产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位 CPU 和在系统可编程Flash ,使得 AT89S52为众多嵌
9、入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k 字节 Flash ,256 字节 RAM ,32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个16 位定时器 / 计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,可降至 0Hz 静态逻辑操作,支持2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM 、定时器 / 计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。精选学习资料 - - - - - - - - - 名师归纳总结 -
10、- - - - - -第 5 页,共 30 页图 1 AT89S52 2.2 传感器部分设计该设计采用温度芯片DS18B20作为传感器测量温度。在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100 摄氏度时,最大线形偏差小于1 摄氏度。 DS18B20的最大特点之一采用了单总线的数据传
11、输,由数字温度计DS18B20 和微控制器 AT89S52构成的温度测量装置 ,它直接输出温度的数字信号, 可直接与计算机连接。这样, 测温系统的结构就比较简单 , 体积也不大 , 且由于 AT89S52可以带多个DSB18B20, 因此可以非常容易实现多点测量 . 轻松的组建传感器网络。采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋精选学习资料 - - - - - -
12、 - - - 名师归纳总结 - - - - - - -第 6 页,共 30 页势。综上所述 , 温度传感器以及主控部分都采用第二方案。系统采用针对传统温度测温系统测温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想。设计一种可以用于大规模多点温度测量的巡回检测系统。该系统采用的是RS-232串行通讯的标准,通过上位机进行现场的温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据处理,具有巡检速度快,扩展性好,成本低的特点。2.2.1 温度传感器 DS18B20 介绍在本设计中使用的温度传感器是DS18B20,下面对DS18B20 做简单的介绍。如图 1 所示, DS1
13、8B20 一线式数字温度传感器,由DS18B20 的外观图可见,它有3 个管脚TO92 小体积封装形式,脚GND 接地,脚DQ 是一线总线,是数字信号输入输出端,和单片机相连接,由单片机控制,管脚VDD是电源,外接供电电源。测温分辨率可达0.0625,被测温度用符号扩展的16 位数字量方式串行输出。其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU 只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口少,可节省大量的引线和逻辑电路。DS18B20 的主要特性适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。独特的单线接口方式,DS18B20 在与微
14、处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。DS18B20 支持多点组网功能,多个DS18B20 可以并联在唯一的三线上,实现组网多点测温。DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。温范围 55 125,在 -10+85时精度为 0.5。可编程的分辨率为9 12 位,对应的可分辨温度分别为0.5、 0.25、 0.125和0.0625,可实现高精度测温。在 9 位分辨率时最多在93.75ms 内把温度转换为数字,12 位分辨率时最多在750ms内把温度值转换为数字,速度更快。DS18B20 的外观图精选学习
15、资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 30 页图 1 DS18B20的外观图 DS18B20内部结构主要由四部分组成:64 位光刻 ROM 、温度传感器、非挥发的温度报警触发器TH 和 TL、配置寄存器。 DS18B20的外形及管脚排列如上图。 DS18B20引脚定义:DQ为数字信号输入/输出端;GND为电源地;VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。图 2: DS18B20内部结构图DS18B20 有 4 个主要的数据部件:光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序
16、列码。 64 位光刻 ROM 的排列是:开始8 位(28H )是产品类型标号,接着的 48 位是该 DS18B20自身的序列号,最后8 位是前面 56 位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻 ROM 的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20 的目的。DS18B20中的温度传感器可完成对温度的测量,以12 位转化为例:用16 位符号扩展的二进制补码读数形式提供,以0.0625/LSB 形式表达,其中 S为符号位。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 30 页表 1
17、: DS18B20 温度值格式表这是 12 位转化后得到的12 位数据,存储在18B20的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于0,这 5 位为 1,测到的数值需要取反加1 再乘于 0.0625 即可得到实际温度。表 2: DS18B20 温度数据表例如 +125的数字输出为07D0H(0 x7D) ,+25.0625的数字输出为0191H,-25.0625的数字输出为 FE6FH ,-55的数字输出为 FC90H 。DS18B20 温度传感器的存储器DS18B20
18、温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的 EEPRAM, 后者存放高温度和低温度触发器TH 、TL 和结构寄存器。配置寄存器该字节各位的意义如下:表 3: 配置寄存器结构精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 30 页TM R1 R0 1 1 1 1 1 低五位一直都是 1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在 DS18B20 出厂时该位被设置为0,用户不要去改动。 R1和 R0用来设置分辨率,如下表所示:(DS18B20 出厂时被设置为 12 位)表 4: 温度分
19、辨率设置表R1 R0 分辨率温度最大转换时间0 0 9 位93.75ms 0 1 10 位187.5ms 1 0 11 位375ms 1 1 12 位750ms 高速暂存存储器高速暂存存储器由9 个字节组成,其分配如表5 所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0 和第 1 个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1 所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当 S =1 时,先将补码变为原码,再计算十进制值。表2 是对应的一部分温度值。第九个字节是冗余检验字节。表 5: DS18B2
20、0暂存寄存器分布寄存器内容字节地址温度值低位(LS Byte )0 温度值高位(MS Byte)1 高温限值( TH )2 低温限值( TL)3 配置寄存器4 保留5 保留6 保留7 CRC 校验值8 根据 DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 30 页须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500 微秒,然后释放
21、,当 DS18B20收到信号后等待 1660 微秒左右后发出 60240 微秒的存在低脉冲,主CPU 收到此信号表示复位成功。表 6: ROM 指令表指 令约 定代码功 能读 ROM 33H 读 DS1820温度传感器 ROM 中的编码(即 64 位地址)符合 ROM 55H 发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。搜索 ROM 0FOH 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM 0CCH 忽略 64 位 ROM
22、地址,直接向 DS1820发温度变换命令。适用于单片工作。告警搜索命令0ECH 执行后只有温度超过设定值上限或下限的片子才做出响应。表 7: RAM指令表指 令约定代码功 能温 度 变换44H 启动DS1820进行温度转换,12 位转换时最长为750ms (9 位为 93.75ms)。结果存入内部9字节 RAM 中读 暂 存器0BEH 读内部 RAM 中 9 字节的内容写 暂 存器4EH 发出向内部RAM的 3、4 字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复 制 暂存器48H 将 RAM 中第 3 、4 字节的内容复制到EEPROM中。精选学习资料 - - - - -
23、- - - - 名师归纳总结 - - - - - - -第 11 页,共 30 页重调EEPROM 0B8H 将 EEPROM中内容恢复到 RAM 中的第 3 、4 字节。读 供 电方式0B4H 读 DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1”DS18B20 工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为 750ms 。 DS18B20测温原理如图3 所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系
24、数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2 的脉冲输入。计数器1 和温度寄存器被预置在 55所对应的一个基数值。计数器1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1 的预置值减到0 时,温度寄存器的值将加1,计数器 1 的预置将重新被装入,计数器1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1 的预置值。2.2.2 DS18B20 温度检测DS18B20连接从机的 P1.6 对温度进行检测。
25、 DS18B20采用寄生电源供电方式,如下图所示。单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET 管来完成对总线的上拉。当DS18B20 处于写存储器操作和温度A/D 转化操作时,总线上必须有强的上拉,上拉开启时间最长为 500ms 。采用寄生电源供电方式时,VDD和 GND 端均接地。由于单线制只有一根线,因此发送接口必须是三态的。对 DS18B20 的设计,需要注意以下问题(1)对硬件结构简单的单线数字温度传感器DS18B20 进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年河南理工大学多机温度检测系统设计方案_ 2022 河南 理工大学 温度 检测 系统 设计方案
限制150内