本设计由STC89C52单片机电路+LCD1602液晶显示电路+MQ-2甲烷传感器模块电路+MQ-3酒精传感器模块电路+MQ-9 CO传感器电路+A/D采样PCF8591电路+蜂鸣器报警电路+LED指示灯电路+按键电路+蓝牙模块电路+电源电路组成。
1、LCD1602液晶实时显示当前的甲烷浓度、酒精浓度和CO浓度。
2、如果甲烷浓度或酒精浓度或CO浓度超过设定的阈值,则蜂鸣器报警,否则蜂鸣器不报警。
3、如果甲烷浓度超过设定的阈值,则红灯亮,否则红灯灭。
4、如果酒精浓度超过设定的阈值,则绿灯亮,否则绿灯灭。
5、如果甲CO浓度超过设定的阈值,则黄灯亮,否则黄灯灭。
6、可以通过按键设置煤气浓度、酒精浓度和CO浓度的阈值。
7、通过蓝牙模块将液晶显示的数据实时上传到手机蓝牙APP。
#include <include.h>
sbit LED_Y = P1^7; //绿灯
sbit LED_G = P1^6; //黄灯
sbit LED_R = P1^5; //红灯
sbit buzer = P1^4; //蜂鸣器
char dis0[17]; //打印数组初始化
char dis1[17]; //打印数组初始化
unsigned long time_20ms=0; //定时器计数
unsigned char safeNong_jiawan = 80; //甲烷浓度
unsigned char safeNong_jiujing = 80; //酒精浓度
unsigned char safeNong_co = 80; //CO浓度
unsigned char readAdc = 0; //adc读取标志
unsigned char rekey = 0; //防止按键重复按下
unsigned char setFlag = 0;
void Init_Timer0(void);
long jiawanNongDu = 0; //甲烷浓度
long jiujingNongDu = 0; //酒精浓度
long coNongDu = 0; //CO浓度
void main (void)
{
unsigned char midvolt;
Init_Timer0(); //定时器0初始化
InitUART(9600);
while (1) //主循环
{
if(readAdc == 1)
文章转自电设屋,资料百度网盘下载地址 https://www.aiesst.cn/share.html