基于单片机的Wi-Fi无线气体检测报警系统设计
创作时间:
作者:
@小白创作中心
基于单片机的Wi-Fi无线气体检测报警系统设计
引用
CSDN
1.
https://blog.csdn.net/weixin_42341109/article/details/140938568
本文介绍了一种基于单片机的Wi-Fi无线气体检测报警系统设计,该系统能够监测烟雾、一氧化碳和氧气的浓度,并通过LCD1602显示屏实时显示。系统还支持阈值调节、声光报警以及上位机数据传输等功能。文章提供了详细的源代码和工程文件,适合从事单片机开发和嵌入式系统设计的读者参考。
功能描述
使用单片机实现烟雾浓度、一氧化碳浓度、氧气浓度的监测,可以实时监测当前系统中的气体浓度。可以通过按键手动的设置烟雾、一氧化碳、氧气浓度的报警阈值,当超过阈值会进行声学与光学报警。使用上位机传输模拟WIFI无线传输的功能。
- 烟雾浓度监测
- 一氧化碳浓度监测
- 氧气浓度监测
- 人机交互阈值调节
- 声学与光学报警
- LCD1602浓度实时监测
- 上位机数据传输,模拟WIFI传输的功能
提供的资料
- 源代码(KEIL4)
- 仿真工程文件
- 原理图工程文件
- 虚拟串口软件
- 串口助手(上位机软件)
- 软件安装使用教程
以下是部分源代码示例:
#include <reg52.h>
#include "ds18b20.h"
#include <I2C.H>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
#define PCF8591 0x90
sbit rs = P2^0;
sbit rw = P2^1;
sbit e = P2^2;
sbit k1=P3^2;
sbit k2=P3^3;
sbit k3=P3^4;
sbit beep=P2^6;
sbit led1=P2^3;
sbit led2=P2^5;
sbit led3=P2^4;
uchar ad,mos;
uchar code xianshi1[]=" Íß˹Ũ¶È:";
uchar code xianshi2[]=" Ò»Ñõ»¯Ì¼Å¨¶È:";
uchar code xianshi3[]=" ÑõÆøÅ¨¶È:";
uchar xianshi4[20];
uchar code xianshi5[]=" ÈÝÁ¿";
uchar code xianshi6[]="%";
uchar code xianshi7[]="********* WIFI ´«ÊäÒÑ¿ªÆô£¡*********\r\n";
uchar code xianshi8[]=" \r\n";
uchar Dat_rxd;
uint aa;
uint DV,DL,DN,power;
uint DN_s = 50,DV_s=50,DL_s=50;
bit bb,temp_b,dv_b,dl_b;
void delay(uchar ms)
{ // ÑÓʱ×Ó³ÌÐò
uchar i ;
while(ms--)
{
for(i = 0 ; i<250;i++) ;
}
}
void wr_com(unsigned char com)
{
// дÈëÖ¸ÁîÊý¾Ýµ½LCD
rs = 0 ;
rw = 0 ;
e = 0 ;
P0 = com ;
delay(1);
e = 1 ;
delay(1);
e = 0 ;
}
void wr_dat(unsigned char dat)
{
//дÈë×Ö·ûÏÔʾÊý¾Ýµ½LCD
rs = 1 ;
rw = 0 ;
e = 0 ;
P0 = dat ;
delay(1);
e = 1 ;
delay(1);
e = 0 ;
}
void LCD_write_string(uchar x,uchar y,uchar *s)
{
if (y == 0)
{
wr_com(0x80 + x); //±íʾµÚÒ»ÐÐ
}
else
{
wr_com(0xC0 + x); //±íʾµÚ¶þÐÐ
}
while (*s) //ÅжÏÊÇ·ñ×Ö·û´®µÄ½áβ
{
wr_dat( *s); //ÏÔʾµ±Ç°×Ö·û
s ++; //×Ö·û´®µØÖ·¼Ó1
}
}
void LCD_write_char(uchar x,uchar y,uchar Data)
{
if (y == 0)
{
wr_com(0x80 + x);
}
else
{
wr_com(0xC0 + x);
}
wr_dat(Data);
}
/*******************************************************************
ADC·¢ËÍ×Ö½Ú[ÃüÁî]Êý¾Ýº¯Êý
*******************************************************************/
bit ISendByte(unsigned char sla,unsigned char c)
{
Start_I2c(); //Æô¶¯×ÜÏß
SendByte(sla); //·¢ËÍÆ÷¼þµØÖ·
if(ack==0)return(0);
SendByte(c); //·¢ËÍÊý¾Ý
if(ack==0)return(0);
Stop_I2c(); //½áÊø×ÜÏß
return(1);
}
/*******************************************************************
ADC¶Á×Ö½ÚÊý¾Ýº¯Êý
*******************************************************************/
unsigned char IRcvByte(unsigned char sla)
{ unsigned char c;
Start_I2c(); //Æô¶¯×ÜÏß
SendByte(sla+1); //·¢ËÍÆ÷¼þµØÖ·
if(ack==0)return(0);
c=RcvByte(); //¶ÁÈ¡Êý¾Ý0
Ack_I2c(1); //·¢ËͷǾʹðλ
Stop_I2c(); //½áÊø×ÜÏß
return(c);
}
void key()
{
if(k1==0)
{
delay(5);
if(k1==0)
{
delay(5);
while(!k1);
mos++;
if(mos==4) mos=0;
}
}
if(k2==0)
{
delay(5);
if(k2==0)
{
while(!k2);
if(mos==1){if(DV_s<100)DV_s=DV_s+1;}
if(mos==2){if(DL_s<100)DL_s=DL_s+1;}
if(mos==3){if(DN_s<100)DN_s=DN_s+1;}
}
}
if(k3==0)
{
delay(5);
if(k3==0)
{
while(!k3);
if(mos==1){if(DV_s>0)DV_s=DV_s-1;}
if(mos==2){if(DL_s>0)DL_s=DL_s-1;}
if(mos==3){if(DN_s>0)DN_s=DN_s-1;}
}
}
}
void send_string(uchar *p)
{
while(*p!= '\0')
{
SBUF=*p;
p++;
while(TI==0);
TI=0;
}
}
热门推荐
1小时+!深中通道开通后,往返横琴、澳门这样走!
深圳法律便民热线再升级,服务更贴心
肝脏最爱的果蔬清单,你知道几个?
高平陵之变开启司马时代,八王之乱终结晋室江山
用凤梨改良卤肥肉,告别油腻更健康
北海春季旅游攻略:从银滩到涠洲岛的最佳游览指南
失眠时该不该躺在床上?科学证据告诉你答案
肺腺癌 vs 肺癌:从发病到治疗的五大差异
郑单958 vs 华山661:谁才是高产玉米种子之王?
C罗家的高压氧治疗机,真香警告!
北方家庭冬天如何照顾猫咪
内存条的重要性与未来发展:提升电脑性能的关键
爱眼日教你护眼模式怎么开
日本职场新人必修课:电话礼仪与“ホウ·レン·ソウ”法则
《英雄联盟》圣堂级皮肤引爆玩家热议:1760元的金克丝皮肤值不值得买?
一文读懂公司清算:四大程序与多重事由
糖尿病新药上市,口服降糖药市场再掀波澜
告别杂乱,提升空间感:打造完美收纳户型的四大原则
别再读错!"拨冗莅临"的含义与商务场景应用全解析
啤酒伤胃?这几招让你秒变肠胃达人
冬季冰箱保养必看:康佳双15天生态原鲜冰箱温度补偿设置
积极探索、有效保护,让历史建筑“活”起来
朱婷13分助科内利亚诺登顶,世俱杯成就“大满贯”
遵循5大康复要点,肝癌术后患者如何预防复发
新能源汽车核心技术之“大三电”、“小三电”
TPO防水卷材:光伏屋顶防水的首选材料
刘兰英剪纸艺术:用陕北风情诠释东方艺术魅力
苹果:全方位健康水果的秘密
身体的这个地方异常,可能是脑梗的预警,及早发现能救命~
新型储能技术:下一个投资风口?