基于51单片机的MQ-5天然气监测报警系统设计

该博客介绍了基于51单片机的MQ-5天然气监测报警系统,系统由51单片机、MQ-5传感器等组件构成,能实时检测天然气浓度并在浓度超标时触发报警和风扇疏散。设计包括实物和仿真两部分,具有明确的功能说明和原理图,适用于家庭燃气泄漏的安全防范。
摘要由CSDN通过智能技术生成

基于51单片机的天然气监测报警系统设计

视频

基于51单片机的MQ-5天然气监测报警系统设计

1 开发环境

仿真图:proteus8.9以上

程序代码:KEIL4/KEIL5

原理图:AD

设计编号:A0008

2 功能说明介绍

结合实际情况,基于51单片机设计一个天然气监测报警统设计。该系统应满足的功能要求为:

实物功能:

本设计由51单片机+MQ-5传感器模块电路+3个LED指示灯电路+蜂鸣器报警电路+PCF8591AD模块+风扇控制电路+继电器电路+电源电路组成。

1、MQ-5实时检测煤气浓度,浓度分为低中高3档,并分别用绿灯、黄灯和红灯指示,浓度到达相应的档位,则相应的灯亮,指示灯指示安全状态。

2、当浓度达到高档的时候,蜂鸣器报警,风扇启动,疏散煤气,继电器工作驱动负载断开煤气阀;

3、当浓度达到中档时,继电器工作,驱动负载断开煤气阀。

仿真功能:

本设计由51单片机+MQ-5传感器模块电路+LED指示灯电路+蜂鸣器报警电路+ADC0832模块+风扇控制电路+继电器电路+电源电路组成。

1、MQ-5实时检测煤气浓度,浓度分为2档,并分别用绿灯红灯指示,浓度到达相应的档位,则相应的灯亮,指示灯指示安全状态。

2、当浓度达到高档的时候,蜂鸣器报警,风扇启动,疏散煤气,继电器工作驱动负载断开煤气阀;红灯闪烁。

3、当浓度达到低档时,风扇关闭,煤气阀正常工作,绿灯闪烁。

3 仿真图

AT89C51可以替换为AT89C52,实物可以换做STC89C51,STC89C52

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS16位单片机,片内含4k bytes的可反复擦写的只读程序存储器和128 bytes的随机存取数据存储器,期间采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用16位中央处理器和Flash存储单元,功能强大的AT89C51单片机可灵活应用于各种控制领域。

AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个1 6位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

本系统中央控制器采用的AT89C51单片机,复位电路采用上电复位电路。外接的晶振为12MHz晶振。

img

4 程序

工程文件使用Keil4/keil5打开。编译产生hex加载到对应的单片机中。实物代码和仿真代码略有不同。分别的工程文件。

img

代码

#include <reg52.h> 
#include <intrins.h>
#include <stdio.h>
#include "i2c.h"
#include "delay.h"

sbit fengshan = P1^0;  //接口定义
sbit buzzer = P1^1;
sbit relay = P1^2;  
sbit LED_GRE = P1^3;  
sbit LED_YEL = P1^4;
sbit LED_RED = P1^5;

unsigned long time_20ms=0;	//定时变量
unsigned char dis0[16];		//数组暂存
unsigned char midVolt ;		//ad采集电压
unsigned char i; 

void Init_Timer0(void);//函数声明
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值