《多机温度通信》由会员分享,可在线阅读,更多相关《多机温度通信(35页珍藏版)》请在金锄头文库上搜索。
1、单片机课程设计河南理工大学单片机应用与仿真训练设计报告多机温度检测系统设计姓 名: 宁凯文 学 号: 31110800* 专业班级: 光电11-01 指导老师: 刘巍 所在学院: 电气工程与自动化学院 2013年12月20日12摘要本设计是以STC89C52单片机为控制核心,利用新型一线制温度传感器 DS18B20测量温度值,实现环境温度的检测和报警。系统测量的温度范围为 0.099.9,测量精度为 0.5。用户可以自定义报警上、下限,一旦温度超过极限值,单片机便启动声光报警。该系统精度高、测温范围广、报警及时,可广泛应用于基于单片机的测温报警场合。系统抗干扰性强、设计灵活方便,适合在恶劣的环
2、境下进行温度测量。系统硬件电路包括传感器数据采集、温度显示、报警温度设定、上下限报警主电路等。整个装置的控制核心是 STC89C52单片机。温度传感器 DS18B20采用外部电源供电,传感器输出引脚直接和单片机相连。电路支持温度极限值查询功能,可以通过相关按键查询当前温度极限值。当被测温度越限时,报警主电路产生声光报警,同时主机向从机发送报警命令使从机报警。采用3片单片机,组成多机温度检测系统;下位单片机采集温度并用数码管显示当前温度值,通过串行通信传送至上位单片机;上位单片机用数码管显示温度大小和从机地址;基本范围0.099.9;精度误差小于0.5;可以任意设定温度的上下限报警功能关键字:S
3、TC89C52;DS18B20温度传感器;数码管;测温报警目录摘要2目录31.概述41.1课题背景41.2 系统概述42 系统方案设计52.1主控制部分设计52.2 传感器部分设计63 系统总体方案及硬件设计113.1 AT89S52单片机的最小相系统113.2 DS18B20的I/O接线图113.3 数据显示部分123.4整体电路124 软件设计134.1 概述134.2 主程序方案134.3 DS18B20的相处理子程序144.4 各模块工作流程图155 课程设计体会186 参考文献181. 概述1.1课题背景在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。首先让我们了解
4、一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热检测。温度检测系统应用十分广阔。1.2 系统概述本设计运用主从分布式思想,由上位机,下位机多机温度数据采集,组成两级分布式多机温度测量的巡回检测系统。该系统采用 RS-232串行通讯标准,通过上位机控制下位机进行现场温度采集,并实时显示当前各点的温度值。下位机采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松
5、的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D 转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统
6、的稳定性和可靠性下降 。所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元的设计。温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。2 系统方案设计2.1主控制部分设计方案一:此方案采用PC机实现。它可在线编程,可在线仿真的功能,这让调试变得方便。且人机交互友好。但是PC机输出信号不能直接与DS18B20通信。需要通过RS232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便。而且在一些环境比较恶劣的场合,PC机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦!方案二:此方案采用STC89C52八位单片机实现。单片机软件编程的自由度大,可通过编程实现各
7、种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想,可由一台上位机,多个下位机组成多机温度数据采集系统,实现远程控制。另外AT89S52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟 2.1.1 对AT89S52功能的认识STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用STC 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有
8、灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图 1 STC8
9、9C522.2 传感器部分设计方案一:采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35等.但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。方案二:在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切
10、换及放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89S52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于AT89S52可以带多个DSB1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。采用温度芯片DS18B2
11、0测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。综上所述,温度传感器以及主控部分都采用第二方案。系统采用针对传统温度测温系统测温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想。设计一种可以用于大规模多点温度测量的巡回检测系统。该系统采用的是RS-232串行通讯的标准,通过上位机进行现场的温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据处理,具有巡检速度快,扩展
12、性好,成本低的特点。2.2.1 对DS18B20功能的认识DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式。测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出。其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20支持“一线总线”接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控
13、制、设备或过程控制、测温类消费电子产品等。DS18B20采集被控对象的实时温度并从单片机的 P1.6口输入,R3为上拉电阻。电路采用数字信号输出可提高信号抗干扰能力和温度测量精度。电路工作电压使用范围为3.05.5V,采用外部供电方式。图 2 DS18B202.2.2 DS18B20(1) DS18B20内部结构如下图所示。图 3 DS18B20内部框图DS18B20有4个主要的数据部件: 64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。 温度灵敏元件。 非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。 配置寄存器。配
14、置寄存器为高速暂存存储器中的第五个字节。DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图所示。TMR1R011111MSB DS18B20配置寄存器结构图LSB其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。配置寄存器与分辨率关系表 :R0R1温度计分辨率/bit最大转换时间/us00993.750110187.510113751112750(2) 高速暂存存储器高速暂存存储器由
15、9个字节组成,其分配如下图所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。温度低位温度高位THTL配置保留保留保留8位CRCLSB DS18B20 存储器映像图MSB温度值格式图DS18B20 温度数据表:232221202-12-22-32-4MSBLSBSSSSS262524对DS18B20的设计,需要注意以下问题(1)对硬件结构简单的单线数字温度传感器DS18B20 进行操作,需要用较为复杂的程序