#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit EN=P2^0;
sbit RS=P2^1;
sbit RW=P2^2;
sbit CS=P2^3;
sbit MQ2=P1^0;
sbit HW484=P1^1;
uchar count, MQ2_val;
bit HW484_val;
void Init()
{
// 初始化液晶屏和zigbee模块
}
void DisplayData(uchar data)
{
// 在液晶屏上显示数据
}
void SendData(uchar data)
{
// 通过zigbee模块发送数据
}
void DelayMs(uint n)
{
// 延时函数
}
void PumpControl(bit status)
{
if(status == 1)
{
EN = 0;
RW = 0;
RS = 0;
P0 = 0x01; // 启动水泵
DelayMs(1000);
P0 = 0x00; // 停止水泵
}
}
void main()
{
Init();
while(1)
{
MQ2_val = MQ2; // 读取MQ-2传感器的数据
if(MQ2_val > 100) // 设置烟雾浓度阈值
{
DisplayData(MQ2_val); // 在液晶屏上显示烟雾浓度
SendData(MQ2_val); // 发送烟雾浓度数据到远程控制端
}
HW484_val = HW484; // 读取HW-484传感器的数据
if(HW484_val == 1) // 检测到火焰
{
DisplayData("Fire detected!");
SendData("Fire detected!");
PumpControl(1); // 启动水泵进行灭火
}
DelayMs(500); // 采样间隔
}
}
|