![基于單片機的火災(zāi)報警器設(shè)計與實現(xiàn)_第1頁](http://file4.renrendoc.com/view10/M00/18/1D/wKhkGWVuc22AJVI0AACT4NijDCA808.jpg)
![基于單片機的火災(zāi)報警器設(shè)計與實現(xiàn)_第2頁](http://file4.renrendoc.com/view10/M00/18/1D/wKhkGWVuc22AJVI0AACT4NijDCA8082.jpg)
![基于單片機的火災(zāi)報警器設(shè)計與實現(xiàn)_第3頁](http://file4.renrendoc.com/view10/M00/18/1D/wKhkGWVuc22AJVI0AACT4NijDCA8083.jpg)
![基于單片機的火災(zāi)報警器設(shè)計與實現(xiàn)_第4頁](http://file4.renrendoc.com/view10/M00/18/1D/wKhkGWVuc22AJVI0AACT4NijDCA8084.jpg)
![基于單片機的火災(zāi)報警器設(shè)計與實現(xiàn)_第5頁](http://file4.renrendoc.com/view10/M00/18/1D/wKhkGWVuc22AJVI0AACT4NijDCA8085.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
編號:設(shè)計說明書題目:基于單片機的火災(zāi)報警器設(shè)計與實現(xiàn)學(xué)院:桂林電子科技大學(xué)職業(yè)技術(shù)學(xué)院專業(yè):電子信息工程技術(shù)學(xué)生姓名:學(xué)號:指導(dǎo)教師:周光祥職稱:講師2023年6月日摘要火災(zāi)自動報警系統(tǒng)〔FireAlarmSystem,簡稱FAS系統(tǒng)〕是人們?yōu)榱嗽缙诎l(fā)現(xiàn)通報火災(zāi),并及時采取有效措施,控制和撲滅火災(zāi),而設(shè)置在建筑物中或其它場所的一種自動消防設(shè)施,是人們同火災(zāi)作斗爭的有力工具。本次設(shè)計以AT89C51單片機,MQ-2煙霧傳感器和DS18B20溫度傳感器為核心設(shè)計的火災(zāi)報警器可實現(xiàn)報警故障自診斷、報警設(shè)置、實時溫度顯示及與溫度報警值設(shè)定等功能。是一種結(jié)構(gòu)簡單、電路簡單、而且易懂、性能穩(wěn)定、使用方便、價格低廉、智能化的煙霧報警器,具有非常高的實用價值。關(guān)鍵詞:AT89C51; 溫度傳感器;煙霧傳感器;火災(zāi)報警器;四位共陰數(shù)碼管;目錄引言11系統(tǒng)概述21.1選題背景21.2設(shè)計要求22設(shè)計原理22.1硬件局部22.2軟件局部33硬件電路設(shè)計與分析33.1硬件框架圖33.2單片機最小系統(tǒng)43.2.1STC89C52芯片介紹43.2.2時鐘電路43.2.3復(fù)位電路53.3四位數(shù)碼管63.3.1數(shù)碼管的介紹63.3.2四位數(shù)碼管共陽和共陰的區(qū)分7數(shù)碼管的驅(qū)動方式83.474HC573芯片介紹83.5溫度傳感器DS18B20模塊93.6煙霧傳感器MQ-2模塊94軟件設(shè)計與分析104.1程序主流程圖:104.2初始化定時器程序114.3四位共陰數(shù)碼管的動態(tài)顯示程序115系統(tǒng)調(diào)試125.1硬件調(diào)試125.1.1最小系統(tǒng)調(diào)試125.1.2四位數(shù)碼管調(diào)試125.2軟件調(diào)試125.3脫機運行調(diào)試126總結(jié)13謝辭14附錄1:火災(zāi)報警器原理圖:15附錄2:火災(zāi)報警器PCB圖:15附錄3:火災(zāi)報警器程序16參考文獻20引言 隨著社會的開展、科技的進步以及人們生活水平的逐步提高,各種方便于生活的電子產(chǎn)品開始進入人們的生活?,F(xiàn)代家庭用火、用電量的增加,許多人因不懂家庭平安常識引起火災(zāi)事故,家庭火災(zāi)發(fā)生的頻率越來越高,使好端端的幸福家庭轉(zhuǎn)眼間毀于一旦,有的導(dǎo)致家破人亡。居民家庭火災(zāi)一旦發(fā)生,處置不當(dāng)、報警緩慢,,很容易出現(xiàn)撲救不及時、滅火器材缺乏及在場人驚慌失措、逃生緩慢等不利因素,最終導(dǎo)致重大生命財產(chǎn)損失。探討家庭火災(zāi)的特點及防火對策,對于預(yù)防家庭火災(zāi),減少火災(zāi)損失具有現(xiàn)實意義。所以說,人們應(yīng)該積極了解家庭火災(zāi)的主要起因,掌握防止發(fā)生火災(zāi)的知識和萬一發(fā)生火災(zāi)時保護自己的方法,及時消除。本系統(tǒng)使用AT89S51單片機,選用集成溫度傳感器DS18B20和氣體傳感器MQ-2作為敏感元件,利用多傳感器信息融合技術(shù),開發(fā)了可用于小型單位火災(zāi)報警的報警器。具有靈敏度高、響應(yīng)快、抗干擾能力強等優(yōu)點,而且價格低廉,使用壽命長等特點1系統(tǒng)概述選題背景全世界幾乎每天都有火災(zāi)發(fā)生。城里的高層建筑,地下商場以及大型的建筑群日益增多?;馂?zāi)的隱患也伴隨著社會的開展而逐年升高。自動火災(zāi)報警系統(tǒng)就是為了保障人民生命財產(chǎn)平安而創(chuàng)造的,并且隨著現(xiàn)代技術(shù)水平的不斷提高。在方式,功能,和結(jié)構(gòu)上不斷的完善。家庭火災(zāi)的主要原因是麻痹大意,沒有及時采取預(yù)防措施,本次設(shè)計的火災(zāi)報警器,是防止火災(zāi)最重要的手段之一,它的作用是使用18B20溫度傳感器,實時檢測房間的溫度,使用MQ-2實時檢測房間。一切正常時,綠燈亮,但溫度超過預(yù)定值或有大量煙霧是,說明可能發(fā)生火災(zāi)時,蜂鳴器便會發(fā)出報警信號,且紅燈亮。1.2設(shè)計要求要求:〔1〕用單片機實現(xiàn);〔2〕用C語言編程;〔3〕硬件電路板布局合理;〔4〕使用18B20溫度傳感器,實時檢測房間的溫度,且使用數(shù)碼管顯示溫度;〔5〕使用煙霧傳感器,實時檢測房間;〔6〕如果空氣中有煙霧,那么蜂鳴器報警,并點亮紅燈;假設(shè)氣體沒有煙霧,那么綠點亮表示正常;〔7〕如果空氣溫度超過限定值,那么認(rèn)為發(fā)生火災(zāi),并蜂鳴器報警,點亮紅燈。2設(shè)計原理2.1硬件局部火災(zāi)報警器分為三個局部:溫度傳感器檢測溫度模塊,煙霧傳感器檢測煙霧模塊,數(shù)碼管顯示模塊。主控芯片采用AT89C52;顯示局部采用四位共陰數(shù)碼管;時鐘電路采用12MHZ的石英晶體振蕩器,將其和單片機對應(yīng)的引腳正確連接,將晶振產(chǎn)生的時鐘信號作為定時信號;復(fù)位電路采用傳統(tǒng)RC復(fù)位電路。單片機的I/O口分配:P1.0接溫度傳感器輸出腳,P1.1接煙霧傳感器模塊的TTL信號;P1.5接綠燈,P1.6接紅燈,P1.7接蜂鳴器,P0口和P2口分別接數(shù)碼管的段選和位選。2.2軟件局部程序采用C語言進行編程,編程后利用KeiluVision4來進行編譯,再生成的HEX文件通過下載口導(dǎo)入芯片中。然后根據(jù)按鍵功能查看是否實現(xiàn)功能。3硬件電路設(shè)計與分析3.1硬件框架圖單單片機STC89C52數(shù)碼管顯示實時溫度煙霧傳感器模塊時鐘電路復(fù)位電路煙霧傳感器模塊光電信號蜂鳴器報警圖13.2單片機最小系統(tǒng)STC89C52芯片介紹STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改良使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,指令代碼完全兼容傳統(tǒng)8051使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。工作電壓:3.3V~5.5V;工作頻率范圍:0~40MHz;用戶應(yīng)用程序空間為8K字節(jié);片上集成512字節(jié)RAM;通用I/O口〔32個〕,上電復(fù)位后為:P0/P1/P2/P3是準(zhǔn)雙向口/弱上拉,P0作為I/O口用時,需加上拉電阻;外部中斷2個,下降沿中斷或低電平觸發(fā)電路;共2個16位定時器/計數(shù)器。即定時器T0、T1;可通過可直接使用串口下載,串口〔RxD/P3.0,TxD/P3.1〕直接下載用戶程序;具有EEPROM〔掉電儲存〕功能,內(nèi)帶4K字節(jié)EEPROM存儲空間。圖23.2.2時鐘電路STC89C52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳RXD和TXD分別是此放大器的輸入端和輸出端。時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生在RXD和TXD引腳上外接定時元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.2~12MHz之間選擇,電容值的大小可對頻率起微調(diào)的作用。單片機最小系統(tǒng)起振電容C1、C2一般采用15~33pF,晶振一般采用12MHZ,并且電容離晶振越近越好,晶振離單片機越近越好。時鐘電路原理圖:圖33.2.3復(fù)位電路一般情況下,電容的大小是10uF,電阻的大小是10k,復(fù)位電路的原理是單片機RST引腳接收到2US以上的電平信號,只要保證電容的充放電時間大于2US,即可實現(xiàn)復(fù)位。在單片機系統(tǒng)中,系統(tǒng)上電啟動的時候復(fù)位一次,當(dāng)按鍵按下的時候系統(tǒng)再次復(fù)位,如果釋放后再按下,系統(tǒng)還會復(fù)位。所以可以通過按鍵的斷開和閉合在運行的系統(tǒng)中控制其復(fù)位,當(dāng)單片機系統(tǒng)在運行中,受到環(huán)境干擾出現(xiàn)程序跑飛的時候,按下復(fù)位按鈕內(nèi)部的程序自動從頭開始執(zhí)行。復(fù)位電路原理圖:圖43.3四位數(shù)碼管數(shù)碼管的介紹四位數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其根本單元是發(fā)光二極管。數(shù)碼管實際上是由七個發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點就是8個,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極分別由字母a,b,c,d,e,f,g,dp來表示,能顯示4個數(shù)碼管叫四位數(shù)碼管。 圖5四位數(shù)碼管的引腳圖:圖6四位數(shù)碼管共陽和共陰的區(qū)分市面上的四位一體的數(shù)碼管一般都沒有數(shù)據(jù)表,所以掌握他們管腳的分布是很重要的一個環(huán)節(jié)。共陽數(shù)碼管是指,將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指,將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。區(qū)別他們的方法是:假設(shè)公共端接地,其他端接電源,假設(shè)各段測試能亮,說明是共陰的,反之共陽的;假設(shè)公共端接電源,其他端分別接的,測得各端亮,那么說明是共陽的,反之為共陰的。此次設(shè)計的火災(zāi)報警器的四位數(shù)碼管采用共陰數(shù)碼管。數(shù)碼管的驅(qū)動方式〔1〕靜態(tài)顯示:靜態(tài)顯示也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示那么需要5×8=40根I/O端口來驅(qū)動,但一個STC89S51單片機可用的I/O端口才32個,實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)雜性。 〔2〕動態(tài)顯示:數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制翻開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,卻能夠節(jié)省大量的I/O端口,而且功耗更低。3.474HC573芯片介紹此次籃球計分牌的設(shè)計利用74HC573來驅(qū)動兩個四位共陰數(shù)碼管。74HC573的八個鎖存器都是透明的D型鎖存器,當(dāng)使能〔G〕為高時,Q輸出將隨數(shù)據(jù)〔D〕輸入而變。當(dāng)使能為低時,輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖.器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時,新的數(shù)據(jù)也可以置入。這種電路可以驅(qū)動大電容或低阻抗負載,可以直接與系統(tǒng)總線接口并驅(qū)動總線,而不需要外接口。特別適用于緩沖存放器,I/O通道,雙向總線驅(qū)動器和工作存放器74HC573芯片引腳圖: 圖73.5溫度傳感器DS18B20模塊DS18B20常用的溫度傳感器,具有體積小,硬件開銷低,抗干擾能力強,精度高的特點接線方法:面對著扁平的那一面,左負右正,一旦接反就會立刻發(fā)熱,有可能燒毀!同時,接反也是導(dǎo)致該傳感器總是顯示85℃的原因。溫度的讀?。篋S18B20在出廠時以配置為12位,讀取溫度時共讀取16位,前5個位為符號位,當(dāng)前5位為1時,讀取的溫度為負數(shù);當(dāng)前5位為0時,讀取的溫度為正數(shù)。溫度為正時讀取方法為:將16進制數(shù)轉(zhuǎn)換成10進制即可。溫度為負時讀取方法為:將16進制取反后加1,再轉(zhuǎn)換成10進制即可3.6煙霧傳感器MQ-2模塊接線方式:1、VCC:接電源正極〔5V〕2、GND:接電源負極3、DO:TTL開關(guān)信號輸出4、AO:模擬信號輸出電氣性能:1、具有信號輸出指示。2、雙路信號輸出〔模擬量輸出及TTL電平輸出〕3、TTL輸出有效信號為低電平?!伯?dāng)輸出低電平時信號燈亮,可直接接單片機〕4、模擬量輸出0~5V電壓,濃度越高電壓越高。5、對液化氣,天然氣,城市煤氣有較好的靈敏度。6、具有長期的使用壽命和可靠的穩(wěn)定性7、快速的響應(yīng)恢復(fù)特性特別提醒:傳感器通電后,需要預(yù)熱20S左右,測量的數(shù)據(jù)才穩(wěn)定,傳感器發(fā)熱屬于正?,F(xiàn)象,因為內(nèi)部有電熱絲,如果燙手就不正常了。4軟件設(shè)計與分析本系統(tǒng)的編程局部工作采用Keil_C51語言完成,KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境〔μVision〕將這些局部組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。開始4.1程序主流程圖:開始初始化初始化DS18B20寫入數(shù)據(jù)DS18B20寫入數(shù)據(jù)綠燈亮否是否有煙霧讀取溫度是否有煙霧讀取溫度溫度超出范圍溫度超出范圍是紅燈亮蜂鳴器報警紅燈亮蜂鳴器報警否數(shù)碼管數(shù)碼管顯示4.2初始化定時器程序voidinit() //初始化定時器{ TMOD=0X11; TH0=0xFE;TL0=0x36; TH1=0xFC;TL1=0x18; TR0=1; EA=1; ET0=1; ET1=1;}4.3四位共陰數(shù)碼管的動態(tài)顯示程序/***********************數(shù)碼位選函數(shù)*****************************/voidsmg_we_switch(uchari){ switch(i) { case0:smg_we1=0;smg_we2=1;smg_we3=1;smg_we4=1;break; case1:smg_we1=1;smg_we2=0;smg_we3=1;smg_we4=1;break; case2:smg_we1=1;smg_we2=1;smg_we3=0;smg_we4=1;break; case3:smg_we1=1;smg_we2=1;smg_we3=1;smg_we4=0;break; } }/***********************數(shù)碼顯示函數(shù)*****************************/voiddisplay(){ staticuchari; i++; if(i>smg_i) i=0; smg_we_switch(i); //位選 P0=dis_smg[i]; //段選 }5系統(tǒng)調(diào)試單片機應(yīng)用系統(tǒng)的調(diào)試是系統(tǒng)開發(fā)的重要環(huán)節(jié)。當(dāng)完成了單片機應(yīng)用系統(tǒng)的硬件設(shè)計、軟件設(shè)計和硬件組裝后,便可進入應(yīng)用系統(tǒng)調(diào)試階段。系統(tǒng)調(diào)試的目的是查出系統(tǒng)中硬件設(shè)計與軟件設(shè)計中存在的錯誤以及可能出現(xiàn)的不協(xié)調(diào)問題,以便修改設(shè)計,最終使系統(tǒng)能正確地工作。單片機應(yīng)用系統(tǒng)的調(diào)試分為硬件調(diào)試、軟件調(diào)試和脫機運行調(diào)試三個局部。5.1硬件調(diào)試最小系統(tǒng)調(diào)試〔1〕上電復(fù)位后,用萬用表測量單片機VCC和GND為5V;〔2〕上電復(fù)位后,晶振起振,晶振兩端電壓約為1.5V~2V;〔3〕上電復(fù)位后,萬用表測量9腳為低電平;〔4〕沒燒錄程序時,萬用表測量各I/O口輸出高電平,約5V;〔5〕30腳,產(chǎn)生頻率,萬用表測量為高電平,約5V;〔6〕31腳,接VCC,萬用表測量為高電平,約5V;四位數(shù)碼管調(diào)試將公共端接電源,其他端分別接GND,測得各端亮,說明數(shù)碼管屬于共陰數(shù)碼管,且數(shù)碼管各端LED發(fā)光管正常。5.2軟件調(diào)試程序按照流程圖編程,數(shù)碼管采用動態(tài)顯示的方法,利用定時器0的工作方式1,在中斷函數(shù)中對數(shù)碼管的公共端進行位選控制。為了防止PCB連接數(shù)碼管時有很多跳線,原理圖上將數(shù)碼管個引腳的連接方式進行了修改,而程序的0~9段代碼為:{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};導(dǎo)致電路板上電時數(shù)碼管顯示亂碼;經(jīng)過修改段代碼為:{0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7}后,測試數(shù)碼管顯示正常。5.3脫機運行調(diào)試在焊完成后,程序燒錄進去,上電后四位數(shù)碼管都亮,說明P2口已開始進行位選工作;查看程序仿真合理,單片機最小系統(tǒng)正常工作;用萬用表檢測數(shù)碼管的各引腳電壓,發(fā)現(xiàn)有兩個引腳電壓與單片機P0口段選輸出電壓不同,說明有斷線;整塊電路板完全符合設(shè)計要求。6總結(jié)按照脫機運行調(diào)試的電路板的情況來看,完全符合設(shè)計要求,應(yīng)該是一個成功的設(shè)計。實訓(xùn)中也暴露出在理論學(xué)習(xí)中的缺乏之處,對單片機的很多方面內(nèi)容還不夠了解,有些地方還需有待加強學(xué)習(xí),正是理論學(xué)習(xí)的缺乏導(dǎo)致對作品原理圖正確性的疑心。通過不斷地翻書查資料確定設(shè)計的原理圖沒問題后,才開始制作電路板。制作電路板的工作是交給我的隊友。最后的電路板,只有幾根斷線而已,補接好后,功能都能實現(xiàn),一次成功,出乎我的意料,他向我展示了他強大的動手能力;也得益于我設(shè)計的原理圖和PCB,都經(jīng)過我的反復(fù)檢查。對此作品的軟件程序編寫,經(jīng)百度找到了些程序,但這些程序不符合我的設(shè)計原理圖。要得到能夠?qū)崿F(xiàn)功能的火災(zāi)報警器程序,我能從零開始編程。經(jīng)過參考單片機實驗指導(dǎo)書,編寫的這個結(jié)構(gòu)清晰簡單,實現(xiàn)的功能也很全面,但感覺程序太瑣長,不善精簡。謝辭兩周的實訓(xùn)結(jié)束了,由衷感謝我的指導(dǎo)老師。周光祥老師對我遇到的問題總是耐心解答和悉心指導(dǎo);提出了許多富有啟發(fā)性的建議和具有創(chuàng)意的想法;在這次畢業(yè)設(shè)計中,得益于學(xué)校的各方面資源,圖書館可以查找到許多相關(guān)的有用的書籍資料、圖書館網(wǎng)站上的數(shù)據(jù)庫也給我提供了不少參考,這些都給我們創(chuàng)造一個良好的學(xué)習(xí)、設(shè)計環(huán)境。在跟隨周光祥老師學(xué)習(xí)期間,我學(xué)到了許多從未接觸過的知識,受益匪淺。感謝桂林電子科技大學(xué)和諸位老師對我的培養(yǎng)和教育,同時也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計的環(huán)境。本文參考了大量的文獻資料,在此,向各學(xué)術(shù)界的前輩們致敬!附錄1:火災(zāi)報警器原理圖:附錄2:火災(zāi)報警器PCB圖:附錄3:火災(zāi)報警器程序#include<reg52.h> #defineucharunsignedchar#defineuintunsignedint ucharcodesmg_du[]={0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7}; //段碼 uchardis_smg[]={0x80,0x80,0x80,0x80}; ucharsmg_i=4;//數(shù)碼管的顯示個位數(shù)sbitsmg_we1=P2^3;sbitsmg_we2=P2^2;sbitsmg_we3=P2^1;sbitsmg_we4=P2^0;sbitdq=P1^0; //溫度傳感器DS18B20輸出sbitkey=P1^1; //煙霧傳感器MQ-2經(jīng)LM358放大輸出低電平信號sbitled_g=P1^5;sbitled_r=P1^6;sbitbeeper=P1^7;bitflag_wd_z_f;//正負溫度inttemperature;/***********************1ms延時函數(shù)*****************************/voiddelay_1ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<120;j++);}/***********************小延時函數(shù)*****************************/voiddelay_uint(uintq){ while(q--);}/***********************數(shù)碼位選函數(shù)*****************************/voidsmg_we_switch(uchari){ switch(i) { case0:smg_we1=0;smg_we2=1;smg_we3=1;smg_we4=1;break; case1:smg_we1=1;smg_we2=0;smg_we3=1;smg_we4=1;break; case2:smg_we1=1;smg_we2=1;smg_we3=0;smg_we4=1;break; case3:smg_we1=1;smg_we2=1;smg_we3=1;smg_we4=0;break; } }/***********************數(shù)碼顯示函數(shù)*****************************/voiddisplay(){ staticuchari; i++; if(i>smg_i)i=0; smg_we_switch(i); //位選 P0=dis_smg[i]; //段選 }/***********************18b20初始化函數(shù)*****************************/voidinit_18b20(){ bitq; dq=1; //把總線拿高 delay_uint(1); //15us dq=0; //給復(fù)位脈沖 delay_uint(80); //750us dq=1; //把總線拿高等待 delay_uint(10); //110us q=dq; //讀取18b20初始化信號 delay_uint(20); //200us dq=1; //把總線拿高釋放總線}/*************寫18b20內(nèi)的數(shù)據(jù)***************/voidwrite_18b20(uchardat){chari; for(i=0;i<8;i++) { //寫數(shù)據(jù)是低位開始 dq=0; //把總線拿低寫時間隙開始 dq=dat&0x01;//向18b20總線寫數(shù)據(jù)了 delay_uint(5); //60us dq=1; //釋放總線 dat>>=1; } }/*************讀取18b20內(nèi)的數(shù)據(jù)***************/ucharread_18b20(){chari,value; for(i=0;i<8;i++) {q=0; //把總線拿低讀時間隙開始 value>>=1; //讀數(shù)據(jù)是低位開始 dq=1; //釋放總線 if(dq==1) //開始讀寫數(shù)據(jù) value|=0x80; delay_uint(5); //60us 讀一個時間隙最少要保持60us的時間 }returnvalue; //返回數(shù)據(jù)}/*************讀取溫度的值讀出來的是小數(shù)***************/uintread_temp(){ uintvalue; ucharlow; init_18b20(); //初始化18b20 write_18b20(0xcc); //跳過64位ROM write_18b20(0x44); //啟動一次溫度轉(zhuǎn)換命令 delay_uint(50); //500us init_18b20(); //初始化18b20 EA=0; write_18b20(0xcc); //跳過64位ROM write_18b20(0xbe); //發(fā)出讀取暫存器命令 low=read_18b20(); //讀溫度低字節(jié) value=read_18b20();//讀溫度高字節(jié) EA=1; value<<=8; //把溫度的高位左移8位 value|=low; //把讀出的溫度低位放到value的低八位中 if((value&0xf000)==0xf000) { flag_wd_z_f=1; }//負溫度 else flag_wd_z_f=0; //正溫度 value*=0.625; //轉(zhuǎn)換到溫度值小數(shù) returnvalue; //返回讀出的溫度}/*************定時器0初始化程序***************/voidtime_init() { TMOD=0X01; //定時器0、定時器1工作方式1 EA=1; ET0=1;TR0=1; }/****************主函數(shù)***************/voidmain(){ time_init();//初始化定時器 temperature=read_temp(); //先讀出溫度的值 delay_1ms(500); temperature=read_temp(); //先讀出溫度的值 while(1) { temperature=read_temp(); //先讀出溫度的值 delay_1ms(250); temperature=read_temp(); //先讀出溫度的值 if(!key) //煙霧傳感器有信號 { delay_uint(10); if(!key){led_g=1;led_r=0;beeper=0;} } else {led_g=0;
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出國留學(xué)英語培訓(xùn)行業(yè)發(fā)展監(jiān)測及市場發(fā)展?jié)摿︻A(yù)測報告
- 羥基吲哚乙酸行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 兒童繪本行業(yè)市場發(fā)展現(xiàn)狀及趨勢與投資分析研究報告
- 2025年度森林砍伐合同范本附帶生態(tài)補償金結(jié)算協(xié)議
- 2025年度企業(yè)員工勞動合同終止及離職補償協(xié)議
- 2025年度城市排水工程項目招標(biāo)投標(biāo)合同范本
- 2025年度酒店客房客房服務(wù)節(jié)能降耗項目合同
- 2025年度酒店消防安全檢測與整改合同范本大全
- 2025年度招投標(biāo)代理服務(wù)合同履約保證金合同
- 2025年度汽車銷售居間合作協(xié)議范本與居間合同標(biāo)準(zhǔn)
- 2025-2030年中國配電變壓器市場未來發(fā)展趨勢及前景調(diào)研分析報告
- GB/T 45120-2024道路車輛48 V供電電壓電氣要求及試驗
- 2025年上海市嘉定區(qū)中考英語一模試卷
- 潤滑油、潤滑脂培訓(xùn)課件
- 2025年中核財務(wù)有限責(zé)任公司招聘筆試參考題庫含答案解析
- 華中師大一附中2024-2025學(xué)年度上學(xué)期高三年級第二次考試數(shù)學(xué)試題(含解析)
- ADA糖尿病醫(yī)學(xué)診療標(biāo)準(zhǔn)指南修訂要點解讀(2025)課件
- 健康管理-理論知識復(fù)習(xí)測試卷含答案
- 成人腦室外引流護理-中華護理學(xué)會團體 標(biāo)準(zhǔn)
- JGJ106-建筑基樁檢測技術(shù)規(guī)范
- 高技能公共實訓(xùn)基地建設(shè)方案
評論
0/150
提交評論