多点温度巡测仪的设计1设计背景及意义2设计技术要求3设计方案4系统硬件设计5系统软件设计6结论主要内容1设计背景及意义温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一,同时它也是一种最基本的环境参数。人民的生活与环境温度息息相关,物理、化学、生物等学科某些方面的知识也都离不开温度。另外,在工业生产和实验研究中,在电力、化工、石油、冶金、机械制造、大型储藏室、实验室、农场塑料大棚甚至人们的居室里经常需要对环境温度进行检测,并根据实际的要求对环境温度进行控制。目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度信息传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时做出决定。在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。设计一台多点温度巡测仪,能同时测量环境中多个位置的温度,并且将温度在液晶模块上显示。要求利用单片机实现。目标:能够满足生产的要求,仪表显示准确可靠,误差小。并且具有温度设定功能和报警功能。2设计技术要求系统组成框图:控制模块温度采集模块键盘设置模块显示模块报警模块图4-1组成框图3系统设计方案系统组成:本系统由五大模块组成,即控制模块、温度采集模块、液晶显示模块,键盘设置模块以及报警模块。4系统硬件设计4.1控制模块硬件电路设计控制模块中器件选择单片机AT89C51,设计的控制模块硬件电路图如下图图4-1所示,其中包括单片机的复位电路和时钟电路两部分。图4-1控制模块硬件设计电路4.2温度采集模块硬件电路设计本系统以四个测温点为例进行设计,有两种设计方案即模拟温传方案,见下图图4-2,另一种方案为数字温传方案,见下图图4-3。温传AD590运算放大器温传AD590温传AD590温传AD590多路模拟开关AD转换器单片机AT89C51图4-2模拟温传方案框图DS18B20DS18B20DS18B20DS18B20单片机AT89C51图4-3数字温传方案框图图4-4温度采集模块硬件电路图故该模块含有四个温度传感器DS18B20,所设计的温度采集模块硬件电路图如下图图4-4所示:4.3显示模块硬件电路设计较LED数码显示电路,液晶显示器显示连接电路较为简单,故该模块采用晶显示器作为显示器件,具体选用LCD128×64作为显示元件,具体设计的显示模块硬件电路图如下图图4-5所示:图4-5系统显示模块硬件电路图4.4键盘设置模块硬件电路设计本模块所要实现的功能为:通过键盘输入进行温度的特定读取、报警和上下限温度值设定,需要一个行列式4×4键盘进行温度待测点选择及报警温度的设定。该4×4键盘的功能为:首先通过按下“SET”进入设定项,按下“SELECT”按钮,对某温度点进行选择,按下“OK”按钮,此时即可显示该点温度;未按“OK”按钮,而按“MAX”或“MIN”进入对该点温度上下限进行设定,再按“OK”显示该点温度。本方案设计的4×4键盘面板如图4-4所示,而设计的具体硬件电路图如图4-5所示。图4-4行列式4×4键盘面板43218765SETDELETE09OKMINMAXSELECT图4-5键盘设置模块硬件电路4.5报警模块硬件电路设计报警模块采用声音报警器件蜂鸣器完成,所设计的报警电路如下图图4-6所示。图4-6报警模块硬件电路设计4.6多点温度巡测仪整体硬件原理图5系统软件设计系统软件设计包括主程序设计、温度采集子程序设计、显示子程序设计、键盘设置子程序设计、报警子程序设计以及中断服务子程序设计,对以上各部分子程序流程图的具体设计如下面所述。5.1主程序流程图的设计主程序先对系统资源进行初始化,调用LCD显示子程序,显示启动画面。然后进入键盘设置界面。当设置键按下后,开始设置各点的温度,设置完之后,如果确认键按下,则系统开始工作。首先调用DS18B20初始化子程序,再发送ROM命令,读取DS18B20转换的温度值。当读取的温度大于设置的温度值时,报警器开始报警,LCD显示温度的实际值、设置值、路数、状态。接下来对第二、三、四路温度进行采集,处理,显示。故系统的主程序设计流程图如下图图5-1所示。图5-1系统主程序流程图开始系统初始化开中断中断服务子程序关中断中断返回调用温度采集子程序调用报警子程序调用LCD显示子程序结束5.2温度采集子程序流程图设计温度采集程序流程图应具体为三个具体环节流程图的设计,即DS18B20复位环节、写环节以及DS18B20读温度环节的设计,三个环节的编程共同组成了DS18B20温度传感器对待测点温度的检测子程序。所设计的温度采集子程序的流程图如图5-2所示。图5-2温度采集子程序流程图开始系统初始化开中断中断服务子程序关中断中断返回调用温度采集子程序调用报警子程序调用LCD显示子程序结束5.3显示子程序流程图显示子程序流程图实际为针对LCD128×64液晶显示器的变成流程图,具体绘制的子程序流程图如图5-3所示。i=0调用写数据子程序i=16?i=i+1NY写入页地址写入起始列地址j=j+1j=2?页地址加1结束N调用写数据子程序i=16?i=i+1NY写入起始页地址写入起始列地址结束i=0调用写数据子程序i=128?i=i+1NY写入页地址写入起始列地址j=j+1j=8?页地址加1结束Nj=0i=0j=0b)写16*16汉字子程序流程图a)写8*16字符子程序流程图c)写图片子程序流程图图5-3显示子程序流程图5.4键盘设置子程序流程图设计如第二章中对键盘设置模块功能的描述,设计如下的键盘设置子程序流程图开中断按下SET键?N按1/2/3/4键Y按下OK键?关中断Y按MAX/MIN键N调用LCD显示子程序键盘设温调用LCD显示子程序调用LCD显示子程序图5-4键盘设置子程序流程图5.5报警子程序流程图设计该程序所要实现的功能为:在所测得的温度超限(高于上限MAX或低于下限MIN)时,能使蜂鸣器发声预警。所设计的报警子程序流程图如图5-5所示。读取温度值温度高于MAX?温度低于MIN?N蜂鸣器报警Y调用LCD显示子程序NY图5-5报警子程序流程图5.6中断服务子程序流程图设计中断服务子程序主要是为了能在中断状态下使得键盘设置工作顺利进行,所设计的中断服务子程序流程图如下图图所示。保护现场开中断调用键盘设置子程序关中断恢复现场开中断中断返回图5-6中断服务子程序流程图6结论在这次的设计过程中,硬件电路的选型本着尽量简单的原则。但是,硬件电路的简单是以软件的复杂为代价的,所以在程序编写的过程中稍一粗心就会出现错误,包括时间延时不够,设置参数的类型有误等错误。本程序经过反复的修改,虽然能达到预期的基本目标,但是还有很多地方需要完善,如开始时机器会扫描错误代码而使电路报警,报警的同时可以使数码管闪烁,还可以利用剩余的I/O口挂接更多的DS18B20等。本课题通过分析对比各种不同的温度传感器,选定DS18B20,这种单总线数字温度传感器的通信方式比较独特,软件编写要求的比较新颖,特点突出。用其构建的系统有很多优点:硬件连线简单,省去了使用模拟传感器要进行放大、A/D转换等工作,由于它的级联功能,一条总线可挂接多个传感器测量不同位置的温度,根据DS18B20唯一的序号识别不同传感器在各自位置的温度。需要注意的是,在系统安装及工作之前应将主机逐个与DS1820挂接,以读出其序列号。另外,由于DS18B20单线通信功能是分时完成的,遵循严格的时隙概念,因此,,系统对DS18B20和各种操作必须按协议进行,即:初始化DS18B20(发复位脉冲)—发ROM功能命令—发存储器操作命令—处理数据。现场温度直接以“一线总线”的数字方式传输,每一个自带地址,大大减少了系统的电缆数,提高了系统的稳定性和抗干扰性。通过调试成型系统发现了DS18B20除了上述优点外,还有一些缺点,如:简单的硬件连接的代价是复杂的软件时序,DS18B20在测量温度的时候,灵敏度不够高,温度快速变化时无法迅速显示出其变化。通过一系列的实验发现:由DS18B20构建的测温小系统适用于环境温度监控,对温度小变化较敏感;不适合应用于要求实时性强、温度跨度大的测温方式。谢谢!