温室温度检测及报警器的设计与功能实现
时间:2022-06-07 13:42:01 浏览次数:次
摘要:该文通过对系统的硬件部分和软件部分设计并开发能检测温度信号,并能产生报警信号的系统,达到温度检测及报警的要求。硬件部分实现了对控制模块的设计,软件部分通过汇编语言实现了主程序和子程序。通过实验证明,该设计实现了对温度的检测和报警功能。
关键词:温度检测;报警器;汇编语言
中图分类号:TP313文献标识码:A文章编号:1009-3044(2012)12-2906-02
1解决问题的方法与思路
1.1硬件部分
实验采用:温度传感器DS18B20用于检测温度值,可编程并行接口芯片8255一片,七段LED显示器,发光二极管一只,蜂鸣器一个。
1.2软件部分
①首先要对8255进行初始化设计,设置8255的工作方式并确定8255的端口地址;②将温度界限值在LED上显示出来;③启动DS18B20,发出温度检测命令,将温度值在LED上显示出来;④把测得的温度值和界限值相比较,若大于界限值,则进行声光报警。
2硬件设计
2.1可编程并行接口芯片8255A
利用8255A将界限值和温度值通过LED显示出来,同时8255A的PC0与DS18B20相连,向其发出温度检测命令及接受温度数据,PC5和蜂鸣器及发光二极管相连,用于声光报警。
2.2 DS18B20温度传感器
利用温度传感器检测温度,并转换为数字量和设定的界限值比较。
DS18B20可编程温度传感器有三个管脚。GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与CPU相连。VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.0—5.5V。本系统中使用外部电源供电。
其主要特点为:①用户可以自行设定报警上下限温度值;②不需要外部组件,能测量-55—+125°C范围内的温度;③在-10—+ 85°C范围内的测温准确度为±0.5°C;④通过编程可以实现9—12位的数字读数方式,可在至多750MS内将温度转换成12位数字,测温分辨率可达到0.0625°C;⑤独特的单总线接口方式,与微处理器连接时仅需要一条线既可实现和微处理器的双向通讯。
2.3蜂鸣器
在本实验中,蜂鸣器用作声音报警。蜂鸣器是将电能转化成声能,并将声能辐射到空气中去的一种电声转换器件。它一般包括灵敏度、频率响应、额定功率、额定阻抗、指向性、失真、音质听感评价等。
2.4发光二级管
发光管用于对超过界限的温度值进行发光报警。发光管,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。当在发光二极管PN结上加正向电压时,PN结势垒降低,载流子的扩散运动大于漂移运动,致使P区的空穴注入到N区,N区的电子注入到P区,这样相互注入的空穴与电子相遇后会产生复合,复合时产生的能量大部分以光的形式出现。
2.5七段LED显示器
利用LED显示器显示预设的温度界限值以及测定的温度值。七段LED显示器可以控制在哪几个数位上,哪几个发光二极管亮,从而显示数字。其工作原理:如果发光二极管共阳极,则输入为0时亮,为1时不亮,反之如果发光共阴极,则输入1时亮,0时不亮。发光二极管时一种外加电压超过额定电压时发生击穿,并因此能产生可发光的器件,数码显示器通常由多个发光二极管来组成七段或八段笔画显示器,当段组合发光时,便会显示某一个数码管或字符。
2.6硬件总逻辑说明
本设计主要使用了DS18B20,8255,七段LED显示器以及发光二极管和蜂鸣器。其中DS18B20用来进行温度的采集,8255是用来接受DS18B20采集的温度,并完成输出的工作,七段LED显示器是将8255输出的数据进行显示,发光二极管和蜂鸣器是对越界温度值产生报警信号。
8255的PA口和PB口分别作为七段LED显示器的段选和位选,可以把界限值和温度值通过LED显示。8255的PC口的PC0和DS18B20相连,PC5和发光二极管和蜂鸣器相连,控制系统进行声光报警。
3控制程序设计
3.1控制程序设计思路说明
由于DS18B20采用串行数据传送和单总线数据传输方式,其数据输入输出都由同一条线完成。因此,对读写的操作时序要求严格。为了保证DS18B20有严格的读写时序,需要做较精确的延时。在操作中用到的延时有15us,90us,270us,540us等,可以在程序设计时用延时子程序来读写延时操作。
首先对8255初始化,将8255的C口清零,防止刚开始就报警,A口用于LED的段选,B口用于LED的位选。启动DS18B20开始温度检测,发出温度转换命令,通过8255的PC0按位传输到DS18B20,再把测量的温度值按位暂存在寄存器AX中,再将此温度值和设定的界限值通过LED显示器显示出来,同时比较二者的大小,若温度值超过界限值,则通过蜂鸣器和发光管进行报警。
4上机调试过程
4.1硬件调试
此设计采用了全新的硬件系统,通过在试验过程中不断发现和解决问题,最终实现十进制输出,增加了小数部分,让程序渐渐完善起来了。
4.2软件调试
①由于8255C口开始可能没有全部清零,启动新机器就会进行声光报警,程序中加入程序段使C口清零,同时在DS18B20的启动和读温度程序中也要加入C口清零的程序段,防止开始实验和温度检测过程中发生报警。
②程序调试中主要是在显示数据的时候出现了一些问题,开始的时候由于没有加入显示小数部分,致使小数被忽略掉,严重影响到温度的准确性,所以又修改了程序,使得小数也可以显示出来,大大提高了结果的准确性。并且使得两个温度值可以同步显示。在报警的时候,由于有延时,会让数据显示出现闪烁的情况,经过修改,报警程序的延时直接使用了显示子程序中的延时程序段,这样就不会出现闪烁的现象了。
4.3调试结果及问题的提出
经过不断对软硬件调试以及联机调试,程序运行后,DS18B20温度传感器可以实时检测温度并转换成数字量,DS18B20内部包含模数转换的功能,因此在试验中不需要另外增加模数转化器。实验ds18b20的显示数据是用十进制表示,可以很清楚的显示小数部分,当前的温度显示一目了然,界限值也是用十进制显示的,方便比较是否越界,便于判断报警是否正确。在和设定的界限值比较,可以在显示器上直观的观察温度值是否越界,如果温度值大于界限值,则进行声光报警。
5结论
该设计可将外界采集到的温度信号量经过ds18b20完成模数转换到达8255与给出的界限值进行比较,接受界限值和与界限值进行比较以及输出报警信号均通过8255A芯片传输,界限值在程序中设定给出,判断是否越界,若越界则进行声光同时报警。从结果可以看出,ds18b20温度测设是比较准确的。ds18b20测温的范围很大,还可以测试零下的温度值。试验中测试的温度是显示成十进制,可以发现ds18b20显示的结果是能测试到小数值的,看出它的准确度还是很高的。
通过设计,笔者充分认识到理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。笔者所做的设计不仅可以用于大棚内的温度测试,还可以用于室内的火灾报警等系统中。
参考文献:
[1]高西全,丁玉美,阔永红.数字信号处理原理、实现及应用[M].北京:电子工业出版社,2006.
[2]林凌,李刚.新型单片机接口器件与技术[M].北京:西安电子科技大学出版社,2005.
[3]杨宁.单片机与控制技术[M].北京:北京航天航空大学出版社,2005.
[4]梅丽凤,王艳秋.单片机原理及接口技术[M].北京:清华大学出版社,2009.
- 上一篇:站库火灾联动报警系统的研究与应用
- 下一篇:小型医院火宅自动报警系统的设计