基于STC89C51单片机的烟雾报警器设计(煤气火灾检测报警)(含文档、源码与proteus仿真,以及系统详细介绍)

本篇文章论述的是基于STC89C51单片机的烟雾报警器设计的详情介绍,如果对您有帮助的话,还请关注一下哦,如果有资源方面的需要可以联系我。

目录

摘要

原理图

实物图

仿真图

元件清单

代码

系统论文

资源下载


摘要

随着现代家庭用火、用电量的增加,家庭火灾发生的频率越来越高。烟雾报警器也随之被广泛应用于各种场合。

本课题所研究的无线多功能火灾报警器采用STC89C51为核心控制器,利用气体传感器MQ-2、ADC0809模数转换器等实现基本功能。通过这些传感器和芯片,当环境中烟雾浓度或可燃气体浓度等发生变化时系统会发出相应的灯光报警信号和声音报警信号,以此来实现烟雾报警,当烟雾达到一定的范围时,系统还可以驱动继电器工作,继电器可以驱动负载,如换气风扇、报警信号灯、消火栓水龙头开关等。实现智能报警控制。

关键词:气体传感器MQ-2;火灾报警;单片机;智能控制

原理图


实物图


仿真图


元件清单(部分)


代码


//程序头函数
#include <reg52.h>
//显示函数
#include <display.h>//宏定义
#define uint unsigned int 
#define uchar unsigned char
#define Data_ADC0809 P1//管脚声明
sbit LED_R= P2^2;	//COled
sbit LED_Y= P2^0;
sbit FENG = P2^5;	//蜂鸣器
sbit san=P3^4;		//风扇
//ADC0809
sbit ST=P3^3;
sbit EOC=P3^6;
sbit OE=P3^2;
sbit A0=P3^1;		//0809A0地址脚
//按键
sbit Key1=P2^6;		//设置键
sbit Key2=P2^7;		//加键
sbit Key3=P3^7;		//减键bit bdata flag2,flag7;
uchar set;//函数声明
extern uchar ADC0809();
extern void Key();
/*
void delay(uint z)
{uint i,j;for(i=0;i<z;i++)for(j=0;j<121;j++);
}
*///
uchar MQ2=0,MQ7=0;		//读取传感器数据变量//指示灯变量uchar WARNING2=30,WARNING7=20;		//初始上限值void init()				 //定时器初始化函数
{TMOD=0x01;			  //工作方式TL0=0xb0;TH0=0x3c;			 //赋初值EA=1;				 //打开中断总开关ET0=1;				//打开中断允许开关TR0=1;				//打开中断定时开关
}void main()			   //主函数
{Init1602();		   //初始化显示函数init();			   //初始化定时器while(1)		   //进入循环{A0=0;		   //地址脚=0时,读取MQ2数据				                   MQ2=ADC0809();A0=1;		   //地址脚=1时,读取MQ7数据MQ7=ADC0809();if(set==0)	   //不在设置状态时Display_1602(MQ2,MQ7,WARNING2,WARNING7); //正常显示数据if(set==0){if(MQ2<WARNING2)	   //判断数据是否小于报警值flag2=0;else if(MQ2>WARNING2)flag2=1;if(MQ7<WARNING7)flag7=0;else if(MQ7>WARNING7)flag7=1;			}else{flag2=0;flag7=0;}Key();						 //扫描按键函数}
}
//ADC0809读取信息
uchar ADC0809()
{uchar temp_=0x00;OE=0;	//初始化高阻太ST=0;	//转化初始化ST=1;	//开始转换ST=0;while(EOC==0)	//外部中断等待AD转换结束OE=1;	   //读取转换的AD值temp_=Data_ADC0809;OE=0;return temp_;
}void Key()			  //按键函数
{if(Key1==0)		   //设置按键{while(Key1==0);//按键释放FENG=0;		   //打开蜂鸣器set++;		   //设置变量加flag2=0;flag7=0;	   //报警变量清零LED_Y=1;LED_R=1;	   //关闭LEDsan=1;		   //关闭风扇TR0=0;		   //关闭定时器}if(set==1)		   //设置报警值{write_com(0x38);//屏幕初始化write_com(0x80+0x40+6);//位置write_com(0x0f);//打开显示 无光标 光标闪烁write_com(0x06);//当读或写一个字符是指针后一一位FENG=1;}if(set==2){write_com(0x38);//屏幕初始化write_com(0x80+0x40+15);//位置write_com(0x0f);//打开显示 无光标 光标闪烁write_com(0x06);//当读或写一个字符是指针后一一位FENG=1;}else if(set>=3)		 //设置完{set=0;			 //清零write_com(0x38);//屏幕初始化write_com(0x0c);//打开显示 无光标 无光标闪烁FENG=1;			//关闭蜂鸣器TR0=1;			//打开定时器}if(Key2==0&&set==1)	//加按键按下{while(Key2==0);		//按键释放FENG=0;				//打开蜂鸣器,做按键音WARNING2++;						//报警值加if(WARNING2>=255)				//报警值加到最大WARNING2=0;						//报警值清零write_com(0x80+0x40+4);			//选中位置显示报警值write_data('0'+WARNING2/100);	//将报警值拆开成单独的一位,显示。例如报警值是123,那么123除以100的商是1,这里显示的就是1write_data('0'+WARNING2/10%10);	//123除以10得到的商是12,,12除以10的余数就是2,这里显示的就是2write_data('0'+WARNING2%10);	//123除以10的余数是3,这里显示的就是3,数据+“0”是为了得到液晶中对应数字的显示码write_com(0x80+0x40+6);			//闪烁的位置FENG=1;							//关闭蜂鸣器}if(Key2==0&&set==2)					//注释同上{while(Key2==0);FENG=0;WARNING7++;if(WARNING7>=255)WARNING7=0;write_com(0x80+0x40+13);write_data('0'+WARNING7/100);write_data('0'+WARNING7/10%10);write_data('0'+WARNING7%10);write_com(0x80+0x40+15);//位置FENG=1;}if(Key3==0&&set==1){while(Key3==0);FENG=0;WARNING2--;if(WARNING2<=0)WARNING2=255;write_com(0x80+0x40+4);write_data('0'+WARNING2/100);write_data('0'+WARNING2/10%10);write_data('0'+WARNING2%10);write_com(0x80+0x40+6);//位置FENG=1;}if(Key3==0&&set==2){while(Key3==0);FENG=0;WARNING7--;if(WARNING7<=0)WARNING7=255;write_com(0x80+0x40+13);write_data('0'+WARNING7/100);write_data('0'+WARNING7/10%10);write_data('0'+WARNING7%10);write_com(0x80+0x40+15);//位置FENG=1;}
}

