新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 基于labview的煙霧報警系統(tǒng)

基于labview的煙霧報警系統(tǒng)

作者: 時間:2017-01-06 來源:網絡 收藏
器材:計算機(裝有l(wèi)abview) SL-1型單片機開發(fā)試驗箱一個、MQ-2氣體模塊一個、ADC0809芯片。

實現(xiàn)功能:通過上位機實時監(jiān)測氣體濃度,并與上位機設定的報警閥值比較,若超過氣體濃度報警值,則上下位機同時報警。 實時改變氣體報警值,通過上位機傳給下位機判斷。

本文引用地址:http://m.butianyuan.cn/article/201701/337084.htm

電路原理圖:參見ADC0809datasheet和MQ-2氣體傳感器模塊參數(shù)。傳感器根據(jù)氣體濃度輸出0~5V模擬電壓輸入到0809的模擬輸入端。

調式:通過串口調試助手檢測數(shù)據(jù)傳送的正確性。

程序:

#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中斷優(yōu)先級低

uchar DATA; //存放A/D轉換數(shù)據(jù)

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設置串口參數(shù)

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轉換后的數(shù)據(jù)

delayxus(20);

OE=0;

}


上一頁 1 2 下一頁

評論


技術專區(qū)

關閉