基于单片机八路温度巡检系统设计温度是工业农业生产中常见的工艺参数之一,许多产品对温度范围要求严格,对温度的控制好坏直接影响产品的质量。因此,在工农业生产中,对温度不仅要不断地测量,而且要进行控制。特别是遇到温度超过我们设定的温度时,系统还会以报警的方式通知我们。目前市场上普遍存在的温度检测仪器大都是单点测量,同时还有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形势下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。本文介绍了一种以单片机为基础,采用高分辨率智能温度传感器而制作的八路温度巡检系统,可通过LCD液晶显示器显示温度和路数,当温度高于设定值时,执行报警程序。一、系统总体设计原理及方案系统的硬件原理框图如图1所示。该温度巡检系统主要由控制模块、显示模块、测温模块组成。测温范围为-25℃~125℃,该系统启动时,8路温度传感器把检测到的温度送入单片机AT89S52,与温度设定值比较,经过控制后,输出控制信号,显示在1602液晶电路里,该电路能显示当前环境温度。当实际温度超过限制值时报警电路报警。图1系统总体结构图二、系统硬件电路的设计1.温度测量及液晶显示电路设计八路温度巡检仪由8个DSl8B20组成,显示器采用LCDl602液晶显示模块,它是一种可编程的器件。本系统可以定时循环检测并通过LCDl602显示8路的温度和路数。温度测量及液晶显示电路如图2。图2温度测量及液晶显示电路图AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(in-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。在传统的模拟信号远距离温度测量系统中,需要很好地解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。字符型点阵式LCD液晶显示屏:LCD的应用很广泛,简单如手表上的液晶显示屏,仪表仪器上的液晶显示器或者是电脑笔记本上的液晶显示器,都使用了LCD。在一般的办公设备上也很常见,如传真机、复印机以及一些娱乐器材玩具等也常常见到LCD的足迹。本系统要用的LCD为字符型点阵式LCD模块(liquidcrystaldisplaymodule,LCM),或者是字符型LCD。目前市面上常用的有16字×1行,16字×2行,20字×2行和40字×2行等的字符模块组。这些LCM虽然显示字数各不相同,但是都具有相同的输入输出界面。本系统用的是1602液晶。2.报警电路本系统的报警电路由扬声器电路及LED警报灯电路组成,报警电路的原理为,系统检测到所检温度值高于某个值时,算法中进入报警子程序,向红色LED输出循环的高低电平,造成闪烁的效果,闪烁的间隔由算法中的迟时子程序决定。同时调用报警扬声器子程序,向扬声器输出一定规率的高低电平信号组成的报警音(图3)。图3报警电路三、系统软件设计1.软件设计说明对于一支DS18B20,要输出或输入各类数据时,可以采用位寻址,比如sbitDQ=Pa3;DQ=0;DQ=1而对于8支DS18B20,如果还采用位寻址的方法,采用单总线,通过查询序列号依次读取,程序就非常复杂,而且速度会大大减慢,所以将位寻址扩展为字节寻址,比如:#defineDQP3;DQ=Ox00;DQ=0xff即可一次输出或输入8个位数据,从而达到同步读取的目的。采用上述方法一次读取8支DS18B20的时间不超过1s,但读取的数据在RAM中不是顺序排列的。必须用软件合成处理,才能得到所需的温度值。如表1所示,纵向排列的是存放每次读取数据的Bur,而横向才是需要的温度值,此时设计一个将纵向数据转为横向温度的程序,连续执行两次,就可以将DS18B2O的高、低字节全部合成标准的温度数据(表1)。2.系统软件流程图主程序执行流程如图4所示,主程序先对各DS18B2O进行初始化,然后重复调用写命令和读数据模块,最后将数据处理后送1602显示。通道lDSl8B20访问子程序如图5(其他7个通道程序相同)总之,温度传感器DS18B20转化温度的方法非常简洁且精度高,测试范围广,单片机AT89S52体积小、抗干扰能力强、价格低廉、对环境要求不高,我们已成功地将DS18B20应用于所开发的多点温度测试系统中,测温精度满足要求,这种温度测量系统能广泛地应用于各种场合,具有实际的应用价值。