系统论文


Abstract

Along with the modern home with fire, electricity consumption increases, the frequency of home fires is getting higher and higher. Smoke detectors have also been widelyused in various occasions.

Wireless multifunctional fire alarm in the paper uses STC89C51 as the core controller,the realization of the basic functions of the gas sensor MQ-2, ADC0809 converter etc..Through these sensors and chips, when environmental smoke concentration or combustible gas concentration changes the system sends out corresponding light alarm signal and the sound alarm signal, in order to achieve smoke alarm, when the smoke reaches a certain range, the system can also drive the relay, the relay can drive a load, such as a ventilation fan, alarm signal lamp, fire hydrant water tap switchetc.. Implementation of intelligent alarm control.

Key words: MQ-2 gas sensor; fire alarm; MCU; intelligent control

1 绪论

1.1 课题的研究背景

火灾作为一种在时空上失去控制的燃烧所引发的灾害,对人类生命财产和社会安全构成了极大的威胁。由此引发的重大安全事故比皆是,所以人类一直也未停止过对它的研究。

火灾早已成为我国常发性和破坏性以及影响力最强的灾害之一。随着经济和城市建设的快速发展,城市高层、地下建筑以及大型综合性建筑日益增多,火灾隐患也大大增加,火灾发生的数量及其造成的损失呈逐年上升趋势。

   在过去的很长一段时间,人类不得不进行专题研究火灾过程中爆发,截至目前,已形成一个较为成熟的概念。火灾的发生和发展过程是一个复杂的物理和化学过程,但也与环境很强的相关性。正常情况下,发生火警,伴随着烟雾,温度,光照,信号产生的过程。产生不同的环境和不同的火燃烧成分,烟雾粒度组成,温度分布和光谱的气体成分是不同的,所以火过程中涉及多个物理和化学参数,特点是强大的,一般的骚乱有着本质的不同。基于上述特点,早起的火灾探测技术应运而生,特别是多的火灾探测技术被广泛采用在火灾探测领域,如复合材料的物理参数复合烟气温度探测器,使用不同的带光传感器的复合双波段火焰探测器。

    在我国,随着经济的发展和生活水平的提高,工业与民用建设日趋增多,火灾发生的可能性也随之大幅提高。另外,现代建筑物中塑料制品和玻璃的大量应用使火场内外部的求援行为困难重重。现代建筑,尤其是在大型酒店,宾馆,商场,图书馆,博物馆,档案馆和办公楼及其他公共场所,对于火灾报警系统也提出了更高的要求。一旦发生火灾将很难及时救助,势必要给国家和个人带来不可估量的损失。 

