freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的智能火災(zāi)警報(bào)系統(tǒng)畢業(yè)設(shè)計(jì)論文-預(yù)覽頁

2025-07-13 12:55 上一頁面

下一頁面
 

【正文】 系統(tǒng)一般由火災(zāi)探測(cè)儀以及報(bào)警器組成。此外,用戶可以通過功能設(shè)置鍵進(jìn)行報(bào)警限值的設(shè)置,也可以通過此方法取消當(dāng)前報(bào)警??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。P1口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL邏輯電平。:MISO(用于系統(tǒng)編程)。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在Flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào),P3口也接收一些控制信號(hào),P3口功能如表21所示。并且也要考慮選擇低價(jià)實(shí)用的機(jī)型,并為研制同一系列的低功耗產(chǎn)品做準(zhǔn)備。根據(jù)本次設(shè)計(jì)的具體情況,采用雙列直插DIP40封裝。DS18B20的內(nèi)部有64位的ROM單元和9字節(jié)的暫存器單元,64位ROM包含了DS18B20唯一的序列號(hào)。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如: 環(huán)境控制、設(shè)備或過程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。DS18B20的性能是新一代產(chǎn)品中最好的,性能價(jià)格比也非常出色,繼“一線總線”的早期產(chǎn)品后,DS18B20開辟了溫度傳感器技術(shù)的新概念。圖25 DS18B20的管腳排列DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,℃/LSB形式表達(dá),其中S為符號(hào)位。第3個(gè)和第4個(gè)字節(jié)是TH、TL的易失性拷貝,第5個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這3個(gè)字節(jié)的內(nèi)容在每一次上電復(fù)位時(shí)被刷新。這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。若電源電壓過低,會(huì)使所測(cè)得的溫度與實(shí)際溫度出現(xiàn)偏高現(xiàn)象,經(jīng)過試驗(yàn)發(fā)現(xiàn),一般在5V左右。 氣體傳感器MQ2本設(shè)計(jì)中采用的MQ2型煙霧傳感器屬于二氧化錫半導(dǎo)體氣敏材料,屬于表面離子式N型半導(dǎo)體。而當(dāng)空氣中沒有煙霧時(shí),二氧化錫半導(dǎo)體又會(huì)自動(dòng)恢復(fù)氧的負(fù)離子吸附,使電阻值升高到初始狀態(tài)。使用簡(jiǎn)單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對(duì)應(yīng)的輸出信號(hào)。單片機(jī)或CPU的數(shù)據(jù)/地址/控制總線端口都有一定的負(fù)載能力,如果負(fù)載超過其負(fù)載能力就應(yīng)加驅(qū)動(dòng)器。DIR=“1”,OE=“0”則A1輸入,對(duì)應(yīng)B1輸出,其它類同。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。圖28 ADC0832引腳圖正常情況下ADC0832 與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線:CS、CLK、DO、DI。芯片開始轉(zhuǎn)換工作時(shí),由處理器向芯片時(shí)鐘輸入端CLK 輸入時(shí)鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)。單片機(jī)就是從復(fù)位開始工作的。圖31 單片機(jī)的復(fù)位電路 溫度傳感器電路DS18B20可以使用外部電源VDD,也可以使用內(nèi)部的寄生電源。圖32 溫度采集電路DS18B20的外部電源供電方式在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時(shí)I/O線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度。直流電壓直接供傳感器MQ-2的加熱絲HH工作,H兩端接到電源的兩端起預(yù)熱的作用,檢測(cè)煙霧之前要加熱絲給傳感器MQ-2預(yù)熱一定時(shí)間。其電路圖如圖33所示。圖34 A/D轉(zhuǎn)換電路 報(bào)警器電路由AT89S52實(shí)現(xiàn)聲音報(bào)警控制。當(dāng)溫度過高時(shí)還可以通過電機(jī),將冷氣吹入,降低溫度,若發(fā)現(xiàn)火災(zāi),則將CO2吹入,(此步驟需用戶手動(dòng)完成)。顯示器的第一位顯示煙霧濃度級(jí)別,而后兩位則顯示當(dāng)前實(shí)際溫度,中間顯示“”將溫度和煙霧分開。圖37 數(shù)碼管顯示電路圖 狀態(tài)指示燈、控制鍵電路狀態(tài)指示燈控制電路如圖38所示,、。圖38 狀態(tài)指示燈電路 控制鍵電路采用獨(dú)立式按鍵設(shè)計(jì)。:限值設(shè)置鍵,按此鍵則可以進(jìn)入報(bào)警值的設(shè)定。圖41 主程序流程圖系統(tǒng)啟動(dòng)后首先進(jìn)行初始化,然后開啟中斷,在中斷中對(duì)數(shù)據(jù)進(jìn)行及時(shí)采集,并且在中斷中將檢測(cè)值與報(bào)警限設(shè)定值相比較,判斷是否要報(bào)警。 //系統(tǒng)初始化 while(1) { xianshi()。 //是否顯示精確值 }} 中斷服務(wù)的程序系統(tǒng)設(shè)定定時(shí)器工作方式后開啟系統(tǒng)中斷,以便響應(yīng)中斷定時(shí),及時(shí)對(duì)室內(nèi)煙霧濃度和溫度進(jìn)行采樣,并及時(shí)判斷是否超過設(shè)定的限值。中斷服務(wù)程序如下:void timer0(void) interrupt 1 { TR0=0。} Baoj()。 } 數(shù)據(jù)處理的程序由于煙霧數(shù)據(jù)采集、AD轉(zhuǎn)換后得到的是煙霧濃度,設(shè)計(jì)中要求數(shù)碼管中顯示的是煙霧濃度的級(jí)別,所以對(duì)數(shù)據(jù)采集后,還要對(duì)煙霧濃度數(shù)據(jù)對(duì)煙霧濃度進(jìn)行分等級(jí)。數(shù)據(jù)處理程序如下:void datadisp(uint y,uint t)//數(shù)據(jù)處理{ ywu=(y%10000)/1000*1000+(y%1000)/100*100+(y%100)/10*10+y%10。 if(ywu40)disdata[0]=3。 { disdata[2]=(t%1000)/100。這樣對(duì)數(shù)據(jù)的實(shí)際情況一目了然。}else for(。 //取反可變成共陰數(shù)碼管顯示 Disdata=~(led_mod[disdata[key]])。手動(dòng)報(bào)警程序中sign為手動(dòng)報(bào)警標(biāo)志,1秒內(nèi)兩次按下報(bào)警鍵為取消手動(dòng)報(bào)警。} //短按一次取消報(bào)警 delayt(350)。為及時(shí)判斷煙霧、溫度數(shù)據(jù),在程序設(shè)計(jì)上,對(duì)煙霧濃度和溫度的采集程序放在了中斷服務(wù)程序里,定時(shí)性的檢測(cè)和報(bào)警。p07=1。p06=0。 //黃色 p05=1。sound()。Delay(5)。}else Ledrbj=1。 } if(sign==1) //手動(dòng)報(bào)警 { Ledzc=1。sound()。Delay(15)。Ledybj=1。Ledrbj=1。Ledrbj=1。煙霧的設(shè)置是對(duì)煙霧濃度的級(jí)別進(jìn)行設(shè)置。再次按下設(shè)置按鍵時(shí)則進(jìn)入溫度報(bào)警值設(shè)置,數(shù)碼管只顯示當(dāng)前設(shè)定溫度。ys=js。amp。 //溫度的設(shè)定值不亮 while(ys0) { while(SET==0)show()。show()。} while(Jia==0) {if(yuxian==9)break。shezhi[0]=yuxian。amp。ts=0。delayt(250)。shezhi[0]=11。 while(Jian==0) {if(tuxian==0)break。shezhi[2]=tuxian/10。tuxian++。} while(SET!=0 amp。 Jian!=0) {show()。break。if(SET==0){ys=0。 //重載設(shè)定值 } while(SET==0)show()。精確值顯示的程序流程圖如圖44所示。jque[3]=0。} if(yuxian==2){jque[1]=11。jque[2]=4。jque[3]=0。} while(Jia==0)disjque()。jque[0]=(ywu%10000)/1000。} disjque()。jque[2]=tuxian/10。 while(Jian!=0) //顯示精確溫度 { if(tflag==0)jque[0]=(temp0%10000)/1000。 //個(gè)位 jque[3]=temp0%10。 } while(Jian==0)disjque()。(2)建立工程文件:點(diǎn)擊“ProjectNew Project”菜單,出現(xiàn)給工程起一個(gè)名的對(duì)話框,我們輸入54LZX,這個(gè)不需要擴(kuò)展名。(3)工程的設(shè)置:右鍵點(diǎn)擊左邊Project窗口的Target 1,然后使用菜單“ProgetOption for target ‘target 1’”即出現(xiàn)對(duì)工程設(shè)置的對(duì)話框,對(duì)這個(gè)對(duì)話框可謂非常復(fù)雜,共有8個(gè)頁面,要全部高清可不容易,好在絕大部分設(shè)置項(xiàng)取默認(rèn)值就行了。編譯過程中的信息將出現(xiàn)在輸出窗口中的Build頁中,如果源程序有語法錯(cuò)誤,會(huì)有錯(cuò)誤報(bào)告出現(xiàn),雙擊該行,可以定到出錯(cuò)的位置,對(duì)源程序反復(fù)修改后,最終會(huì)得到如圖51所示的結(jié)果,該文件即可被編程器讀入并寫到芯片中,同時(shí)還產(chǎn)生了一些其他相關(guān)文件可被用于KEIL的仿真與調(diào)試。show39。show39。xianshi39。”。經(jīng)過仔細(xì)排查,程序成功調(diào)試。本論文是在對(duì)煙霧、溫度傳感器和報(bào)警技術(shù)進(jìn)行深入研究的基礎(chǔ)上,通過比較,最后合理地確定系統(tǒng)的設(shè)計(jì)方案,并對(duì)儀器的整體設(shè)計(jì)和各個(gè)組成部分進(jìn)行了詳細(xì)的分析和詳細(xì)設(shè)計(jì)。本報(bào)警器的電路結(jié)構(gòu)設(shè)計(jì)的很簡(jiǎn)單,易于維護(hù)。例如,溫度過高時(shí),通過馬達(dá)吹入冷空氣,冷空氣溫度由當(dāng)前溫度超過設(shè)定限值的差確定,差值越大溫度越低;當(dāng)煙霧濃度較大時(shí),通過另一馬達(dá)將煙霧抽出,馬達(dá)速度由當(dāng)前煙霧濃度超過設(shè)定限值的差確定,差值越大馬達(dá)速度越快。void xianshi()。void show()。 sbit SD=P0^0。 sbit Md=P0^4。sbit CS=P3^0。 sbit DQ=P3^3。sbit Fmbj=P3^7。tflag。 uchar disdata[]={0,10,0,0,0,0}。 int Time=65000。}void delayt(uint time) { int j。j100。 Delay(10)。 Delay(10)。 uint dat=0。 dat=1。 Delay(4)。 i0。 Delay(5)。 WriteOneChar(0xCC)。 uint t=0。 WriteOneChar(0xCC)。 t=b。 else {t=~t+1。} unsigned char adc0832(unsigned char CH){ unsigned char i,test,adval。 DATI=1。 Clk=1。 _nop_()。 DATI=0。 } else { Clk=0。 _nop_()。 Clk=1。 for( i=0。 Clk=1。 else adval |=0x00。 if (DATO) test |=0x80。 _nop_()。 CS=1。} void datadisp(uint y,uint t){ ywu=(y%10000)/1000*1000+(y%1000)/100*100+(y%100)/10*10+y%10。 if(ywu40)disdata[0]=3。 { disdata[2]=(t%1000)/100。 if(pbi=0){show()。key++) { Disdata=~(led_mod[11])。 }}void show() { int key=0。 P1=~led_[key]。 for(。 if(tg==1 amp。 Delay(50)。jque[3]=0。} if(yuxian==2){jque[1]=11。jque[2]=4。jque[3]=0。} while(Jia==0)disjque()。jque[0]=(ywu%10000)/1000。} disjque()。jque[2]=tuxian/10。 while(Jian!=0) { if(tflag==0)jque[0]=(temp0%10000)/1000。 jque[3]=temp0%10。 } while(Jian==0)disjque()。 delayt(3)。Ledrbj=1。 while(ll) { if(temp=tuxian || sign==1 || ywu=ybz) { Md=0。Delay(15)。p07=1。p06=1。 p05=1。 } if(sign==0) { Ledzc=1。} if(disdata[0]=yuxian){Ledybj=0。Ledrbj=1。 Ledzc=1。sound()。Delay(15)。Ledybj=1。Ledybj=1。ys=js。amp。 while(ys0) { while(SET==0)show()。show()。} while(Jia==0) {if(yuxian==9)break。shezhi[0]=yuxian。amp。ts=0。delayt(250)。shezhi[0]=11。 while(Jian==0) {if(tuxian==0)break。shezhi[2]=tuxian/10。tuxian++。} while(SET!=0 amp。 Jian!=0) {show()。break。if(SET==0){ys=0。 } while(SET==0)show()。 while(SD==0){sign=1。shezhi[2]=tuxian/10。 if(yuxian==2)ybz=20。} void init() { TMOD=0x01。 TR0=1。Ledrbj=1。 for(。 init()。is=0。 TR0=1。 if(SET==0)czhi()。幫助解決畢業(yè)設(shè)計(jì)中遇到的許多問
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1