标题:
单片机烟雾传感器报警实验程序
[打印本页]
作者:
liusisi
时间:
2017-12-19 18:28
标题:
单片机烟雾传感器报警实验程序
产品概述
Z-MQ-01模组采用MQ-2气体传感器配合8位高性价比单片机, 内部已做 AD 采集, 用户只需串口读数据即可,方便使用。该模组对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。
0.png
(113.94 KB, 下载次数: 45)
下载附件
2017-12-19 20:58 上传
单片机源程序如下:
#include<reg52.h>
#define buf_len 9
unsigned char temp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char write_buf[buf_len] = {0xff,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79};
char read_buf[buf_len] = {0};
unsigned char uart_len = 0;
unsigned char uart_RX_num = 0;
void delay_ms(int ntime)
{
int i;
while(ntime--)
for(i = 0; i<120; i++);
}
void uart_init(void)
{
TMOD=0x20; //用来定时器设置
TH1=0xfd; //设置初值 9600=(2的SMOD次方/32)*(TI溢出率)=(1/32)*(11059200/12)/(256-X)
TL1=0xfd;
TR1=1; //开启定时器1
SM0=0; //设置串行口工作方式
SM1=1;
REN=1; //允许串行接收位
EA=1; //开启总中断
ES=1; //开启串口中断
//ES = 1;
}
void main(void)
{
unsigned int i =0;
unsigned int oldcount = 0;
unsigned char flag = 1;
unsigned char g,s,b;
uart_init();
P1 = 0x00;
P0 = 0x00;
while(1)
{
if(flag)
{
flag = 0;
ES=0; //关闭串口中断
for(i=0; i<9; i++)
{
SBUF = write_buf[i]; //发送数据a到SBUF,即将单片机的数据发送到计算机
while(!TI); //发送数据后,TI自动置1
TI=0; //TI置0,才能进行下次发送
}
ES=1; //打开中断
}
i = 100;
while(i--)
{
P1 = 0x01;
P0 = temp[g];
delay_ms(5) ;
P1 = 0x02;
P0 = temp[s];
delay_ms(5);
P1 = 0x04;
P0 = temp[b];
delay_ms(5);
}
if(uart_RX_num)
{
if(uart_RX_num == oldcount)
{
ES=0; //关闭串口中断
for(i=0; i<buf_len; i++)
{
SBUF = read_buf[i]; //发送数据a到SBUF,即将单片机的数据发送到计算机
while(!TI); //发送数据后,TI自动置1
TI=0; //TI置0,才能进行下次发送
}
g = (read_buf[3]%16);
s = (read_buf[3]/16);
b = (read_buf[2]%16);
ES=1; //打开中断
flag = 1;
}
else
oldcount = uart_RX_num;
}
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
烟雾传感器.zip
(230.68 KB, 下载次数: 111)
2017-12-19 18:25 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
517072274
时间:
2018-5-31 20:07
666666
作者:
ggt
时间:
2018-12-21 20:04
666666可以
作者:
单片机不归路
时间:
2019-4-20 19:25
楼主的程序相当及时,烟雾传感器的控制程序网上比较少,此处应当有掌声
作者:
itsufan
时间:
2020-5-7 16:25
谢谢分享,学习学习
作者:
228972436
时间:
2020-5-8 10:16
有显示浓度的吗
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1