基于上述情况,火灾自动报警技术便应运而生,火灾自动报警系统是始终警惕火灾报警和输出联动忠实的哨兵火灾信号的有力手段,是一种早期预警。

1.2 课题的研究目的与意义

目的:随着现代家庭用火,用电增加,家庭火灾发生的频率越来越高。家庭火灾,很容易扑灭不及时,有着缺乏消防设备和在场的人战斗惊慌失措逃离缓慢的不利因素,最终导致的生命和财产的重大损失。消防部门的统计数据显示,所有的火灾比例中,家庭火灾占全国火灾的30%。家庭火灾的原因是多方面的,可能把我们的注意力,也可能隐藏在我们没有注意到的地方。

综上所述,许多人因不懂家庭安全常识引起火灾事故,使好端端的幸福家庭眼间毁于一旦,有的导致家破人亡,而且一旦发生居民家庭火灾,处置不当、报警迟缓,是造成人员伤亡的重要因素。所以说,人们应该积极了解家庭火灾的主要起因,还有预防火灾的发生。这就是我们研究声光报警器的目的。

意义:在中国的一些大、中型城市,几乎每一天发生家庭火灾,所以每一个家庭必须始终关注防火。如果能根据你家的实际情况,提前采取简单的防火措施,有些悲剧是完全可以避免的。声音和视觉的报警,对减少火灾损失具有现实意义。

 一系列悲剧性的损失,由国家从社会各界意识到,声光报警对火灾的报警的必要性。据调查,在最近的火灾大部分的房子里还没有安装报警器。因此声光报警,对发生火灾预防具有重要意义。

1.3 火灾报警器的发展与现状

近年来,无线火灾报警系统在国外已被开发,并走向实用。起初,无线火灾报警系统不仅是价格贵,还必须连接布线,这是只适合一些特殊的地方,检测设备的一部分。今天,几乎所有的电气装置,可以通过无线遥控改变,可广泛应用于各类建筑和场所。美国松柏公司(ITI)成立于1981年,是美国最大的无线报警系统制造商制造,其产品占90%的无线报警器在北美市场的年销售额已接近一亿美元。该公司生产的无线火灾报警系统还通过了中国的“国家消防电子产品质量监督检验测试中心”的监测,该系统可作为火灾报警系统,但也可作为一个安全的系统,两者的结合,是一个高科技的无线安全系统。

    火灾报警系统在中国相对较晚,与发达国家相比, 20世纪70年代末的十年间,中国开始研制生产的火灾报警系统。 20世纪80年代后,国内各大厂商也大多是模仿国外产品,或引进国外技术生产的,没有真正意义上的核心技术,市场刚刚开始发展。真正的火灾报警产品的发展也促进了市场的成熟,政府逐步开放的大门,在同一时间,外国公司开始进入中国的防火市场,带来先进的技术在20世纪90年代。此期间,中国生产的火灾报警产品的企业也得到了快速发展,在一些企业中,技术合作,合资生产,并取得了不菲的成绩,但今天在市场上创造了许多强大的企业,有些技术已接近或赶上国际标准。

1.4课题的研究内容

烟雾报警器,主要检测可燃气体和烟雾,再通过单片机控制相应的报警和驱动负载。通过液晶显示当前的烟雾值,通过按键设定相应的阀值。

该项目主要是为了完成任务,包括:

⑴硬件部分:包括传感器的选择,显示模块的选择,烟雾信号转换电路的设计,报警驱动电路的设计。

(2)软件部分:包括微处理器控制程序的编制和原理图的绘制。

(3)系统的综合调试与分析:在软硬件完成以后,要对系统进行综合的测试与实验,分析系统的可靠性与实用性,调整系统的不足。

2 火灾报警器的总体方案设计

本课题主要是实现烟雾报警和火灾发生时的报警及控制,下面分别对系统功能要求、系统技术要求及系统实现方案总体阐述。

2.1系统的功能要求

本系统的研制主要包括以下几项功能:

(1)火情探测功能:为了提高火灾报警的准确性和及时性,火灾报警系统需要使用各种方法进行火灾探测。在实际使用中,根据不同的防火场所,用户可以选用温度探测法、可燃气体检测法及烟雾探测法等合适的火灾探测方法,来有效的探测火灾;

(2)灯光报警功能:当室内烟雾浓度过大、有火情产生、故障等异常情况发生时,报警器要进行灯光报警。当烟雾超过最大设定值时,可以驱动火灾控制负载工作。

2.2 系统的技术要求

