新聞中心

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

        基于labview的煙霧報警系統

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

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

        本文引用地址:http://www.104case.com/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 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 颍上县| 汝城县| 张家港市| 神木县| 察隅县| 哈尔滨市| 潢川县| 西城区| 乌拉特前旗| 嵊泗县| 湘潭县| 福清市| 涪陵区| 阳信县| 郑州市| 漳平市| 阜平县| 东丽区| 昌宁县| 白玉县| 双鸭山市| 高清| 永顺县| 永清县| 汨罗市| 铁力市| 兰州市| 井冈山市| 磴口县| 平江县| 定边县| 隆尧县| 永定县| 陆河县| 张北县| 马边| 北川| 侯马市| 杭州市| 肇东市| 宿松县|