孙晓倩
(武夷学院 机电工程学院,福建 武夷山 354300)
基于51单片机的温度监测报警系统设计研究
孙晓倩
(武夷学院 机电工程学院,福建 武夷山 354300)
随着时代的发展和计算技术、电子元件加工技术的不断提高,单片机已经应用到了我们生产生活的各个领域,单片机技术发展至今也已经相当成熟,应用十分广泛,给人们带来了极大的便利.本文研究的温度监测报警系统使用的是STC89C52单片机,文章首先阐述了开发测温系统的过程,分别对DS18B20温度传感器的应用,传感器与单片机的硬件连接部分和软件编程,以及系统流程做了比较详细的介绍.该温度监测报警系统具有温度显示功能,报警温度可根据实际需要进行设定,其突出特点是体积小、使用范围广泛、精度和灵敏度都很高和功率消耗低等,可以作为一个独立的控制模块,也可以当作一个子模块应用于其他系统中.当把DS18B20与STC89C52两个单片机结合起来使用时,可以构建一个简单的控制系统,该温控系统可用于恶劣干扰环境下的温度控制,具有一定的应用前景.
51单片机;控制;STC89C52;DS18B20
本次设计的对象是温度报警系统,控制部分是51单片机,设计内容包括硬件的联接和软件的设计,文章对各个功能的子模块做了比较详细的介绍.
主要性能指标:单片机实时检测温度传感器DS18B20的状态,并将DS18820得到的数据进行处理.上电后数码管显示当前的环境温度,通过按键可设置高低温报警值,当检测到的温度高于设置的报警值的时候,蜂鸣器报警同时报警灯闪烁,温度检测精确到0.1度.并具有掉电保存功能,数据保存在单片机内部EEPOM中,进入设置界面后如果没有键按下系统会在15秒后自动退出设置界面.
该系统主要由温度测量和温度设置及系统状态显示三部分电路组成,下面介绍实现此系统功能的方案.
2.1主控制器模块
方案1:
主控制器采用可编程逻辑器件(CPLD).
方案2:
采用STC89C52单片机作为整个系统的核心,用其实时监测温度和报警,以实现其既定的性能指标.
综上所述,本次设计采用STC89C52作为主控制器.
2.2温度测量
方案1:
选用DS18B20温度传感器对温度进行测量,其输出的信号为数字信号,方便单片机对温度信号的采集、处理和控制,而且电路简单,占用空间小.该单片机性能稳定,且线形好.当测量温度在0到100之间时线形偏差都小于1℃.除此之外,由于DS18B20单片机采用单总线的数据传输方式,由DS18B20和STC89C52构成的测温装置输出的温度信号,的数字信号,可以直接连接计算机.这样,测温系统的结构就显得十分简单,占用的体积也不大.同时,通过采用51单片机控制让软件编程的自由度大大增加,既可以通过编程实现各种各样的算术算法和逻辑控制,而且它还具有体积小,硬件实现经济、简单,安装也十分方便等优点.它也可以单独对多DS18B20进行控制工作,还可以与PC机通信上传数据,另外,微控制器STC89C52在工业控制上也有着十分广泛的应用,无论是编程技术还是外围功能电路的配合使用都已经发展得很成熟.
方案2:
采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成(如图1所示),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成.通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度.用带有A/D通道的单片机来实现数据采集部分,再将随被测温度变化的电流或电压采集过来,进行A/D转换后,通过单片机进行数据的处理,这样在显示电路上,就可以将被测温度显示出来.热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D转换电路,感温电路比较麻烦.
通过对以上两种方案的对比,易得出方案二可测量温度范围更宽、体积占用更小,缺点是线性误差相对较大.方案一的优点是测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,所以本次设计的温度测量采用了方案一.
2.3设置温度
方案1:
采用键盘输入设置温度,键盘则可以用4个按键,一个复位键,一个功能设定键,一个加减一个减键.四个键比较常用,而且用到的接口得到了极好的利用,仅需要4个接口.
方案2:
可采用4*4矩阵键盘,该键盘需要8个接口,而我们不需这么多键.
综上所述,温度设置方面我们选择第一种方案.
2.3显示模块
方案1:
用数码管充当显示模块.数码管由于具有使用简单,显示速度快,显示效果简洁明了等特点而得到了广泛的应用.
方案2:
通过LCD液晶进行显示.LCD具有显示内容丰富、清晰,显示信息量大,显示快速,使用方便等特点而得到了广泛的应用.但对于本系统我们不需要显示丰富的内容,而且LCD液晶价格昂贵,因此我们未选择此方案.
综上所述,显示模块我们选择方案1.
2.4电源选取
对于系统供电电源的选取我拟定了两种方案:
方案1:
采用额定输出电压为5V的蓄电池.蓄电池的优点是电压稳定,电流驱动能力强,但是其体积相对较大,与本系统的小巧轻便的设计不相匹配,所以我们放弃了此方案.
方案2:
采用3节1.5V干电池共4.5V做电源,经过一段时间的实验验证,该供电电源能够满足系统正常持续工作,也满足小体积的设计需求,电池更换也比较方便,是比较理想的选择.
综上所述,电源的选取我们采用方案2.
3.1温度传感器的选择
一般而言,比较常见的温度传感器件,譬如热敏电阻等,它们都是通过测量电压后按照对应的关系转换成相应的温度表示出来,因此,为了较好的实现功能,它们需要各种外部电路来支持,相应的总体的制作成本相对而言较高,硬件电路也较为复杂.而本系统采用DS18B20,它既可以支撑本系统的各项功能需求,同时又能有效地解决以上问题.
3.2控制芯片的选择
通常,我们对一些小型控制都会从最经济实惠的角度去考虑控制设备的选取,在本设计中,我们采用STC89C52芯片作为主控制芯片,它不仅能达到本设计的使用要求,实现设计所需功能,而且价格低廉,经济实用.此外,它和STC-51系列完全兼容指令系统和管脚,具有51系列单片机的所有功能和特点,并且,它的工作电源电压适用范围很广,可为2.7-6V,当它工作于12Mhz时,空闲态和动态电流分别为1mA和5.5mA,这样的小功耗非常适合本系统的电池电源.
4.1主控制模块
4.2显示模块电路
4.3数码管显示驱动电路、
4.4温度传感器(DS18B20)电路
4.5蜂鸣器、发光二极管报警电路
5.1程序结构分析
本控制系统的主程序由三个子程序组成,分别控制数码管的显示、处理温度信号、对按键进行设定和报警控制.其中温度信号处理模块将完成温度原始数据的接收、处理和显示功能.
5.2系统程序流程
主程序功能包括温度的实时显示、处理和显示DS18B20实时测量值,测量时间间隔为1秒.再将测量值与设定的报警温度比较,从而判断是否应该报警.
5.2.1DS18B20初始化程序流程
发复位命令发跳过ROM命令初始化成功结束.
5.2.2读温度子程序流程
读温度子程序的主要功能是从DS18B20中读出温度数据,将数据移入温度暂存器保存.
发复位命令发跳过ROM命令发读取温度命令移入温度暂存器结束.
5.3程序仿真结果
将编写后的程序进行调试仿真,最终在软件上可以实现本设计的要求.以下分别是程序在Keil上的调试仿真结果和单片机调入hex文件后在Proteus中的仿真结果.
经过Keil软件和Proteus软件的调试与仿真,从软件上验证了系统的可行性,为系统硬件上的实现提供了基础,可以进行硬件实现步骤.
6.1安装步骤
1.检查元件的好坏
按电路图罗列的元件清单买好元件后,首先检查买来的元件型号、规格和数量是否正确,其次再检查买来的元件是否可以正常工作,即按照各元件的检测方法进行检测.在检查好后才可上件、焊件,防止出现错误焊件后不便改正.
2.放置、焊接各元件
根据电路图将元件进行放置、焊接,为了操作方便,同时也能避免操作失误引起不必要的返工,在电路板的焊接过程中要遵循先低后高的原则,即先焊接位置相对较低的元件,然后焊接其他相对较高的元件.另外,对于特别容易损坏的和精度较高的元件焊接过程需要特别注意,焊接完毕需要检测其性能的好坏.在焊集成芯片时注意芯片的安装方向,并且保证连续焊接时间不要超过10s.
6.2电路的调试
首先接入显示程序,看显示正不正常.在调试程序时,在排除电路焊接错误,元器件故障等问题后,发现有的指令用的不正确,导致电路功能不能完全实现,通过不断的修改部分电路和程序后,终于在硬件上实现了实时测温报警的功能.
本温度报警器,通过单片机实时检测温度传感器DS18B20的状态,并将DS18820得到的数据进行处理.上电后数码管显示当前的环境温度,通过按键可设置高低温报警值,当检测到的温度高于设置的报警值的时候,蜂鸣器报警同时报警灯闪烁,温度检测精确到0.1度.并具有掉电保存功能,数据保存在单片机内部EEPOM中,进入设置界面后如果没有键按下系统会在15秒后自动退出设置界面.由于采用了4节干电池供电使系统的抗干扰性得到加强.在软件上,充分利用了STC89C52的系统资源,系统运行流畅.
本设计结构简单,调试方便,系统反映快速灵活,经实验测试,该温度报警系统设计方案正确、可行,各项指标稳定、可靠.此外,若更改部分程序,可以将报警功能拓展,连接到相关的预防设备上,让设备自动采取措施去除警报.例如,可连接至空调系统或灭火系统,使之采取措施实现自动调节温度功能等.
〔1〕曹巧媛.单片机原理及应用(第二版)[M].北京:电子工业出版社,2002.
〔2〕周明德.微型计算机系统原理及应用[M].北京:清华大学出版社,2007.
〔3〕何力民.单片机高级教程[M].北京:北京航空大学出版社,2000.
〔4〕金发庆,等.传感器技术与应用[M].北京:机械工业出版社,2002.
〔5〕刘坤,宋戈,赵洪波,张宪栋.51单片机C语言应用开发技术大全[M].北京:人民邮电出版社,2008.
TP277
A
1673-260X(2015)12-0024-03