新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于labview的烟雾报警系统

基于labview的烟雾报警系统

作者: 时间:2017-01-06 来源:网络 收藏
器材:计算机(装有labview) SL-1型单片机开发试验箱一个、MQ-2气体模块一个、ADC0809芯片。

实现功能:通过上位机实时监测气体浓度,并与上位机设定的报警阀值比较,若超过气体浓度报警值,则上下位机同时报警。 实时改变气体报警值,通过上位机传给下位机判断。

本文引用地址:https://www.eepw.com.cn/article/201701/337084.htm

电路原理图:参见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;

}


上一页 1 2 下一页

评论


技术专区

关闭