基于单片机的仓库防火报警系统的设计Word格式文档下载.docx
《基于单片机的仓库防火报警系统的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的仓库防火报警系统的设计Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
关键词:
气体传感器MQ-2;
火灾报警;
单片机;
智能控制
3.2.1ADC0809介绍..........................................14
总结.............................................................
附录一原理图...................................................
附录二实物正面图...............................................
附录三实物焊接面图.............................................
附录四源程序代码...............................................
第一章概述
1.1课题的研究背景
火灾是一种失去控制的燃烧所引发的灾害,对人类生命财产和社会安全构成了极大的威胁。
火灾的发生和发展过程是复杂的物理和化学过程,但也与环境很强的相关性。
正常情况下,发生火警,伴随着烟雾,温度,光照,信号产生的过程。
在我国,随着经济的发展和生活水平的提高,工业与民用建设日趋增多,火灾发生的可能性也随之大幅提高。
现代建筑,尤其是在大型酒店,宾馆,商场,图书馆,博物馆,档案馆和办公楼及其他公共场所,对于火灾报警系统也提出了更高的要求。
一旦发生火灾将很难及时救助,势必要给国家和个人带来不可估量的损失。
为了保护人类的生命和财产安全,火灾报警技术便应运而生,火灾报警系统是警惕火灾一种早期预警。
1.2课题的研究目的与意义
目的:
随着现代家庭用火,用电增加,家庭火灾发生的频率越来越高。
家庭火灾,很容易扑灭不及时,有着缺乏消防设备和在场的人战斗惊慌失措逃离缓慢的不利因素,最终导致的生命和财产的重大损失。
所以说,人们应该积极了解家庭火灾的主要起因,还有预防火灾的发生。
这就是我们研究烟雾报警器的目的。
意义:
在中国的一些大、中型城市,几乎每一天发生家庭火灾,所以每一个家庭必须始终关注防火。
如果能根据你家的实际情况,提前采取简单的防火措施,有些悲剧是完全可以避免的。
声音和视觉的报警,对减少火灾损失具有现实意义。
据调查,在最近的火灾大部分的房子里还没有报警器。
因此声光报警,对发生火灾预防具有重要意义。
1.3火灾报警器的发展与现状
火灾报警系统在中国相对较晚,与发达国家相比,20世纪70年代末的十年间,中国开始研制生产的火灾报警系统。
20世纪80年代后,国内各大厂商也大多是模仿国外产品,或引进国外技术生产的,没有真正意义上的核心技术,市场刚刚开始发展。
真正的火灾报警产品的发展也促进了市场的成熟,政府逐步开放的大门,在同一时间,外国公司开始进入中国的防火市场,带来先进的技术在20世纪90年代。
此期间,中国生产的火灾报警产品的企业也得到了快速发展,在一些企业中,技术合作,合资生产,并取得了不菲的成绩,但今天在市场上创造了许多强大的企业,有些技术已接近或赶上国际标准。
1.4课题的研究内容
火灾报警器,主要检测烟雾,再通过单片机控制相应的报警和驱动负载。
通过液晶显示当前的烟雾值,通过按键设定相应的阀值。
该项目主要是为了完成任务,包括:
(1)课题任务:
选择烟雾传感器,检测仓库的烟雾及防火情况,并用显示器件显示相关信息;
并具有火灾报警功能。
(2)硬件部分:
包括传感器的选择,显示模块的选择,烟雾信号转换电路的设计,报警驱动电路的设计。
(3)软件部分:
包括微处理器控制程序的编制和原理图的绘制。
(4)系统的综合调试与分析:
在软硬件完成以后,要对系统进行综合的测试与实验,分析系统的可靠性与实用性,调整系统的不足。
第二章火灾报警器的总体方案设计
本课题主要是实现烟雾报警和火灾发生时的报警及控制,下面分别对系统功能要求、系统技术要求及系统实现方案总体阐述。
2.1系统的功能要求
本系统的研制主要包括以下几项功能:
(1)火情探测功能:
为了提高火灾报警的准确性和及时性,火灾报警系统需要使用各种方法进行火灾探测。
在实际使用中,根据不同的防火场所,用户可以选用温度探测法、可燃气体检测法及烟雾探测法等合适的火灾探测方法,来有效的探测火灾;
(2)灯光报警功能:
当室内烟雾浓度过大、有火情产生、故障等异常情况发生时,报警器要进行灯光报警。
当烟雾超过最大设定值时,可以蜂鸣器报警。
2.2系统的技术要求
在了解这个系统的工作原理以及功能之后,我们就可以基本确定系统的技术要求。
系统采用的单片机处理器成本都比较低,可以满足批量生产和各类工程的需求。
对于完整的一个系统而言,为提高市场的竞争力,这个系统应符合体积小、功耗低、数传性能可靠和成本低廉等技术要求。
具体指标和参数如下:
(1)体积小:
探测器的体积要尽可能的小,这样占用的空间才能减少,使用和更换才会方便;
(2)功耗低:
系统可以采用三节5号干电池供电或5v电源供电。
(3)可靠性高:
由于不确定的电磁干扰可能存在在系统工作环境中,为了保证系统长时间的可靠工作,以及减少误报次数,所以选择多指示灯,指示不同的状态。
2.3系统的组成及方案设计
本设计主要由烟雾探测传感器电路、单片机、灯光报警电路、负载驱动电路、控制程序和编解码程序等组成。
系统的组成结构如下:
图2.1
第三章系统的硬件设计
总体电路
图3.1
如图3.1所示,上面的图为protuce所画,下面的图为proteus仿真所画。
实时显示当前的烟雾值,共有1个报警值(可以通过按键设定),烟雾的上限报警值,当烟雾超过的时候红灯和蜂鸣器声光报警。
3.1主控电路
STC89C51是一种低功耗、高性能的8位微控制器。
在具有以下标准功能:
中央处理器(CPU)是8位处理器、存储器[数据存储器(RAM)和程序存储器(ROM)]、并行输入(I/O)输出口[分别为P0口,P1口,P2口,P3口]、中断系统(5个中断源)等。
另外STC89X51支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
51单片机实物图外观如图1所示
STC89C52引脚介绍
①主电源引脚(2根)
40:
电源输入,接+5V电源
20:
接地线
②外接晶振引脚(2根):
18,19管脚
③控制引脚(4根)
④可编程输入/输出引脚(32根)
P0口(Pin39-Pin32):
8位I/O口线,名称为P0.0~P0.7
P1口(Pin1-Pin8):
8位I/O口线,名称为P1.0~P1.7
P2口(Pin21-Pin28):
8位I/O口线,名称为P2.0~P2.7
P3口(Pin10-Pin17):
8位I/O口线,名称为P3.0~P3.7
图3.2STC89C51DIP封装图
STC89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。
用STC89C52单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,结构如图2-3所示。
图2-3
3.2烟雾探测电路的设计
图3.2烟雾探测电路
如图3.2所示,在这个电路中,有两个部分,主要是烟雾传感器检测烟雾,将电压信号给ADC0809,模数转换电路将模拟信号转换成数字信号给单片机,单片机再读取相应的数值和处理。
3.2.1ADC0809介绍
ADC0809芯片有28条引脚,采用双列直插式封装,如图3.2.1所示。
下面说明各引脚功能。
图3.2.1
IN0~IN7:
8路模拟量输入端。
2-1~2-8:
8位数字量输出端。
ADDA、ADDB、ADDC:
3位地址输入线,用于选通8路模拟输入中的一路
ALE:
地址锁存允许信号,输入,高电平有效。
START:
A/D转换启动脉冲输入端。
EOC:
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:
数据输出允许信号。
CLK:
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):
基准电压。
Vcc:
电源,+5V。
GND:
地。
3.2.2MQ-2介绍
MQ-2型气体传感器可用于家庭和工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等的探测。
特点:
广泛的探测范围
高灵敏度
快速响应恢复
优异的稳定性
寿命长
简单的驱动电路
图3.2.2
3.3液晶显示电路设计
图3.3液晶显示电路设计
LCD1602A是一种字符型液晶显示模块,能够同时显示16x02即32个字符(16列2行)。
液晶显示模块主要显示的是数字、字母和符号等ASCII码符号的显示器件。
液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
如图3-3实物显示器1602:
图3-3
引脚说明:
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高。
第4脚:
RS为数据命令选择端,高电平时选择数据寄存器、低电平时选择命令寄存器。
第5脚:
R/W为读写信号选择端。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
3.4声光报警提示电路
3.4.1灯光提示电路
图3.9灯光提示电路
LED发光二极管,它可以直接把电转化为光。
据分析,LED的特点非常明显,寿命长、光效高、辐射低与功耗低。
本设计利用红颜色的LED指示烟雾浓度报警。
3.4.2声音报警电路
图3.10声音报警电路
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于报警器、电子玩具、电话机、定时器等电子产品中作发声器件。
蜂鸣器驱动电路一般都包含:
一个三极管、一个蜂鸣器、一个限流电阻。
蜂鸣器为发声元件,在其两端施加直流电压(有源蜂鸣器)就可以发声,本设计采用有源蜂鸣器。
三极管Q1起开关作用,其基极的低电平使三极管饱和导通,使蜂鸣器发声;
而基极高电平则使三极管关闭,蜂鸣器停止发声。
?
3.5按键电路
本设计采用按键接低的方式来读取按键,单片机初始时,因为为高电平,当按键按下的时候,会给单片机一个低电平,单片机对信号进行处理
独立式键盘的实现方法是利用软件消抖方法来判断是否有键按下。
先检验相应的口线是否为低电平,若为低电平,要加延时消抖,再检验是否为低电平。
若为高电平,则说明是一个抖动;
若为低电平,这说明按键确定按下,等待按键释放后再执行相关操作,防止多次执行。
我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。
硬件电路如图3.5所示:
图3.5按键电路
第四章系统的软件设计
4.1软件介绍
Keil是美国KeilSoftware公司出品的51系列兼容单片机C语言软件,目前,Keil使用的版本为uVision3,它集可视化编程、编译、调试、仿真与一体,支持51汇编、PLM和C语言的混合编程,界面友好、易学易用、功能强大。
它具有功能强大的编辑器、工程管理器以及各种编译工具、包括C语言编译器、链接/装载器和十六进制文件装换器。
下面详Keil_c软件界面如图4.1
图4.1
Proteus是由英国Labcenterelectronics公司开发的EDA工具软件。
Proteus主要有ARES和ISIS两个程序组成。
前者主要用于PCB自动或人工布线及其电路仿真,后者主要采用原理图的方法绘制电路并进行相关的仿真。
Proteus电路仿真过程是互动的,针对微处理器的应用可以直接在基于原理图的虚拟圆形上编程,并实现软件代码级的调试,还可以直接实现实时动态地模拟按钮、键盘的输入,LED、液晶显示的输出,同时配合虚拟工具如示波器、逻辑分析仪等进行相应的测量和观测。
Proteus软件应用范围很广。
涉及PCB制板,电路仿真,单片机仿真。
如图4.2
图4.2
ProteusISIS7Professional的工作界面,如图所示,包括:
标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
4.2系统程序流程图
第五章火灾报警器的测试结果及结论
5.1调试
调试过程中首先要检测的就是硬件电路的设计原理是否正确、能否达到预期效果以及实现方法是否简便等等;
其次在焊接好难有线电路之后,认真检查电路的焊接情况。
这次采用的是分块调试的方法,烟雾探测电路,控制电路以及单片机控制电路进行调试。
在对每个模块的进行调试过程中又采用了由局部到整体,由简单到复杂的调试方法,最后再将各个模块总和成一个整体。
在调试过程中遇到的问题有:
(1)由于在焊电路之前没有认真的查看STC89C51的管脚,使得管脚的顺序全部焊错了,最后只好重新买器件重焊;
(2)烟雾值一直显示很高,经过查阅资料和换元件测试发现,烟雾传感器初次使用得通电几小时以上才可以正常使用,要做老化试验。
(3)在解码程序的编写过程中,随着理解的深入也作了相应的修改。
(4)在Keil中编程管脚定义错误,对蜂鸣器编写程序时不合理,蜂鸣器会间隔的工作
5.2结论
本文在参考了大量资料的基础上,针对传统的一系列火灾报警探测器存在的问题,合理地提出了火灾报警器的设计方法。
极大地提高了产品的实用性和市场竞争力。
本课题中设计的火灾报警探测器由传感器电路与无线通信电路两大部分构成。
控制处理器是以管脚资源丰富的STC89C51为核心,实现对探测器写入信号和对信号进行编译等人机交互功能。
应用程序以C语言编写,充分利用芯片的内部资源,提高了代码执行效率,减小了代码的容量。
由于该探测器具有体积小、功耗低、安装调试简单、可靠性高等优点,因此,该火灾探测器有着良好的市场前景。
但是,由于我在各方面的知识不够全面,再加上时间紧迫以及实验条件的限制,该报警器还有较多需要提高的地方。
总结
通过这次毕业设计让我进一步了解自己的不足,同时也将以前自己为梳理过的知识又重新整理了一遍,收获良多。
还丰富自己自己在课本上没有学过的知识,开阔了视野,对将来从事电子行业的方向有了一定的了解。
同时提高了自己的动手能力。
在本次设计是根据人们日常生活中所需要的产品而设计的,是一次很有意义的事情。
在这次设计中我有很多错的地方。
有些是因为粗心大意产生的,有的是因为专业知识不过关产生的;
但是就是因为这次设计让我巩固以前所学的知识,接受现学的信息。
本次设计主要有按键模块、AD转换烟雾采集模块、液晶显示模块、声光报警提示模块和单片机最小系统模块组成、此次设计以单片机为主进行设计的电路,选择烟雾传感器,检测仓库的烟雾及防火情况,并用显示器件显示相关信息;
对我而言,刚接受题目是我感觉挺难的。
毕竟没有自己一人接受过这种设计平时都是两人一组或四人一组,现在是一人一个题目突然之间感到有压力。
不过:
有压力才会有动力嘛!
在此次设计中知道有很多不足,有很多不理解的地方,通过这次设计得到弥补。
“亡羊补牢,为时不晚”。
这次设计丰富了以往不知道的知识,提高自己原有的所学;
同时还提高了自己动手能力。
获益匪浅
本次的设计虽然简单,但是使用用途还是很可观的。
家里人常说“水火无情“,那就把“水”、“火”尽量避免。
致谢
首先感谢这三年来任课老师的培养,是你们让我学到了很多专业知识,学会了做人的道理。
我在这里表达我最真挚的谢意。
老师
您辛苦了!
这次毕业设计得到了很多人的帮助,其中刘燎原老师对我的关心和支持尤为重要,每次遇到难题,我首先想到的就是向刘老师寻求帮助。
另外,他严谨的作风使我的论文即使在谨小细微处也给予了纠正,让我的论文无论是结构还是内容变得更加公整、紧凑,感谢刘老师对我的悉心指导。
感谢校方给予我这样一次机会,能够独立地完成这样一个设计,作为检验这些年来学习的成果,在这个过程当中,学校给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。
再一次对我的母校表示感谢。
感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们,正是因为有了你们的帮助,才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识以外的东西,那就是团结的力量。
参考文献
[1]陈权昌,李兴富.单片机原理及应用[M].广州:
华南理工大学出版社,2007.8
[2]李庆亮.C语言程序设计实用教程[M].北京:
机械工业出版社,2005.3
[3]杨志忠.数字电子技术[M].北京:
高等教育出版社,2003.12.
[4]及力.Protel99SE原理图与PCB设计教程[M].北京:
电子工业出版社,2007.8.
[5]徐江海.单片机实用教程[M].北京:
机械工业出版社,2006.12
[6]胡宴如.模拟电子技术[M].北京:
高等教育出版社,2008.6
[7]刘宁.单片机多功能时钟的设计[M].浙江:
浙江海洋学院,2009.
[8]汪文,陈林.单片机原理及应用[M].湖北:
华中科技大学出版社,2007.
[9]康华光.电子技术基础数字部分[M].北京:
高等教育出版社,2008.
附录
附录一原理图
附录二实物正面图
附录三实物焊接面图
附录三源程序代码
//程序头函数
#include<
reg52.h>
//显示函数
display.h>
//宏定义
#defineuintunsignedint
#defineucharunsignedchar
#defineData_ADC0809P1
//管脚声明
sbitLED_wendu=P2^2;
sbitLED_yanwu=P2^1;
sbitbaojing=P2^5;
sbitDQ=P2^0;
//ADC0809
sbitST=P3^3;
sbitEOC=P3^6;
sbitOE=P3^2;
//按键
sbitKey1=P2^6;
sbitKey2=P2^7;
sbitKey3=P3^7;
signedcharw;
//温度值全局变量
uintc;
//温度值全局变量
bitbdataflag=0;
//酒精含量变量
uchartemp;
ucharyushe_wendu=50;
ucharyushe_yanwu=45;
//按钮模式|
ucharMode=0;
//函数声明
externucharADC0809();
externvoidKey();
voiddelay(uintz)
{
uinti,j;
for(i=0;
i<
z;
i++)
for(j=0;
j<
121;
j++);
}
/*****延时子程序*****/
voidDelay_DS18B20(intnum)
while(num--);
/*****初始化DS18B20*****/
voidInit_DS18B20(void)
unsignedcharx=0;
DQ=1;
//DQ复位
Delay_DS18B20(8);
//稍做延时
DQ=0;
//单片机将DQ拉低
Delay_DS18B20(80);
//精确延时,大于480us
//拉高总线
Delay_DS18B20(14);
x=DQ;
//稍做延时后,如果x=0则初始化成功,x=1则初始化失败
Delay_DS18B20(20);
/*****读一个字节*****/
unsignedcharReadOneChar(void)
unsignedchari=0;
unsignedchardat=0;
for(i=8;
i>
0;
i--)
{
//给脉冲信号
dat>
>
=1;
if(DQ)
dat|=0x80;
Delay_DS18B20(4);
}
return(dat);
/*****写一个字节*****/
voidWriteOneChar(unsignedchardat)
i>
i--)
DQ=dat&
0x01;
Delay_DS18B20(5);
/*****读取温度*****/
unsignedintReadTemperature(void)
unsignedchara=0;
unsignedcharb=0;
unsignedintt=0;
floattt=0;
Init_DS18B20();
WriteOneChar(0xCC);
//跳过读序号列号的操作
WriteOneChar(0x44);
//启动温度转换
WriteOneChar(0xBE);
//读取温度寄存器
a=ReadOneChar();
//读低8位
b=ReadOneChar();
//读高8位
t=b;
t<
<
=8