在了解这个系统的工作原理以及功能之后,我们就可以基本确定系统的技术要求。系统采用的单片机处理器成本都比较低,可以满足批量生产和各类工程的需求。对于完整的一个系统而言,为提高市场的竞争力,这个系统应符合体积小、功耗低、数传性能可靠和成本低廉等技术要求。具体指标和参数如下:

(1)体积小:探测器的体积要尽可能的小,这样占用的空间才能减少,使用和更换才会方便;

(2)功耗低:系统可以采用三节5号干电池供电或5v电源供电。

(3)可靠性高:由于不确定的电磁干扰可能存在在系统工作环境中,为了保证系统长时间的可靠工作,以及减少误报次数,所以选择多指示灯,指示不同的状态。

2.3 系统的组成及方案设计

本设计主要由烟雾探测传感器电路、单片机、灯光报警电路、负载驱动电路、控制程序和编解码程序等组成。

系统的组成结构如下:

图2.1

致谢

这次毕业设计得到了很多人的帮助,其中**老师对我的关心和支持尤为重要,每次遇到难题,我首先想到的就是向金老师寻求帮助。另外,他严谨的作风使我的论文即使在谨小细微处也给予了纠正,让我的论文无论是结构还是内容变得更加公整、紧凑,感谢金老师对我的悉心指导。

感谢校方给予我这样一次机会,能够独立地完成这样一个设计作为检验这些年来学习的成果,在这个过程当中,学校给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。再一次对我的母校表示感谢。

感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们,正是因为有了你们的帮助,才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识以外的东西,那就是团结的力量。


资源下载


如果有需要这个系统的源码、仿真、论文等资源的可以私信我。感谢你的阅读~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3248090.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【高中数学/指数函数、幂函数】寻找曲线y=2^x与y=x^2的三个交汇点

【问题】 找到曲线y2^x与yx^2的三个交汇点。 【难点】 指数和二次函数摆在一起没法求解。 【解答】 y2^x与yx^2的交汇点&#xff0c;即曲线y2^x-x^2的零点&#xff0c;用Canvas作图就能清晰看到三个零点的存在&#xff0c;如图。 【图一】 其中&#xff0c;2&#xff0c;…

自制连点器

B站使用教程&#xff1a;https://www.bilibili.com/video/BV1SR85e4EKw/?vd_source47eba1800d831e86d4778a128740fe73 下载链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1Spv_yVPFB3zoS__VL-nhaQ?pwdyxo1 提取码&#xff1a;yxo1

排序算法(4)之快速排序(1)

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 排序算法(4)之快速排序(1) 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目…

langchain循序渐进之langchain 安装及使用

pip安装langchain pip install langchain安装langsmith(可选) langsmith官方提示是用来观察大模型复杂调用情况&#xff0c;可选项。 [LangSmith]点击注册然后把秘钥填进去就行&#xff0c;这里我略过了 export LANGCHAIN_TRACING_V2"true" export LANGCHAIN_A…

【C++】模版初阶以及STL的简介

个人主页~ 模版及STL 一、模版初阶1、泛型编程2、函数模版&#xff08;1&#xff09;概念&#xff08;2&#xff09;函数模版格式&#xff08;3&#xff09;函数模版的原理&#xff08;4&#xff09;函数模版的实例化①显式实例化②隐式实例化 &#xff08;5&#xff09;模版参…

精益六西格玛项目赋能,石油机械龙头企业质量效率双提升!

​国内某石油机械制造龙头&#xff0c;迎接挑战&#xff0c;迈向卓越&#xff0c;携手张驰咨询&#xff0c;启动精益六西格玛项目&#xff0c;开启管理革新新篇章。 在国家政策调整和市场竞争日益激烈的背景下&#xff0c;作为国内石油机械产品制造领域的龙头企业&#xff0c;…

算法 —— LRU算法

算法 —— LRU算法 LRULRU算法的工作原理&#xff1a;实现方法&#xff1a;性能考虑&#xff1a; 模拟过程splice函数对于std::list和std::forward_list基本语法&#xff1a;功能描述&#xff1a; 示例&#xff1a;注意事项&#xff1a; 如果大家已经学习过了Cache的替换算法和…

Linux——Shell脚本和Nginx反向代理服务器

1. Linux中的shell脚本【了解】 1.1 什么是shell Shell是一个用C语言编写的程序&#xff0c;它是用户使用Linux的桥梁 Shell 既是一种命令语言&#xff0c;有是一种程序设计语言 Shell是指一种应用程序&#xff0c;这个应用程序提供了一个界面&#xff0c;用户通过这个界面访问…

开放式耳机2024哪家品牌比较好?2024年爆火开放式耳机推荐

