您的位置 首页 模拟

根据labview的烟雾报警体系

器材:计算机(装有labview)SL-1型单片机开发试验箱一个、MQ-2气体模块一个、ADC0809芯片。实现功能:通过上位机实时监测气体浓度,并与

器件:计算机(装有labview) SL-1型单片机开发试验箱一个、MQ-2气体模块一个、ADC0809芯片。

完成功用:经过上位机实时监测气体浓度,并与上位机设定的报警阀值比较,若超越气体浓度报警值,则上下位机一起报警。 实时改动气体报警值,经过上位机传给下位机判别。

电路原理图:拜见ADC0809datasheet和MQ-2气体传感器模块参数。传感器依据气体浓度输出0~5V模仿电压输入到0809的模仿输入端。

调式:经过串口调试帮手检测数据传送的正确性。

程序:

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit CLK=P3^3 ; //时钟输出

sbit ST=P2^0; //发动转化输入信号

sbit OE=P2^1; //答应输出信号

sbit EOC=P3^2; //运用中止,则比T0中止优先级低

uchar DATA; //寄存A/D转化数据

sbit Beep=P2^7;

uchar aa;

void delayxms(uint x) //延时

{

uint i,j;

for(i=x;i>0;i–)

for(j=110;j>0;j–);

}

void delayxus(uint x) //延时xus

{

uint i;

for(i=x;i>0;i–)

_nop_();

}

void init(void)

{

TMOD=0x22; //定时器0主动重装8位,用于发生CLK,定时器1设置串口参数

TH0=237; //50kHZ

TL0=237;

TL1=0xf3;

TH1=0xf3;//2400bps

TR1=1;

TR0=1;

SM0=0;

SM1=1;

EA=1;

ET0=1;

ES=1;

REN=1;

ST=0;

OE=0;

}

void ADC0809()

{

ST=0;

OE=0;

//LE=1;P0=0x00;LE=0; //挑选通道

delayxus(2);

ST=1; //发动AD转化

delayxus(10);

ST=0;

delayxus(200);

while(EOC==0); //查询EOC=1时,转化结束

OE=1;

DATA=P1;//DATA为AD转化后的数据

delayxus(20);

OE=0;

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/213871.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部