【基于單片機(jī)煙霧檢測(cè)系統(tǒng)的軟件設(shè)計(jì)案例】1300字_第1頁(yè)
【基于單片機(jī)煙霧檢測(cè)系統(tǒng)的軟件設(shè)計(jì)案例】1300字_第2頁(yè)
【基于單片機(jī)煙霧檢測(cè)系統(tǒng)的軟件設(shè)計(jì)案例】1300字_第3頁(yè)
【基于單片機(jī)煙霧檢測(cè)系統(tǒng)的軟件設(shè)計(jì)案例】1300字_第4頁(yè)
【基于單片機(jī)煙霧檢測(cè)系統(tǒng)的軟件設(shè)計(jì)案例】1300字_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于單片機(jī)煙霧檢測(cè)系統(tǒng)的軟件設(shè)計(jì)案例綜述目錄TOC\o"1-3"\h\u67741.1主程序流程設(shè)計(jì) 1254401.2溫度檢測(cè)子函數(shù)設(shè)計(jì) 2283121.3按鍵檢測(cè)子函數(shù)設(shè)計(jì) 3321261.4報(bào)警子函數(shù)設(shè)計(jì) 5224801.5顯示模塊子流程設(shè)計(jì) 61.1主程序流程設(shè)計(jì)主函數(shù)在程序設(shè)計(jì)過(guò)程中起著重要的作用,而主函數(shù)的獨(dú)立存在為我們建立了一個(gè)獨(dú)立的進(jìn)程,使得我們的程序員具有了一個(gè)對(duì)應(yīng)的主函數(shù)入口,可以對(duì)其它的進(jìn)程函數(shù)進(jìn)行相應(yīng)的聲明而且也無(wú)需再重新進(jìn)行定義。主函數(shù)方法編寫時(shí)我們應(yīng)該嚴(yán)格遵循簡(jiǎn)潔、適當(dāng)?shù)木帉懺瓌t,便于后期檢查。具體器件定義的功能應(yīng)該編寫入相應(yīng)的子函數(shù)里面去,后期直接調(diào)用[13]。由下圖4-1主程序流程圖可知,首先單片機(jī)進(jìn)行I/O初始化,具體就是初始化時(shí)鐘和串口,然后傳感器預(yù)熱,簡(jiǎn)單來(lái)說(shuō),就是煙霧傳感器中AD轉(zhuǎn)換芯片需要進(jìn)行初始化,內(nèi)部電路自檢或者數(shù)據(jù)緩沖這樣,程序的全部初始化工作完成后,系統(tǒng)則會(huì)自動(dòng)進(jìn)入一個(gè)實(shí)時(shí)運(yùn)行的狀態(tài),對(duì)周圍環(huán)境中的煙霧濃度及溫度進(jìn)行實(shí)時(shí)檢測(cè)。在整個(gè)系統(tǒng)實(shí)時(shí)工作過(guò)程中,對(duì)采集到的信號(hào)進(jìn)行數(shù)模轉(zhuǎn)化送到單片機(jī),爾后單片機(jī)通過(guò)控制LCD進(jìn)行顯示,同時(shí)進(jìn)行檢測(cè)數(shù)據(jù)與預(yù)設(shè)報(bào)警上限值進(jìn)行比較,根據(jù)比較結(jié)果,由主控單元決定后續(xù)的執(zhí)行操作。圖4-SEQ圖4-\*ARABIC1主程序處理流程圖1.2溫度檢測(cè)子函數(shù)設(shè)計(jì)DS18B20芯片實(shí)時(shí)讀取檢測(cè)到的信息,自讀取溫度的過(guò)程中,首先對(duì)DS18B20芯片進(jìn)行初始化,然后先讀取溫度的低字節(jié),再次讀取高字節(jié),在芯片內(nèi)部進(jìn)行高位低位轉(zhuǎn)化,并最終將周圍的溫度讀取出來(lái),并在顯示液晶屏上顯示。若讀取的溫度大于設(shè)定的初始值時(shí),報(bào)警系統(tǒng)將啟動(dòng)報(bào)警,否則不進(jìn)行報(bào)警。uintread_temp(){ uintvalue; ucharlow; delay_uint(50); //500us init_18b20(); //初始化18b20 write_18b20(0xcc); //跳過(guò)64位ROM write_18b20(0xbe); //發(fā)出讀取暫存器命令 EA=0; low=read_18b20(); //讀溫度低字節(jié) value=read_18b20();//讀溫度高字節(jié) EA=1; value<<=8; value|=low; value*=0.0625; returnvalue;其溫度程序流程圖如圖4-2所示。圖4-SEQ圖4-\*ARABIC2溫度檢測(cè)子流程圖1.3按鍵檢測(cè)子函數(shù)設(shè)計(jì)由第3章的硬件電路模塊介紹可知,本文設(shè)計(jì)煙霧報(bào)警系統(tǒng)用的按鍵主要有手動(dòng)報(bào)警及閾值設(shè)置按鍵,具體的功能描述如下:手動(dòng)報(bào)警就是,你按下系統(tǒng)就會(huì)一直報(bào)警,即蜂鳴器一直響。設(shè)置增加閾值功能,就是在設(shè)計(jì)系統(tǒng)中,將溫度報(bào)警或者煙霧報(bào)警的上限閾值設(shè)置高一點(diǎn)。設(shè)置減少閾值功能,功能和上面一致,作用相反即可。進(jìn)入設(shè)置功能,就是按下此按鍵,系統(tǒng)進(jìn)入功能設(shè)置。按鍵部分的子函數(shù)代碼分析如下所示:voidkey_with(){ if(key_can==4) //緊急報(bào)警鍵手動(dòng)報(bào)警 { menu_1=0; } if(menu_1==0) init_1602();//初始化顯示 } if(menu_1==0) { if((key_can==2)||(key_can==3)) shoudong=0;//取消手動(dòng)報(bào)警 } if(menu_1==1) //設(shè)置煙物報(bào)警 { if(key_can==2) { s_dengji++; //煙物報(bào)警值加1 if(s_dengji>=700) s_dengji=700; } if(key_can==3) { s_dengji--; //煙物報(bào)警值減1 if(s_dengji<=1) s_dengji=1; }}1.4報(bào)警子函數(shù)設(shè)計(jì)符合程序判斷機(jī)制時(shí),蜂鳴器會(huì)發(fā)出一種報(bào)警鳴聲,對(duì)應(yīng)于此時(shí)LED燈閃亮起,并伴隨著點(diǎn)擊風(fēng)扇的開啟,風(fēng)扇進(jìn)行煙霧的驅(qū)散和溫度的降低。當(dāng)煙霧值降低至設(shè)定初始值之下時(shí),蜂鳴器停止發(fā)出報(bào)警聲,報(bào)警取消,此時(shí)電機(jī)風(fēng)扇也停止運(yùn)行。設(shè)置完成后,程序運(yùn)行,報(bào)警檢測(cè)進(jìn)行環(huán)境的監(jiān)控。voidclock_h_l(){ staticu8value; if((yuzhi>=s_yuzhi)||(temperature>=s_temp)||(shoudong==1)) //報(bào)警 { value++; if(value>=2) { value=10; beep=~beep; //蜂鳴器報(bào)警 dianji=0;//打開電機(jī) } }else { if((yuzhi<s_yuzhi)&&(temperature<(s_temp))&&(shoudong==0)) //取消報(bào)警 { value=0; beep=1; yuzhi=1;//關(guān)閉電機(jī)}}1.5顯示模塊子流程設(shè)計(jì)LCD1602是接收單片機(jī)發(fā)送的數(shù)據(jù),再此之前要對(duì)LCD1602進(jìn)行初始化設(shè)置,這部分程序編

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論