很多小伙伴在后台私信我&#xff0c;滴滴我说&#xff0c;最近开放式耳机这么火&#xff0c;他也想要入手一台问问我&#xff0c;有哪些开放式耳机值得现在入手的&#xff0c;作为一个尽职尽业的数码博主&#xff0c;我本来是一个个回复的&#xff0c;但是私信没想到这么多&…

[C++初阶]list的模拟实现

一、对于list的源码的部分分析 1.分析构造函数 首先&#xff0c;我们一开始最先看到的就是这个结点的结构体&#xff0c;在这里我们可以注意到这是一个双向链表。有一个前驱指针&#xff0c;一个后继指针。然后在有一个存储数据的空间 其次它的迭代器是一个自定义类型&#x…

pyinstall 打包基于PyQt5和PaddleOCR的项目为.exe

简介&#xff1a; 最近做了一个小项目&#xff0c;是基于PyQt5和PaddleOCR的。需要将其打包为.exe&#xff0c;然后打包过程中遇到了很多问题&#xff0c;也看了很多教程&#xff0c;方法千奇百怪的&#xff0c;最后也是一步一步给试出来了。记录一下&#xff0c;防止以后忘记…

CSS基础学习之元素定位(6)

目录 1、定位类型 2、取值 2.1、static 2.2、relative 2.3、absolute 2.4、fixed 2.5、stickty 3、示例 3.1、相对定位(relative) 3.2、绝对定位&#xff08;absolute&#xff09; 3.3、固定定位&#xff08;fixed&#xff09; 3.4、粘性定位&#xff08;sticky&…

智慧互联新时代,Vatee万腾平台引领行业变革

在科技日新月异的今天&#xff0c;我们正步入一个前所未有的智慧互联新时代。这个时代&#xff0c;信息如潮水般涌来&#xff0c;数据成为新的石油&#xff0c;驱动着各行各业发生深刻变革。在这场变革的浪潮中&#xff0c;Vatee万腾平台以其卓越的智慧互联技术和前瞻性的战略布…

vue3前端开发-执行npm run dev提示报错怎么解决

vue3前端开发-执行npm run dev提示报错怎么解决&#xff01;今天在本地安装初始化了一个vue3的案例demo。但是当我执行npm run dev想启动它时报错了说&#xff0c;找不到dev。让我检查package.json文件是否包含dev。如下图所示&#xff1a; 实际上&#xff0c;不必惊慌&#xf…

2024全球和国内最常用的弱密码,有没有你的?

密码管理器NordPass分析了来自公开来源的超过4.3TB 的密码数据&#xff0c;找出了当前为止&#xff08;2024年&#xff09;最常用&#xff08;最脆弱&#xff09;的密码。 这些密码主要有下面这些特征&#xff1a; 简单且常用&#xff0c;万年弱密码&#xff0c;比如123456、a…

获利能力段部分特征值不更新,需要手动点派生才更新的问题

一、问题描述&#xff1a;销售订单修改某些特征值字段&#xff0c;保存后&#xff0c;获利能力段对应的字段值没更新。 比如&#xff1a;把销售订单销售组从Z09修改为Z04&#xff0c;保存后&#xff0c;获利能力段重的销售组还是旧值Z09。 1、修改销售组为Z04,然后保存 2、销售…

mac拆分pdf mac如何拆分pdf成多个文件

在数字化办公日益普及的今天&#xff0c;pdf文件因其良好的兼容性和便捷性&#xff0c;已经成为工作和学习中的重要文件格式。然而&#xff0c;有时候我们可能会遇到需要将一个大的pdf文件拆分成多个小文件的情况&#xff0c;以便于管一理和分享。本文将为您详细介绍两种简单易…

【BUG】已解决:java.lang.reflect.InvocationTargetException

已解决&#xff1a;java.lang.reflect.InvocationTargetException 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开发…

[word] word如何编写公式? #微信#知识分享

word如何编写公式&#xff1f; word如何编写公式&#xff1f;Word中数学公式是经常会使用到的&#xff0c;若是要在文档中录入一些复杂的公式&#xff0c;要怎么做呢&#xff1f;接下来小编就来给大家讲一讲具体操作&#xff0c;一起看过来吧&#xff01; 方法一&#xff1a;…

【机器学习】--过采样原理及代码详解

过采样&#xff08;Oversampling&#xff09;是一个在多个领域都有应用的技术&#xff0c;其具体含义和应用方法会根据领域的不同而有所差异。以下是对过采样技术的详细解析&#xff0c;主要从机器学习和信号处理两个领域进行阐述。 一、机器学习中的过采样 在机器学习中&…