版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
智能家居的單片機(jī)安防系統(tǒng)軟件設(shè)計(jì)案例概述目錄TOC\o"1-3"\h\u7104智能家居的單片機(jī)安防系統(tǒng)軟件設(shè)計(jì)案例概述 1324811.1數(shù)據(jù)采集模塊 1212051.1.2溫度采集模塊 1281321.1.1濕度采集模塊 3274281.1.3煙霧濃度采集模塊 337201.1.4可燃?xì)怏w濃度采集模塊 4326731.2A/D轉(zhuǎn)換模塊 5216211.3顯示與報(bào)警模塊 6286211.1.1液晶顯示模塊 6229701.4按鍵設(shè)置模塊 930131.5主程序模塊 10智能家居安防系統(tǒng)的程序模塊主要包括:獲取溫度數(shù)值程序、獲取濕度數(shù)值程序、獲取煙霧濃度數(shù)值程序、獲取可燃?xì)怏w濃度數(shù)值的程序、LCD液晶顯示程序、蜂鳴器報(bào)警程序、A/D轉(zhuǎn)換程序以及按鍵讀取程序,還有主程序模塊等。通過編程使傳感器采集相關(guān)的數(shù)據(jù),輸出是模擬信號的通過A/D轉(zhuǎn)換程序依次轉(zhuǎn)化為數(shù)字信號,通過串口傳送到單片機(jī),數(shù)據(jù)經(jīng)過處理后顯示到LCD上,并與閾值進(jìn)行對比,在達(dá)到條件時(shí)控制蜂鳴器報(bào)警。另外,當(dāng)讀到有按鍵觸發(fā)時(shí),LCD上顯示閾值調(diào)整的情況。1.1數(shù)據(jù)采集模塊1.1.2溫度采集模塊上電后,整個系統(tǒng)初始化,在接收到單片機(jī)發(fā)出的開始信號后,傳感器進(jìn)行溫度的采集,接收溫度的整數(shù)部分和小數(shù)部分并進(jìn)行數(shù)據(jù)校驗(yàn),數(shù)據(jù)接收正確后,單片機(jī)控制LCD顯示具體溫度數(shù)值。其程序流程如圖5-1所示:圖5-1DHT11采集溫度程序流程圖具體程序如下:voidDHT11_receive(){ unsignedcharR_H,R_L,T_H,T_L,RH,RL,TH,TL,revise; DHT11_start(); if(Data==0) { while(Data==0); DHT11_delay_us(40); R_H=DHT11_rec_byte(); R_L=DHT11_rec_byte(); T_H=DHT11_rec_byte(); T_L=DHT11_rec_byte(); revise=DHT11_rec_byte(); DHT11_delay_us(25); if((R_H+R_L+T_H+T_L)==revise) { RH=R_H; RL=R_L; TH=T_H; TL=T_L;shidu=RH; wendu=TH; } }}1.1.1濕度采集模塊檢測濕度與溫度采用的是同一傳感器,在對濕度進(jìn)行采集后,接收濕度數(shù)據(jù)的整數(shù)部分和小數(shù)部分并校驗(yàn),經(jīng)判斷接收正確后再通過LCD1602顯示具體的濕度數(shù)據(jù)。其程序流程如圖5-2所示:圖5-2DHT11采集濕度程序流程圖由于與溫度采集在同一個函數(shù)中完成,因此程序代碼在此不再贅述。1.1.3煙霧濃度采集模塊煙霧傳感器模塊由于輸出的是電壓,單片機(jī)不能直接處理,因此系統(tǒng)初始化后,隨即進(jìn)行煙霧濃度的采集,將輸出的電壓通過串口傳輸?shù)紸DC0832,隨后ADC0832將模擬信號轉(zhuǎn)化為數(shù)字信號后再傳送給單片機(jī),最后將數(shù)據(jù)顯示到LCD上。圖5-3MQ-2檢測煙霧程序流程圖相關(guān)代碼如下:voidMQ_2data(void){ floatADC_1; ADC_1=ADC0832_ADC(0); ADC_1=(ADC_1/255)*100; MQ_2=(int)ADC_1;}1.1.4可燃?xì)怏w濃度采集模塊可燃?xì)怏w傳感器模塊與煙霧濃度傳感器模塊類似,同樣在感受到可燃?xì)怏w濃度后要先通過A/D轉(zhuǎn)換。其程序流程圖如下:圖5-4MQ-5檢測可燃?xì)怏w程序流程圖相關(guān)代碼如下:voidMQ_5data(void){floatADC_2;ADC_2=ADC0832_ADC(1);ADC_2=(ADC_2/255)*100;MQ_5=(int)ADC_2;}1.2A/D轉(zhuǎn)換模塊由于MQ-2與MQ-5傳感器輸出的是模擬電壓信號,如果直接連接到單片機(jī),單片機(jī)沒有辦法對他們的數(shù)據(jù)進(jìn)行處理,因此必須先經(jīng)過ADC0832的轉(zhuǎn)換,將模擬信號轉(zhuǎn)化為數(shù)字信號,再傳輸?shù)絾纹瑱C(jī),單片機(jī)才能正常識別。其轉(zhuǎn)換過程代碼如下:ucharADC0832_ADC(charCH){ uchari,dat1=0,dat2=0; CS=0;CLK=0;DIO=1;_nop_();_nop_(); CLK=1;_nop_();_nop_(); CLK=0;DIO=1;_nop_();_nop_(); CLK=1;_nop_();_nop_(); if(CH==0) { CLK=0;DIO=0;_nop_();_nop_();CLK=1;DIO=1;_nop_();_nop_(); } if(CH==1) { CLK=0;DIO=1;_nop_();_nop_();CLK=1;DIO=0;_nop_();_nop_(); } CLK=0;DIO=1;_nop_();_nop_(); for(i=0;i<8;i++) { CLK=1;_nop_();_nop_(); CLK=0;_nop_();_nop_(); dat1=dat1<<1|DIO; } for(i=0;i<8;i++) { dat2=dat2|((uchar)(DIO)<<i); CLK=1;_nop_();_nop_(); CLK=0;_nop_();_nop_(); } CS=1; return(dat1==dat2)?dat1:0; }1.3顯示與報(bào)警模塊1.1.1液晶顯示模塊在采集到相關(guān)的數(shù)據(jù)之后,為了能讓人們親眼觀察到數(shù)據(jù)的變化,處理完的最終結(jié)果要通過LCD1602進(jìn)行顯示,首先要對LCD進(jìn)行初始化。初始化代碼如下:voidLCD1602_Init(){ lcdrw=0; lcden=0; Write_Cmd(0x38); Write_Cmd(0x0e); Write_Cmd(0x06); Write_Cmd(0x01); Write_Cmd(0x80); Write_Cmd(0x0c);}LCD1602顯示兩行數(shù)據(jù),上一行前面顯示煙霧濃度,然后緊鄰著顯示溫度,下一行前面顯示可燃?xì)怏w濃度,后面緊鄰著顯示濕度,在數(shù)值達(dá)到閾值時(shí)蜂鳴器發(fā)出報(bào)警聲。代碼如下:voidDisplay_00(void){ LCD1602_Show(0,0,"MQ-2:"); LCD1602_num(5,0,3,MQ_2); LCD1602_Show(8,0,"%"); LCD1602_Show(9,0,"WD:"); LCD1602_num(12,0,3,wendu); LCD1602_Show(15,0,"C"); LCD1602_Show(0,1,"MQ-5:"); LCD1602_num(5,1,3,MQ_5); LCD1602_Show(8,1,"%"); LCD1602_Show(9,1,"SD:"); LCD1602_num(12,1,3,shidu); LCD1602_Show(15,1,"%"); if(KEY1_num==1){KEY1_num=0;LCD1602_Rest();DisplayFlag=1;} if(KEY4_num==1){KEY4_num=0;LCD1602_Rest();DisplayFlag=4;} if((MQ_2>MQ_2Flag)||(MQ_5>MQ_5Flag)||(shidu>ShiduFlag)||(wendu>WenduFlag))FMQ=0; elseFMQ=1;}此外,對于閾值的調(diào)整也可以進(jìn)行實(shí)時(shí)地顯示,代碼如下:對于煙霧濃度閾值的設(shè)置顯示如下:voidDisplay_01(void){ LCD1602_Show(0,0,"ThresholdSetting"); LCD1602_Show(0,1,"MQ-2:"); LCD1602_num(5,1,3,MQ_2Flag); LCD1602_Show(8,1,"%"); if(KEY2_num==1){MQ_2Flag=MQ_2Flag+1;KEY2_num=0;} if(KEY3_num==1){MQ_2Flag=MQ_2Flag-1;KEY3_num=0;}if(KEY1_num==1){LCD1602_Rest();DisplayFlag=0;KEY1_num=0;} if(KEY4_num==1){LCD1602_Rest();DisplayFlag=2;KEY4_num=0;} if(MQ_2Flag>100)MQ_2Flag=0; if(MQ_2Flag<0)MQ_2Flag=100; }對于溫度閾值的設(shè)置顯示如下:voidDisplay_03(void){ LCD1602_Show(0,0,"ThresholdSetting"); LCD1602_Show(0,1,"WD:"); LCD1602_num(3,1,3,WenduFlag); LCD1602_Show(6,1,"C"); if(KEY2_num==1){WenduFlag=WenduFlag+1;KEY2_num=0;} if(KEY3_num==1){WenduFlag=WenduFlag-1;KEY3_num=0;}if(KEY1_num==1){LCD1602_Rest();DisplayFlag=2;KEY1_num=0;} if(KEY4_num==1){LCD1602_Rest();DisplayFlag=4;KEY4_num=0;} if(WenduFlag>100)WenduFlag=0; if(WenduFlag<0)WenduFlag=100; }對于可燃?xì)怏w濃度閾值的設(shè)置顯示如下:voidDisplay_02(void){ LCD1602_Show(0,0,"ThresholdSetting"); LCD1602_Show(0,1,"MQ-5:"); LCD1602_num(5,1,3,MQ_5Flag); LCD1602_Show(8,1,"%"); if(KEY2_num==1){MQ_5Flag=MQ_5Flag+1;KEY2_num=0;} if(KEY3_num==1){MQ_5Flag=MQ_5Flag-1;KEY3_num=0;}if(KEY1_num==1){LCD1602_Rest();DisplayFlag=1;KEY1_num=0;} if(KEY4_num==1){LCD1602_Rest();DisplayFlag=3;KEY4_num=0;} if(MQ_5Flag>100)MQ_5Flag=0; if(MQ_5Flag<0)MQ_5Flag=100; }對于濕度閾值的設(shè)置顯示如下:voidDisplay_04(void){ LCD1602_Show(0,0,"ThresholdSetting"); LCD1602_Show(0,1,"SD:"); LCD1602_num(3,1,3,ShiduFlag); LCD1602_Show(6,1,"%"); if(KEY2_num==1){ShiduFlag=ShiduFlag+1;KEY2_num=0;} if(KEY3_num==1){ShiduFlag=ShiduFlag-1;KEY3_num=0;}if(KEY1_num==1){LCD1602_Rest();DisplayFlag=3;KEY1_num=0;} if(KEY4_num==1){LCD1602_Rest();DisplayFlag=0;KEY4_num=0;} if(ShiduFlag>100)ShiduFlag=0; if(ShiduFlag<0)ShiduFlag=100; }1.4按鍵設(shè)置模塊對于溫度、濕度、煙霧濃度、可燃?xì)怏w濃度的閾值都可以通過按鍵進(jìn)行相應(yīng)的調(diào)整。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理課件公眾號分享-1
- 中國共識意見解讀
- 巧克力禮盒話術(shù)
- 2026秋招:西藏高馳科技信息產(chǎn)業(yè)集團(tuán)試題及答案
- 2026秋招:歌爾股份試題及答案
- 2026秋招:富春江通信集團(tuán)試題及答案
- 2026年建筑施工進(jìn)度款支付合同
- 2026年車載智能電池管理協(xié)議
- 虛擬現(xiàn)實(shí)培訓(xùn)合同2025年協(xié)議
- 2025年自動駕駛測試場建設(shè)協(xié)議(2025年)
- 多維空間建筑施工方案
- 變電站土建安全培訓(xùn)課件
- 安全生產(chǎn)三管三必須培訓(xùn)課件
- 2025年國家司法考試試題及答案
- 房建施工工藝流程
- 食堂消防安全管理制度完整版食堂消防管理制度
- 線上線下融合的市場營銷策略分析報(bào)告2025
- 設(shè)備合作協(xié)議合同范本
- 牙科聘請醫(yī)生合同范本
- 充電樁租賃合同2025年行業(yè)標(biāo)準(zhǔn)版
- 2025年水空調(diào)行業(yè)分析報(bào)告及未來發(fā)展趨勢預(yù)測
評論
0/150
提交評論