版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
PAGEword文檔可自由復制編輯word文檔可自由復制編輯吉林農(nóng)業(yè)大學本科畢業(yè)設計論文題目:智能火災報警監(jiān)測系統(tǒng)的設計學生姓名:專業(yè)年級:電子信息科學與技術指導教師:職稱:2008年5月28日目錄TOC\o"1-4"\h\z\u摘要 I1前言 11.1系統(tǒng)開發(fā)的目的 11.2系統(tǒng)開發(fā)的意義 12系統(tǒng)方案及功能概述 12.1方案論證 12.2系統(tǒng)功能概述 23.2系統(tǒng)各模塊的設計 33.2.1AT89S52單片機的簡介 33.2.1.1AT89S52介紹 33.2.1.2主要性能 33.2.1.3芯片引腳圖及引腳功能說明 33.2.1.4中斷及定時介紹 43.2.2溫度采集模塊 73.2.2.1溫度傳感器DS18B20介紹 73.2.2.2主要特點 73.2.2.3單線技術 73.2.2.4芯片引腳圖及引腳功能說明 83.2.2.5DS18B20內(nèi)部結構 83.2.2.6DS18B20供電方式 103.2.3煙霧傳感器MQ-2的介紹 113.2.4步進電機模塊 133.2.4.1步進電機介紹 133.2.4.2步進電機的主要特性 143.2.4.3本次設計所用電機 153.2.5電源系統(tǒng)設計 163.2.5.1LM2576T-5.0介紹 173.2.5.2LM2576T-5.0的引腳功能 173.2.6數(shù)碼管顯示 183.2.6.1靜態(tài)顯示介紹 183.2.6.2芯片74LS64的介紹 193.2.7時鐘模塊 213.2.7.1時鐘芯片DS1302的簡介 213.2.7.2性能指標 223.2.7.3管腳排列及功能 223.2.7.4DS1302數(shù)據(jù)操作原理 233.2.7.5DS1302控制字節(jié) 233.2.7.6.數(shù)據(jù)輸入輸出(I/O) 233.2.7.7.DS1302的寄存器 243.2.8報警模塊 244系統(tǒng)軟件設計 254.1主程序 254.2溫度傳感器DS18b20 264.3時鐘芯片DS1302 274.4步進電機 295總結 305.1火災報警監(jiān)控系統(tǒng)展望 305.2設計火災自動報警系統(tǒng)的新思路 305.3結束語 31參考文獻 31致謝 31附錄一系統(tǒng)各個模塊硬件原理圖 33附錄二程序清單 33附錄三外文科技文獻閱讀 42 智能火災報警系統(tǒng)的設計學生:仇紅艷專業(yè):電子信息科學與技術指導教師:顧洪軍摘要:隨著科學技術的進步,火災報警系統(tǒng)逐步向智能化發(fā)展。該系統(tǒng)利用8051單片機為主控制器,DS18B20檢測溫度,MQ-2檢測煙霧,數(shù)碼管顯示溫度,實現(xiàn)火災報警;步進電機作為反應器件,對火災進行處理,從而實現(xiàn)火災報警系統(tǒng)的智能化。關鍵詞:單片機,溫度傳感器,煙霧傳感器,數(shù)碼管,步進電機IntelligentDesignoftheFireAlarmSystemName:QiuHongyanMajor:ElectronicsInformationScienceandTechnologyTutor:GuHongjunAbstract:Withthescientificandtechnologicalprogress,thefirealarmsystemgraduallydevelopetotheintelligent.Thesystemuses8051microcontrollerasthemaincontroller,DS18B20isusedtodetecttemperatureandMQ-2asthesmokedetection.Thedigitalsiphonshowthetempertureandthenrelizethefirealarming;asteppermotordeviceisareactortodealwiththefiredisaster,thus,thisrealizetheintelligentificationofthefirealarmsystem.Keywords:SCM,temperaturesensors,smokesensors,digitalcontrol,thesteppermotor1前言1.1系統(tǒng)開發(fā)的目的眾所周知,火災報警對于保護人類的生命,財產(chǎn)的安全是至關重要的,實現(xiàn)對火情的早期,快速,正確無誤的預報是關鍵,只有早期發(fā)現(xiàn)火情,早期撲滅,生命與財產(chǎn)的損失才可能降到最低。1.2系統(tǒng)開發(fā)的意義自上20世紀中后期以來,隨著微電子技術,計算機技術,自動控制技術,通信與信息處理技術,多媒體技術等先進技術的發(fā)展,以科學技術為基礎,依靠先進的設備和科學管理來實現(xiàn)火災監(jiān)控系統(tǒng)智能化已成為可能?;馂谋O(jiān)控的根本目的是獲取火災發(fā)生時的相關信息,并進行處理,達到及時準確報警的目的?,F(xiàn)代火災自動報警系統(tǒng)與傳統(tǒng)火災自動報警系統(tǒng)之間的區(qū)別主要在于探測器本身。由開關量探測器改為模擬量傳感器的質的飛躍,將煙濃度,上升速率或其他感受參數(shù)以模擬值傳給控制器,使系統(tǒng)確定火災的數(shù)據(jù)處理能力和智能化程度大為增加,減少了誤報警的概率。區(qū)別之二在于信號處理方法做了徹底改進,即把探測器中模擬信號不斷送到控制器進行評估或判斷,控制器用適當算法辨別虛假或真實火情,判斷其發(fā)展程度和探測受污染的狀態(tài),這一高質量的信號處理技術,意味著系統(tǒng)具有較高智能。隨著微處理技術的快速發(fā)展,低價位,低功耗,高性能的小型單片機比比皆是。采用單片機后,許多以前需要硬件完成的功能,現(xiàn)在可以通過軟件程序控制來實現(xiàn),使探測器測量與控制較普通的硬件實現(xiàn)更加容易,電路結構更加簡單,增加了電路的可靠性。隨著火災探測方面新技術的出現(xiàn)與應用,我們可以在電路結構不做大調(diào)整的前提下,隨時更新探測器軟件,加入最新的火災探測算法,對探測器進行升級,使之報警更準確,性能更可靠。2系統(tǒng)方案及功能概述2.1方案論證智能火災報警系統(tǒng)的報警原理及外圍電路結構簡單,易懂,比較試用于初學者學習單片機與傳感器并學習軟件編程和硬件搭接。本系統(tǒng)設計所采用的器件價格都比較低廉,對于每位電子愛好者來說都能很容易接受它的價格,而且使用起來也比較方便。方案一:見圖2-1(Fig2-1)由一片MCS_51系列單片機8051及EPROM2764,2片可編程并行I/O擴展接口8155和8255等芯片組成,通過單片機芯片中的串行口與按編碼式光電煙感探頭相連。MCS_51系列單片機8051是控制核心。控制程序固化在EPROM2764中,8051的PID外接LED顯示矩陣。用于指示故障或火災的區(qū)域地址編號。8051又通過擴展的可編程并行接口芯片8155外接6位數(shù)碼顯示屏DS,6鍵小鍵盤KB,8051通過擴展的可編程并行接口芯片8255,用作消防設備的控制和狀態(tài)檢測信號線。8051的RXD和TXD串行輸入輸出日與編碼式光電煙感探頭串接。編碼式光電煙感探頭,除了具有感煙功能外,還具有接收串行地址數(shù)據(jù)功能,并把地址數(shù)據(jù)與本身地址相比較;若一致,則向8051回送狀態(tài)字節(jié)信息。因此,8051能夠識別并分別巡檢。平時,在程序控制下,報警系統(tǒng)不斷進行系統(tǒng)自檢和探頭巡檢。在正常清況下,LEDLEDN21編碼式感煙探頭X1X2P1RXDRESETTXD6M825574ls373374ls3738155去自動消防設備DS圖2-1Fig.2-1報警系統(tǒng)作為一個日歷時鐘使用,在數(shù)數(shù)碼顯示屏上顯示年、月、日、時、分、秒,一旦發(fā)生問題,便立即在LED顯示板上指示出故障或火災的地址編號,并在數(shù)碼顯示屏上顯示。方案二:利用單片機作為核心控制器件,控制整個系統(tǒng)。溫度傳感器和煙霧傳感器混合使用,檢測周圍環(huán)境,只有當溫度和煙霧值達到預定的值時,才報警。其它的情況都認為是檢測錯誤,系統(tǒng)不報警,靜態(tài)顯示在發(fā)生火情時顯示當前溫度,沒有火情時和時鐘電路一起作為系統(tǒng)的附加功能,顯示當前時間;步進電機作為虛擬器件,當發(fā)生火情時執(zhí)行滅火功能。見圖2-2(Fig2-2)單片機單片機系統(tǒng)電源模塊溫度傳感器煙霧傳感器報警電路步進電機時鐘電路靜態(tài)顯示AD轉換圖2-2Fig.2-2綜合整個系統(tǒng)的要求,方案一的結構比較復雜,實現(xiàn)起來困難。方案二九比較簡單,各個模塊都易于實現(xiàn),而且都是經(jīng)常使用的,和方案一相比較更加合理,所以本次設計采用方案二。2.2系統(tǒng)功能概述智能火災報警系統(tǒng)的核心芯片是AT89S52單片機,它是一個低功耗,高性能的CMOS8位單片機,片內(nèi)含4K可反復擦寫10000次的只讀程序存儲器,通過在線編程器可將程序代碼直接燒錄到單片機中,并通過單片機去實現(xiàn)想要的功能。本設計將要實現(xiàn)的功能是:*有火情時:揚聲器報警;數(shù)碼管顯示溫度;步進電機作為反應器件對火災進行處理*無火情時:傳感器巡檢;數(shù)碼管顯示當前時間3.2系統(tǒng)各模塊的設計3.2.1AT89S52單片機的簡介3.2.1.1AT89S52介紹AT89S52是美國ATMEL公司生生產(chǎn)的低功耗,高性能CMOS8位單片機,片內(nèi)4Kbytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),并兼容8051指令系統(tǒng)及引腳。它集Flash程序存儲器即可在線編程(ISP)也可以用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89S52單片機可為您提供許多高性價比的應用場合,可靈活應用各種控制領域。3.2.1.2主要性能*和MCS-51產(chǎn)品兼容*4KB可重編程(ISP)FLASH存儲器(1000次)*4.0-5.5V電壓范圍;*全靜態(tài)工作:0Hz-33KHz*3級程序存儲器保密鎖定*128*8位內(nèi)部RAM*32條可編程I/O線
*兩個16位定時器/計數(shù)器*
6個中斷源*全雙工串行UART通道*低功耗空閑*片內(nèi)振蕩器和時鐘電路*靈活的在線編程(ISP字節(jié)或頁寫模式)3.2.1.3芯片引腳圖及引腳功能說明圖3-1Fig.3-1引腳圖見圖圖3-1Fig.3-1VCC:電源電壓。GND:地。P0口:是一組8位漏極開路型雙向I/O口,地址/數(shù)據(jù)總線復用口。P1口:是一個帶內(nèi)部上拉電阻的8位雙向I/O口,驅動四個TTL邏輯門電路。P2口:是一個帶內(nèi)部上拉電阻的8位雙向I/O口,驅動四個TTL邏輯門電路。P3口:是一個帶內(nèi)部上拉電阻的8位雙向I/O口,驅動四個TTL邏輯門電路。RST:復位輸入。RST引腳出現(xiàn)兩個機器周期以上的高電平則處于復位狀態(tài)。ALE/PROG非:當訪問外部程序存儲器和數(shù)據(jù)存儲器時,ALE脈沖輸出用于鎖存地址低八位字節(jié),ALE輸出的時鐘正脈沖是單片機時鐘頻率的1/6,每當訪問外部存儲器時將跳過一個ALE脈沖。PSEN非:程序存儲允許輸出是外部程序存儲的讀選通信號,單片機讀指令時,每個機器周期兩次PSEN非有效。EA非/EPP:外部訪問有效。XTAL1:振蕩器反向放大器及時鐘發(fā)生器的輸入端。XTAL2:振蕩器反向放大器輸出端。3.2.1.4中斷及定時介紹8051單片機的中斷系統(tǒng)簡單實用,其基本特點是:有5個固定的可屏蔽中斷源,3個在片內(nèi),2個在片外,它們在程序存儲器中各有固定的中斷入口地址,由此進入中斷服務程序;5個中斷源有兩級中斷優(yōu)先級,可形成中斷嵌套;2個特殊功能寄存器用于中斷控制和條件設置的編程。中斷系統(tǒng)的結構:
INT0:外部中斷0,由P3.2端口線引入,低電平或下跳沿引起。
INT1:外部中斷1,由P3.3端口線引入,低電平或下跳沿引起。
T0:定時器/計數(shù)器0中斷,由T0計滿回零引起。
T1:定時器/計數(shù)器l中斷,由T1計滿回零引起。
TI/RI:串行I/O中斷,串行端口完成一幀字符發(fā)送/接收后引起。中斷系統(tǒng)的控制寄存器:
中斷系統(tǒng)有兩個控制寄存器IE和IP,它們分別用來設定各個中斷源的打開/關閉和中斷優(yōu)先級。此外,在TCON中另有4位用于選擇引起外部中斷的條件并作為標志位。中斷允許寄存器—IE
IE在特殊功能寄存器中,字節(jié)地址為A8H,位地址(由低位到高位)分別是A8H-AFH。IE用來打開或關斷各中斷源的中斷請求。EA××ESET1EX1ET0EX0EA:全局中斷允許位。EA=0,關閉全部中斷;EA=1,打開全局中斷控制,在此條件下,由各個中斷控制位確定相應中斷的打開或關閉。
×:無效位。
ES:串行I/O中斷允許位。ES=1,打開串行I/O中斷;ES=0,關閉串行I/O中斷。
ETl:定時器/計數(shù)器1中斷允許位。ETl=1,打開T1中斷;ETl=O,關閉T1中斷。
EXl:外部中斷l(xiāng)中斷允許位。EXl=1,打開INT1;EXl=0,關閉INT1。
ET0:定時器/計數(shù)器0中斷允許位。ET0=1,打開T0中斷;ET0=0,關閉TO中斷。
EXO:外部中斷0中斷允許位。EX0=1,打開INT0;EX0=0,關閉INT0.中斷優(yōu)先寄存器--IP:
IP在特殊功能寄存器中,字節(jié)地址為B8H,位地址(由低位到高位)分別是B8H一BFH,IP用來設定各個中斷源屬于兩級中斷中的哪一級?!痢痢罰SPT1PX1PT0PX0×:無效位。
PS:串行I/O中斷優(yōu)先級控制位。PS=1,高優(yōu)先級;PS=0,低優(yōu)先級。
PTl:定時器/計數(shù)器1中斷優(yōu)先級控制位。PTl=1,高優(yōu)先級;PTl=0,低優(yōu)先級。
PXl:外部中斷1中斷優(yōu)先級控制位。PXl=1,高優(yōu)先級;PXl=O,低優(yōu)先級。
PT0:定時器/計數(shù)器0中斷優(yōu)先級控制位。PT0=1,高優(yōu)先級;PTO=0,低優(yōu)先級。
PX0:外部中斷0中斷優(yōu)先級控制位。PX0=1,高優(yōu)先級;PX0=0,傷優(yōu)先級。
在MCS-51單片機系列中,高級中斷能夠打斷低級中斷以形成中斷嵌套;同級中斷之間,或低級對高級中斷則不能形成中斷嵌套。若幾個同級中斷同時向CPU請求中斷響應,則CPU按如下順序確定響應的先后順序:INT0—T0—INT1—T1—RI/T1.中斷的響應過程若某個中斷源通過編程設置,處于被打開的狀態(tài),并滿足中斷響應的條件,而且①當前正在執(zhí)行的那條指令已被執(zhí)行完
1、當前末響應同級或高級中斷
2、不是在操作IE,IP中斷控制寄存器或執(zhí)行REH指令則單片機響應此中斷。
在正常的情況下,從中斷請求信號有效開始,到中斷得到響應,通常需要3個機器周期到8個機器周期。中斷得到響應后,自動清除中斷請求標志(對串行I/O端口的中斷標志,要用軟件清除),將斷點即程序計數(shù)器之值(PC)壓入堆棧(以備恢復用);然后把相應的中斷入口地址裝入PC,使程序轉入到相應的中斷服務程序中去執(zhí)行。
各個中斷源在程序存儲器中的中斷入口地址如下:
中斷源入口地址
INT0(外部中斷0)0003H
TF0(TO中斷)000BH
INT1(外部中斷1)0013H
TFl(T1中斷)001BH
RI/TI(串行口中斷)0023H
由于各個中斷入口地址相隔甚近,不便于存放各個較長的中斷服務程序,故通常在中斷入口地址開始的二三個單元中,安排一條轉移類指令,以轉入到安排在那兒的中斷服務程序。由于5個中斷源各有其中斷請求標志0,TF0,IEl,TFl以及RI/TI,在中斷源滿足中斷請求的條件下,各標志自動置1,以向CPU請求中斷。如果某一中斷源提出中斷請求后,CPU不能立即響應,只要該中斷請求標志不被軟件人為清除,中斷請求的狀態(tài)就將一直保持,直到CPU響應了中斷為止,對串行口中斷而言,這一過程與其它4個中斷的不同之處在于;即使CPU響應了中斷,其中斷標志RI/TI也不會自動清零,必須在中斷服務程序中設置清除RI/TI的指令后,才會再一次地提出中斷請求。
CPU的現(xiàn)場保護和恢復必須由被響應的相應中斷服務程序去完成,當執(zhí)行RETI中斷返回指令后,斷點值自動從棧頂2字節(jié)彈出,并裝入PC寄存器,使CPU繼續(xù)執(zhí)行被打斷了的程序。波特率的確定:對方式0來說,波特率已固定成fosc/12,隨著外部晶振的頻率不同,波特率亦不相同。常用的fosc有12MHz和6MHz,所以波特率相應為1000×103和500×103位/s。在此方式下,數(shù)據(jù)將自動地按固定的波特率發(fā)送/接收,完全不用設置。
對方式2而言,波特率的計算式為2SMOD·fosc/64。當SMOD=0時,波特率為fm/64;當SMOD=1時,波特率為fosc/32。在此方式下,程控設置SMOD位的狀態(tài)后,波特率就確定了,不需要再作其它設置。
對方式1和方式3來說,波特率的計算式為2SMOD/32×T1溢出率,根據(jù)SMOD狀態(tài)位的不同,波特率有Tl/32溢出率和T1/16溢出率兩種。由于T1溢出率的設置是方便的,因而波特率的選擇將十分靈活。
前已敘及,定時器Tl有4種工作方式,為了得到其溢出率,而又不必進入中斷服務程序,往往使T1設置在工作方式2的運行狀態(tài),也就是8位自動加入時間常數(shù)的方式。3.2.2溫度采集模塊3.2.2.1溫度傳感器DS18B20介紹DS18B20是美國達拉斯(Dallas)公司的單線數(shù)字溫度傳感器芯片,DS18B20作為溫度傳感器,與傳統(tǒng)的熱敏電阻有所不同,DS18B20可直接將被測溫度轉化成串行數(shù)字信號,以供單片機處理,它還具有微型化,低功耗,高性能,抗干擾能力強等優(yōu)點。通過編程,DS18B20可以實現(xiàn)9-12位的溫度讀數(shù)。信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從微處理器到DS18B20僅僅需要連接一條信號線和地線。讀,寫和執(zhí)行溫度變換所需的電源可以由數(shù)據(jù)本身提供,而不需要外部電源。每片DS18B20在出廠時都設有唯一的產(chǎn)品序列號,此序列號存放在它的內(nèi)部ROM中,微處理器通過簡單的協(xié)議就能識別這些序列號,因此多個DS18B20可以掛接于同一條單線總線上,這允許在許多不同的地方放置溫度傳感器,特別適合于構成多點溫度測控系統(tǒng)。3.2.2.2主要特點*采用單線技術,與單片機通信只需要一個引腳;*通過識別芯片各自唯一的產(chǎn)品序列號從而實現(xiàn)單線多掛接,簡化了分布式溫度檢測的應用;*實際應用中不需要外部任何器件即可實現(xiàn)測溫;*可通過數(shù)據(jù)線供電,電壓范圍為3—5.5V;*不需要備份電源;*測量范圍為-55—+125℃,在-10—85℃范圍內(nèi)誤差為±*數(shù)字溫度計的分辨率用戶可以從9位到12位選擇,可配置實現(xiàn)9~12位的溫度讀數(shù);*將12位的溫度值轉換為數(shù)字量所需要的時間不超過750MS;*用戶定義的,非易失性的溫度告警設置,用戶可自行設定告警的上下限溫度;*告警尋找命令可以識別和尋址那些溫度超出預設告警界限的器件。3.2.2.3單線技術目前常用的微機與外設之間數(shù)據(jù)傳輸?shù)拇ㄐ锌偩€有I2C總線,SPI總線等,I2C總線采用同步串行雙線(一根時鐘線,一根數(shù)據(jù)線)方式,而單線技術試用于單主機系統(tǒng),單主機能夠控制一個或多個從機設備。主機可以是微控制器,從機可以是單線器件,他們之間的數(shù)據(jù)交換,控制都由這根線完成。主機或從機通過一個漏級開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設備在不發(fā)送數(shù)據(jù)時能夠釋放該線,而讓其他設備使用。單線通常要求外接一個約5K的上拉電阻,這樣,當該線閑置時,其狀態(tài)為高電平。主機和從機之間的通信主要分為3個步:初始化單線器件,識別單線器件和單線數(shù)據(jù)傳輸。由于只有一根線通信,所有他們必須是嚴格的主從結構,只有主機呼叫從機時,從機才能應答,主機訪問每個單線器件都必須嚴格遵循單線命令序列,即遵守上述三步的順序。如果命令序列混亂,單線器件將不會響應主機。所有的單線器件都要遵循嚴格的協(xié)議,以保證數(shù)據(jù)的完整性。單線協(xié)議由復位脈沖,應答信號,寫0,寫1,讀0和讀1這幾種信號類型組成。這些信號中,除了應答信號,其他均由主機發(fā)起,并且所有命令和數(shù)據(jù)都是字節(jié)的低位在前。3.2.2.4芯片引腳圖及引腳功能說明引腳圖見圖3-2(Fig.3-2)圖3-2Fig.3-2NC(1、2、6、7、8腳):空引腳,懸空,不使用。VDD(3腳):可選電源腳,電壓范圍為3-5.5V。當工作于寄生電源時,此引腳必須接地。DQ(4腳):數(shù)據(jù)輸入/輸出腳。漏極開路,常態(tài)下高電平。GND(5腳):地腳。3.2.2.5DS18B20內(nèi)部結構DS18B20內(nèi)部有四個主要部件:64位激光ROM,溫度傳感器,非易失性溫度告警觸發(fā)器(TH和TL)以及配置寄存器。每個DS18B20都有一個唯一的64位ROM編碼,它存放在64位激光ROM中。代碼的前8位是單線產(chǎn)品系列編碼(對于DS18B20,該8位編碼是28H);接著的48位是唯一的產(chǎn)品序列號;最后8位是前面56位編碼的CRC校驗碼,如表3-2(Table3-2)所示。表3-2Table3-2內(nèi)容8位CRC校驗碼48位產(chǎn)品序列號8位產(chǎn)品系列編碼MSBLSBMSBLSBMSBLSBCRC的等效多項式函數(shù)為:CRC=X8+X5+X4+164位激光ROM中的8位CRC值即由此多項式函數(shù)產(chǎn)生。主機可以通過“讀ROM”命令讀取64位ROM的前56位,然后也按此多項式函數(shù)計算出CRC的值,并把它與讀出的存放在DS18B20激光ROM內(nèi)的CRC值進行比較,從而決定ROM的數(shù)據(jù)是否已被主機正確接收。CRC值的比較和是否繼續(xù)操作都由主機來決定。存儲器由一個中間結果暫存RAM和一個非易失性電可擦除(E2)RAM組成,后者存儲高,低溫觸發(fā)器TH和TL及配置寄存器的內(nèi)容。暫存存儲器有助于在單線通信時確保數(shù)據(jù)的完整性。數(shù)據(jù)首先寫入暫存存儲器,在那里它可以被讀出校驗,校驗之后再將數(shù)據(jù)傳送到非易失性E2RAM中。這一過程確保了修改存儲器時數(shù)據(jù)的完整性。 暫存存儲器的頭兩個字節(jié)為測得溫度信息的低位和高位字節(jié);第3和第4字節(jié)是TH和TL的易失性拷貝,在每一次上電復位時都會被刷新;第5個字節(jié)是配置寄存器的易失性拷貝,在上電復位時也會被刷新;接著的三個字節(jié)為內(nèi)部計算使用;第9個字節(jié)為前面所有8個字節(jié)的CRC校驗值。暫存器的第5個字節(jié)是配置寄存器,可以通過相應的寫命令進行配置,其內(nèi)容如下:0R1R011111MSBLSBDS18B20的核心功能部件是它的數(shù)字溫度傳感器,如上所述,它的分辨率可配置為9,10,11或12位,出廠時默認設置是12位分辨率,它們對應的溫度值分辨率分別為0.5℃、0.25℃、0.125℃ MSB LSB2322212021222324低位字節(jié)
MSB LSBSSSSS222324高位字節(jié)
這是12位分辨率的情況,如果配置為低的分辨率,則其中無意義位的值為零。實測溫度和數(shù)字輸出的對應關系如表3-5(Table3-5)所示:表3-5溫度數(shù)字輸出(二進制)數(shù)字輸出(十六進制)+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100010191H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-10.1251111111101011110FF5EH-25.06251111111001101111FF6FH-551111110010010000FC90H在DS18B20完成溫度變換之后,溫度值與存儲在TH和TL內(nèi)的告警觸發(fā)值相比較。由于這些是8位寄存器,所以9-12位在比較時被忽略。TH或TL的最高位直接對應于16位溫度寄存器的符號位。如果溫度測量的結果高于TH或低于TL那么器件內(nèi)告警標志將置位,每次溫度測量都會更新此標志。只要告警標志置位,DS18B20就將響應告警搜索命令,這也就允許單線上多個DS18B20同時進行溫度測量,即使某處溫度越限,也可以識別出正在告警的器件。3.2.2.6DS18B20供電方式DS18B20有兩種供電方式:寄生電源和外部電源。寄生電源簡單說起來是器件從單線數(shù)據(jù)線中“竊取”電源,在信號線為高電平的時間周期內(nèi),把能量存儲在內(nèi)部的電容器中,在單信號線為低電平的時間內(nèi)斷開此電源,直到信號線變?yōu)楦唠娖街匦陆由霞纳娙荩╇娫礊橹?。寄生電源有兩個優(yōu)點:可實現(xiàn)遠程溫度檢測而無需本地電源;沒有正常電源的條件下也可以讀ROM。為了使DS18B20能完成準確的溫度變換,當溫度變換發(fā)生時,DQ線上必須提供足夠的功率。因為DS18B20的工作電流高達1.5mA,4.7K的上拉電阻將使得DQ線沒有足夠的驅動能力。解決的方法是在發(fā)生溫度變換時在DQ線上提供強的上拉,比如用MOSFET管把DQ線直接拉到電源電壓。當使用寄生電源方式時VDD引腳必須連接到地。DS18B20的另一種供電方式是將VDD引腳接外部電源(3-5.5V)。這種方法的優(yōu)點是在DQ線上不要求強的上拉??偩€上的主機在溫度變換期間不需要一直使DQ線保持高電平。這就允許在變換時間內(nèi)其它數(shù)據(jù)在單線上傳送。而且,在單線上可以放置多個DS18B20,如果它們都使用外部電源,那么通過發(fā)起“跳過ROM”命令,接著執(zhí)行“溫度變換”命令就可以同時完成各自的溫度變換。注意,采用外部電源這種方式時,GND(地)引腳不可懸空。本設計雖然只使用了一片DS18B20,但由于不存在遠程溫度測量的考慮,所以為了簡單起見,仍然采用外部供電的方式。下圖為溫度采集模塊硬件實現(xiàn)。DQ端接單片機P32口。3.2.3煙霧傳感器MQ-2的介紹特點廣泛的探測范圍高靈敏度/快速響應恢復優(yōu)異的穩(wěn)定性/壽命長簡單的驅動電路應用可用于家庭和工廠的氣體泄漏監(jiān)測裝置,適宜于液化氣、丁烷、丙烷、甲烷、酒精、氫氣、煙霧等的探測。規(guī)格結構A 結構B圖3-4MQ-2氣敏元件的結構Fig3-4MQ-2gassensorstructureE.靈敏度特性曲線圖3-5給出了MQ-2型氣敏元件的靈敏度特性。其中:溫度:20℃、相對濕度:65%、氧氣濃度:21%RL=5kΩRs:元件在不同氣體,不同濃度下的電阻值。R0:元件在潔凈空氣中的電阻值。Ro:20℃,33%RH條件下,1000ppm氫氣中元件電阻。Rs:不同溫度,濕度下,1000ppm氫氣中元件電阻。.靈敏度調(diào)整MQ-2型氣敏元件對不同種類、不同濃度的氣體有不同的電阻值。因此,在使用此類型氣敏元件時,靈敏度的調(diào)整是很重要的。用1000ppm氫氣或1000ppm丁烷校準傳感器是比較好的方法。當精確測量時,報警點的設定應考慮溫濕度的影響。下圖為MQ-2煙霧傳感器實現(xiàn)原理圖。 圖3-6ADC0809原理圖對ADC0809主要信號引腳的功能說明如下:(1)IN7~IN0:模擬量輸入通道。ADC0809對輸入模擬量的要求主要有:信號單極性,電壓范圍0~5V,若信號過小還需進行放大。另外,在A/D轉換過程中,模擬量輸入的值不應變化太快,因此,對變化速度快的模擬量,在輸入前應增加采樣保持電路。(2)A、B、C:地址線。A為低位地址,C為高位地址,用于對模擬通道進行選擇。圖中為ADDA、ADDB和ADDC。(3)ALE:地址鎖存允許信號。在對應ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。(4)START:轉換啟動信號。START上跳沿時,所有內(nèi)部寄存器清0;START下跳沿時,開始進行A/D轉換;在A/D轉換期間,START應保持低電平。(5)D7-D0:數(shù)據(jù)輸出線。其為三態(tài)緩沖輸出形式,可以和單片機的數(shù)據(jù)線直接相連。(6)OE:輸出允許信號。其用于控制三態(tài)輸出鎖存器向單片機輸出轉換得到的數(shù)據(jù)。OE=0,輸出數(shù)據(jù)線呈高電阻;OE=1,輸出轉換得到的數(shù)據(jù)。(7)CLK:時鐘信號。ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號由外界提供,因此有時鐘信號引腳。通常使用頻率為500kHz的時鐘信號。(8)EOC:轉換結束狀態(tài)信號。EOC=0,正在進行轉換;EOC=1,轉換結束。該狀態(tài)信號既可作為查詢的狀態(tài)標志,又可以作為中斷請求信號使用。(9)VCC:+5V電源。(10)Vref:參考電源。參考電壓用來與輸入的模擬信號進行比較,作為逐次逼近的基準。其典型值為+5V(Vref(+)=+5V,Vref(-)=0V)3.2.4步進電機模塊3.2.4.1步進電機介紹步進電機是將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領域用步進電機來控制變的非常的簡單。雖然步進電機已被廣泛地應用,但步進電機并不能象普通的直流電機,交流電機在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅動電路等組成控制系統(tǒng)方可使用。因此用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業(yè)知識。3.2.4.2步進電機的主要特性步進電機必須加驅動才可以運轉,驅動型號必須為脈沖信號,沒有脈沖的時候,步進電機靜止,如果加入適當?shù)拿}沖信號,就會以一定的角度(稱為步角)轉動。轉動的速度和脈沖的頻率成正比。騰龍版步進電機的步進角度為7.5度,一圈360度,需要48個脈沖完成。步進電機具有瞬間啟動和急速停止的優(yōu)越特性。改變脈沖的順序,可以方便的改變轉動的方向。因此,目前打印機,繪圖儀,機器人,等等設備都以步進電機為動力核心。圖3-8騰龍版配備的步進電機騰龍版套件采用的是12v步進電機,為了演示的方便,我們?yōu)樗峁┝?v的電源,此時轉動力矩較小,讀者也可自行把他應用為12v。該步進電機的耗電流為200ma左右,采用L297和L298驅動,驅動端口為p0.0,p0.1,p0.2,p0.3,p0.4,p0.7。正轉步數(shù)P0.0P0.1P0.2P0.303h1110009h210010ch3001106h40110反轉步數(shù)P0.0P0.1P0.2P0.303h1110006h201100ch3001109h410013.2.4.3本次設計所用電機電機型號:EM-4427523STH-39D208四步:ABCD公共端P0.0P0.1P0.2P0.3灰褐紅橙白.黑(電源+)0011100111000110十六進制表示:0CH,09H,03H,06H八步:ABCD公共端P0.0P0.1P0.2P0.3灰褐紅橙白.黑(電源+)00110001100110001100010001100010十六進制表示:0CH,08H,09H,01H,03H,02H,06H,04H在步進電機的控制中,有一個問題要注意,即步進電機除了運轉狀態(tài)外,靜止狀態(tài)實際上有兩種。其一是完全不工作狀態(tài),其一任何一相均不加電;其二是靜止保持狀態(tài),即在分布脈沖讓步進電機轉過一個步進角后,通電相仍然維持通電,此時步進電機維持不在轉動。而在靜止保持狀態(tài),步進電機在較低外力力矩作用下不在轉動。下圖為步進電機實現(xiàn)原理圖。3.2.5電源系統(tǒng)設計電源系統(tǒng)設計在實際開發(fā)單片機應用系統(tǒng)中占有很重要的位置。由于很多實際應用系統(tǒng)工作環(huán)境比較復雜,所以電源設計就有很高的要求,既要穩(wěn)定,又要有很好的抗干擾能力。對于要求較高的系統(tǒng),通常電源選擇比較可靠的專業(yè)廠家設計的穩(wěn)壓電源系統(tǒng)。本設計的電源系統(tǒng),選擇穩(wěn)壓電源,然后通過電源檢測控制部分電路連接到主板的電源系統(tǒng)。由于火災報警系統(tǒng)要求具有備用電源,所以電源檢測控制部分電路還要連接到電池上,一旦發(fā)生停電現(xiàn)象,電源檢測控制部分電路要及時地切換到電池上,并且報告故障。通常,把穩(wěn)壓電源稱為主電,電池稱為備電。由于火災自動報警器與火災報警探測器的連線要求是24V電壓,所以火災報警系統(tǒng)的電源系統(tǒng)選擇的是能輸出24V和5V的穩(wěn)壓電源模塊以及24V備電電池。綜上所述,電源系統(tǒng)設計主要是設計電源檢測控制部分電路,其要完成的任務如下:檢測電源部分電壓情況并及時報告故障。檢測電池部分電壓情況并及時報告故障。如果主電發(fā)生故障,及時切換到備電并且不能影響CPU的正常工作。根據(jù)第三點的要求,需要在電源檢測控制部分電路上設計儲電部分,通常采用幾個大容量的電解電容并連接到5V電壓上即可。具有將備電電池24V電壓降到5V電壓的電路。此次設計選用LM2576T-5.0。3.2.5.1LM2576T-5.0介紹LM2576T-5.0屬于高效率,3A大電流輸出的降壓式DC/DC電源變換器,亦稱單片開關式集成穩(wěn)壓器或電壓調(diào)節(jié)器。內(nèi)部包含52kHz振蕩器和1.23V帶隙基準電壓源,并具有完善的保護電路(包括過流保護及過熱保護電路等),只需要很少的外圍器件即可構成高效率穩(wěn)壓電源。LM2576T-5.0能輸出3A電流并具有優(yōu)良的線性度和負載調(diào)節(jié)能力,是7800系列三端線性集成穩(wěn)壓器的理想替代品。3.2.5.2LM2576T-5.0的引腳功能LM2576T-5.0有三種封裝形式:TO-220(直腳排列),TO-220(雙排互相錯位的直腳排列),TO-263(表面封裝)。各引腳的功能如下:第1腳為未經(jīng)過穩(wěn)壓的直流電壓輸入端U1,該端與地之間應接輸入濾波電容。第2腳為穩(wěn)壓輸出端OUT接內(nèi)部3A功率開關管的發(fā)射極,開關管的飽和壓降為1.5V,設計電路時需要注意與OUT的印制板區(qū)域要盡可能小,以減少電路的偶合。第3腳為接地端。第4腳為反饋端FB。第5腳為通斷控制端ON/OFF,該端接地時穩(wěn)壓器正常工作,接高電平時穩(wěn)壓器的輸出被關斷,允許用TTL或CMOS邏輯電平來驅動,開啟或關斷穩(wěn)壓器,但該端不得懸空。電源電路板設計圖如圖3-9(Fig3-9)所示主電+24V主電+24V備電+24V+24V備電采樣+5V主電采樣LM2576T-5.0+5V地線圖3-93.2.6數(shù)碼管顯示七段顯示器的原理:顯示器是單片機應用系統(tǒng)常用的設備,包括LED、LCD等。LED顯示器由若干個發(fā)光二極管組成,當發(fā)光二極管導通時,相應的一個筆畫或一個點就發(fā)光??刂葡鄳亩O管導通,就能顯示出相應的字符。七段LED的顯示器如圖3-10(Fig3-10)所示。各段LED顯示器需要由驅動電路驅動。在七段LED顯示器中,通常將各段發(fā)光二極管的陰極或陽極連在一起作為公共端,這樣可以使驅動電路簡單。將各段發(fā)光二極管的陽極連在一起的叫共陽極顯示器,用低電平驅動;將陰極連在一起的叫共陰極顯示器。 圖3-10七段數(shù)碼管的顯示方法分為靜態(tài)顯示和動態(tài)顯示,本次設計采用靜態(tài)顯示。3.2.6.1靜態(tài)顯示介紹所謂靜態(tài)顯示,是指顯示器顯示某一字符時,相應段的發(fā)光二極管恒定地導通或截止。靜態(tài)顯示分為并行輸出和串行輸出兩種方式。并行顯示方式每個十進制位都需要有一個8位輸出口控制,所以一般采用3片74LS373擴展并行I/O口,口地址是由74LS138譯碼器的輸出決定的,74LS138的A,B,C分別接到單片機的I/O口,譯碼輸出信號與單片機寫信號一起控制對各74LS373數(shù)據(jù)的寫入。對于靜態(tài)顯示方式,LED顯示器由接口芯片直接驅動,采用較小的驅動電路就可以得到較高的顯示亮度。但是,并行輸出顯示的十進制位數(shù)多時,需要并行I/O接口芯片的數(shù)量較多。采用串行輸出可以大大節(jié)省單片機的內(nèi)部資源。串并轉換采用74LS64,低電平時允許通過8mA電流,無需添加其他任何驅動電路。TXD為移位時鐘輸出,RXD為移位數(shù)據(jù)輸出,p1.0作為顯示器允許控制輸出線,每次輸出48位(6個字節(jié))的段碼數(shù)據(jù)。3.2.6.2芯片74LS164的介紹74LS164是8位移位寄存器(串行輸入,并行輸出),當清除端(clear)為低電平時,輸出端(QA-QH)均為低電平。串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當A,B任意一個為低電平,則禁止新數(shù)據(jù)輸入,在時鐘端(CLOCK)脈沖上升沿作用下Q0為低電平。當A,B有一個為高電平,則另一個就允許輸入數(shù)據(jù),并在CLOCK上升沿作用下決定Q0的狀態(tài)。芯片引腳功能如圖3-11(Fig3-11)所示圖3-11雙列直插封裝引出端符號CLOCK時鐘輸入端CLEAR同步清除輸入端(低電平有效)A,B串行數(shù)據(jù)輸入端QA-QH輸出端真值表表3-7(Table3-7)表3-7Table3-7H—高電平L—低電平X—任意電平↑—低到高電平跳變QA0,QB0,QH0—規(guī)定的穩(wěn)態(tài)條件建立前的電平QAn,QGn—時鐘最近的↑前的電平具體設計電路如圖所示。其中,74ls164的A,B連接到一起,接到單片機P3.0口,脈沖信號CP由單片機的P2.0和P3.1口控制。3.2.7時鐘模塊3.2.7.1時鐘芯片DS1302的簡介DS1302是DALLAS公司推出的涓流充電時鐘芯片內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM通過簡單的串行接口與單片機進行通信實時時鐘/日歷電路提供秒分時日日期月年的信息每月的天數(shù)和閏年的天數(shù)可自動調(diào)整時鐘操作可通過AM/PM指示決定采用24或12小時格式DS1302與單片機之間能簡單地采用同步串行的方式進行通信僅需用到三個口線1RES復位2I/O數(shù)據(jù)線3SCLK串行時鐘時鐘/RAM的讀/寫數(shù)據(jù)以一個字節(jié)或多達31個字節(jié)的字符組方式通信DS1302工作時功耗很低保持數(shù)據(jù)和時鐘信息時功率小于1mW。DS1302是由DS1202改進而來增加了以下的特性雙電源管腳用于主電源和備份電源供應Vcc1為可編程涓流充電電源附加七個字節(jié)存儲器它廣泛應用于電話傳真便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領域。3.2.7.2性能指標實時時鐘具有能計算2100年之前的秒分時日日期星期月年的能力還有閏年調(diào)整的能力31X8位暫存數(shù)據(jù)存儲RAM串行I/O口方式使得管腳數(shù)量最少寬范圍工作電壓2.0—5.5V工作電流2.0V時,小于300nA讀/寫時鐘或RAM數(shù)據(jù)時有兩種傳送方式單字節(jié)傳送和多字節(jié)傳送字符組方式8腳DIP封裝或可選的8腳SOIC封裝根據(jù)表面裝配簡單3線接口與TTL兼容Vcc=5V可選工業(yè)級溫度范圍-40—+85與DS1202兼容3.2.7.3管腳排列及功能DS1302的管腳排列如圖3-11(Fig3-11)所示圖3-12管腳描述X1X2—32.768KHz晶振管腳GND—地RST—復位腳I/O—數(shù)據(jù)輸入/輸出引腳SCLK—串行時鐘Vcc1,Vcc2—電源供電管腳DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向)。SCLK始終是輸入端。3.2.7.4DS1302數(shù)據(jù)操作原理DS1302在任何數(shù)據(jù)傳送時必須先初始化,把RST腳置為高電平,然后把8位地址和命令裝入移位寄存器,數(shù)據(jù)在SCLK的上升沿被輸入。無論是讀周期還是寫周期,開始8位指定40個寄存器中哪個將被訪問。在開始8個周期,把命令字節(jié)裝入移位寄存器之后,另外的時鐘周期在讀操作時輸出數(shù)據(jù),在寫操作時寫入數(shù)據(jù),時鐘脈沖的個數(shù)在單字節(jié)方式下為8加8,在多字節(jié)方式下為8加字節(jié)數(shù),最大可達248字節(jié)數(shù)。如果在傳送過程中置RST腳為低電平,則將會終止本次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦呓M態(tài)。上電運行時,在VCC≥2.5V之前,RST腳必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。3.2.7.5DS1302控制字節(jié)7 6 5 4 3 2 1 01RAM CKA4A3A2A1A0RAM KDS1302的控制字如上所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。3.2.7.6.數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。3.2.7.7.DS1302的寄存器DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數(shù)據(jù)位為BCD碼形式。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。時鐘暫停:秒寄存器第7位CH定義為時鐘暫停位,當它為1時,DS1302停止振蕩,進入低功耗的備份方式。通常在對DS1302進行寫操作時(如進入時鐘調(diào)整程序),停止振蕩。當它為0時,時鐘將開始啟動。AM-PM/12-24[小]時方式:[小]時寄存器的位7定義為12或24[小]時方式選擇位。它為高電平時,選擇12小時方式。在此方式下,位5是AM/PM位,此位是高電平時表示PM,低電平時表示AM。在24[小]時方式下,位5為第二個10[小]時位(20-23h)。DS1302的晶振選用32.768kHz,電容推薦值為6pF,因為振蕩頻率較低,也可以不接電容,對計時精度影響不大。下圖為DS1302的硬件實現(xiàn)。 其中,SCLK接單片機P11口,I/O口接單片機P12口,RST非接單片機P13口。3.2.8報警模塊報警模塊實現(xiàn)比較容易,其電路實現(xiàn)如圖所示。三極管的基極經(jīng)過電阻R1接到單片機P06口,通過高低電平實現(xiàn)報警。4系統(tǒng)軟件設計4.1主程序主程序完成對各個子程序的調(diào)用,并判斷是否有火情發(fā)生,如果有火情發(fā)生,則報警,相應步進電機工作,然后系統(tǒng)復位;如果沒有火情發(fā)生,則靜態(tài)顯示顯示當前的時間,主程序流程圖如圖4-1(Fig4-1)所示:調(diào)用報警程序,溫度顯示,報警調(diào)用報警程序,溫度顯示,報警開始步進電機工作,系統(tǒng)復位調(diào)用傳感器掃描程序調(diào)用傳感器掃描程序和預訂值相比較N和預訂值相比較N顯示時間顯示時間YY圖4-1Fig4-1程序清單見附錄二4.2溫度傳感器DS18b20DS18B20是單線器件,它在一根數(shù)據(jù)線上實現(xiàn)數(shù)據(jù)的雙向傳輸,這就需要一定的協(xié)議來對讀寫數(shù)據(jù)提出嚴格的時序要求,而AT89S52單片機并不支持單線傳輸,必須采用軟件的方法來模擬單線的協(xié)議時序。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。主機操作單線器件DS18B20必須遵循下面的順序。初始化單線總線上的所有操作均從初始化開始。初始化過程如下:主機通過拉低單線480us以上,產(chǎn)生復位脈沖,然后釋放該線,進入Rx接收模式。主機釋放總線時,會產(chǎn)生一個上升沿。單線器件DS18B20檢測到該上升沿后,延時15~60us,DS18B20通過拉低總線60~240us來產(chǎn)生應答脈沖。主機接收到從機德應答信號后,說明有單線器件在線。ROM操作命令一旦總線主機檢測到應答脈沖,它便可以發(fā)起ROM操作命令。內(nèi)存操作命令在成功執(zhí)行了ROM操作命令之后,才可以使用內(nèi)存操作命令。主機可以提供六種內(nèi)存操作命令。數(shù)據(jù)處理DS18B20要求有嚴格的時序來保證數(shù)據(jù)的完整性。在單線DQ上存在復位脈沖、應答脈沖、寫“0”、寫“1”、讀“0”和讀首先來看寫時隙。當主機將數(shù)據(jù)線從高電平拉至低電平時產(chǎn)生寫時隙。有兩種類型的寫時隙:寫“1”和寫“0”。所有的寫時隙必須在60us以上(即由高拉低后持續(xù)60us以上),各個寫時隙之間之間必須保證最短1us的恢復時間。DS18B20在DQ線變低后的15us至60us的窗口時間內(nèi)對DQ線進行采樣,如果為高電平就寫為“1”,如果為低電平就寫為“0”。對于主機產(chǎn)生寫“1再來看讀時隙。當主機從DS18B20讀數(shù)據(jù)時,把數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生讀時隙。數(shù)據(jù)線DQ必須保持低電平至少1us,來自DS18B20的輸出數(shù)據(jù)在讀時隙下降沿之后15us內(nèi)有效,因此在此15us內(nèi),主機必須停止將DQ引腳置低。在讀時隙結束時,DQ引腳將通過外部上拉電阻拉回至高電平。所有的讀時隙最短必須持續(xù)60us,各個讀時隙之間必須保證最短1us的恢復時間。所有的讀寫時隙至少需要60us,且每兩個獨立的時隙之間至少需要1us的恢復時間。在寫時隙中,主機將在拉低總線15us內(nèi)釋放總線,并向DS18B20寫“1”;若主機拉低總線后能保持至少60us的低電平,則向單總線器件寫“0”。DS18B20僅在主機發(fā)出讀時隙時才向主機傳輸數(shù)據(jù),所以,當主機向DS18B20發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時隙,以便DS18B20能傳輸數(shù)據(jù)。程序流程圖如圖4-2(Fig4-2)所示:YYNN開始初始化YYNN開始初始化DS18B20發(fā)起SkipRom命令應答脈沖發(fā)起ConvertT命令延時1s,等待溫度轉換完成初始化DS18B20應答脈沖發(fā)起ReadScratchpad命令讀取第1、2字節(jié)即為溫度數(shù)據(jù)圖4-2Fig4-2程序清單見附錄二4.3時鐘芯片DS1302DS1302與微處理器進行數(shù)據(jù)交換時,首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫保護;D6=0,指定時鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入),D0=1,指定讀操作(輸出)。在DS1302的時鐘日歷或RAM進行數(shù)據(jù)傳送時,DS1302必須首先發(fā)送命令字節(jié)。若進行單字節(jié)傳送,8位命令字節(jié)傳送結束之后,在下2個SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,在此方式下可一次性讀、寫所有的RAM的31個字節(jié)。要特別說明的是備用電源B1,可以用電池或者超級電容器(0.1F以上)。雖然DS1302在主電源掉電后的耗電很小,但是,如果要長時間保證時鐘正常,最好選用小型充電電池。可以用老式電腦主板上的3.6V充電電池。如果斷電時間較短(幾小時或幾天)時,就可以用漏電較小的普通電解電容器代替。100μF就可以保證1小時的正常走時。DS1302在第一次加電后,必須進行初始化操作。初始化后就可以按正常方法調(diào)整時間。程序流程圖如圖4-3所(Fig4-3)示:開始開始初始化13021302開始振蕩從1302中讀出時間讀出數(shù)據(jù)處理,送顯示緩沖區(qū)并調(diào)用顯示程序圖4-3Fig4-3/*******往DS1302寄存器寫入數(shù)據(jù)*********//*****輸入:pReDa:寄存器數(shù)據(jù)地址******/voidv_BurstW1302R(unsignedchar*pReDa){unsignedchari;v_W1302(0x8e,0x00);/*控制命令,WP=0,寫操作?*/T_RST=0;T_CLK=0;T_RST=1;v_RTInputByte(0xfe);/*0xfe:時鐘多字節(jié)寫命令*/for(i=31;i>0;i--)/*31字節(jié)寄存器數(shù)據(jù)*/{v_RTInputByte(*pReDa);/*寫1字節(jié)數(shù)據(jù)*/pSecDa++;}T_CLK=1;T_RST=0;}/*******讀取DS1302寄存器數(shù)據(jù)***********//********輸入:pReDa:寄存器數(shù)據(jù)地址******/voidv_BurstR1302R(unsignedchar*pReDa){unsignedchari;T_RST=0;T_CLK=0;T_RST=1;v_RTInputByte(0xff);/*0xff:時鐘多字節(jié)讀命令*/for(i=31;i>0;i--){*pReDa=uc_RTOutputByte();pSecDa++;}T_CLK=1;T_RST=0;}4.4步進電機步進電機運轉是和步進電機的時序息息相關的,正確的時序可以使電機運轉正常。此軟件設計通過AT89S52單片機將時序送入到步進電機的接口,使電機運轉。步進電機運轉的程序流程如圖4-4(Fig4-4)所示開始開始定時器0及中斷初始化驅動芯片初始化設置While(1)配置、控制步進電機運行定時器0服務子程序定時器0重新賦初值產(chǎn)生周期脈沖CLK圖4-4Fig4-45總結5.1火災報警監(jiān)控系統(tǒng)展望目前,國內(nèi)應用的火災自動報警系統(tǒng)基本上以區(qū)域火災自動報警系統(tǒng),集中火災自動報警系統(tǒng)和控制中心火災自動報警系統(tǒng)為主,其安裝形式主要集散控制方式。這種系統(tǒng)一般都自成一體,自我封閉,不能實現(xiàn)系統(tǒng)間的資源共享和服務共享。火災發(fā)生時,均都是現(xiàn)場報警,不能自動向“119”在國家標準《消防通信指揮系統(tǒng)設計規(guī)范》(GB50313——2000)中已提出,配合城市消防通信指揮系統(tǒng)總體設計應建立城市火災自動報警信息網(wǎng)絡監(jiān)控系統(tǒng),并且正在配合制定“火災自動報警系統(tǒng)監(jiān)控網(wǎng)絡通信協(xié)議”,其目的就是依托建筑物中設置的火災自動報警系統(tǒng),構成城市火災自動報警信息網(wǎng)絡監(jiān)控系統(tǒng)。隨著計算機技術,傳感器技術以及通信技術的進步,IP寬帶城域網(wǎng)等信息高速公路的發(fā)展,以及樓宇自動化設施及探測器和報警系統(tǒng)的發(fā)展等,都為城市火災自動報警網(wǎng)絡監(jiān)控系統(tǒng)提供了技術支持。隨著城市火災自動報警信息網(wǎng)絡監(jiān)控系統(tǒng)的建立,不僅能利用火災自動報警系統(tǒng)提供的早期火警信號,在短時間內(nèi)實現(xiàn)火情確認,自動接警,從而達到快速反應,充分利用消防資源的目的,而且能在消防監(jiān)督工作中,利用火災自動報警信息網(wǎng)絡監(jiān)控系統(tǒng)實時監(jiān)測火災自動報警系統(tǒng)的運行狀態(tài),使之與重點防火單位檔案管理,信息查詢,防火檢查需要掛鉤,加強防火工作的深度和力度,提高管理效能,達到實時監(jiān)督,動態(tài)管理的目的。5.2設計火災自動報警系統(tǒng)的新思路就今天的技術水平來說,有的傳感器所具有的某些性能相當不錯,而在另一些性能方面,傳感器的水平遠遠不如人。例如:當一個小小的煙頭扔到一塊地毯上,會產(chǎn)生什么樣的后果?人們在綜合分析周圍情況后能快速、準確的做出判斷,然而把這種判斷依賴于目前的傳感器技術,恐很難辦到。在新型,智能化傳感器尚未出現(xiàn)的今天,如何提高火災自動報警系統(tǒng)的快速性、準確性、可靠性呢?現(xiàn)提出一種基于多傳感器集成信息融合技術的火災自動報警系統(tǒng)。多傳感器集成是指最佳地綜合使用多個傳感器的信息,使設計出來的系統(tǒng)具有實現(xiàn)其預定功能所需的完備設備信息。多傳感器信息融合是指將經(jīng)過集成處理的多傳感器信息進行合成,經(jīng)過集成與融合的多傳感器信息,能完善地、精確的反映環(huán)境特征,剔除干擾信號,而單一傳感器只能獲得環(huán)境特征的部分信息段。基于單一傳感器(或簡單的將幾個傳感器一起用)設計的火災自動報警系統(tǒng)往往出現(xiàn)虛報、漏報毛病。80年代末以來,在高科技領域,如航天、多目標跟蹤、機器人等領域,多傳感器集成信息融合技術已成為研究熱點。即使在民品方面,如金屬切削機床刀具磨損、破損在線監(jiān)測方面,利用該技術也取得顯著的成效。相信將多傳感器信息融合技術應用于火災自動報警系統(tǒng)設計中,必定能將該系統(tǒng)性能指標進一步提高,將該技術移植到防火技術領域,它必能得到廣泛的應用。5.3結束語現(xiàn)代高層建筑及重要建筑的防火問題引起了國家消防部門及設計院等社會各界的高度重視。國家制定了一系列防火規(guī)范,從而促進火災自動報警設備的研究和推廣使用。本系統(tǒng)是基于單片機的火災報警監(jiān)控系統(tǒng),系統(tǒng)能夠對所在的環(huán)境進行實時監(jiān)測,在出現(xiàn)火情時,數(shù)碼管顯示當前的溫度,單片機即根據(jù)數(shù)字溫度傳感器DS18B20和煙霧傳感器所采集得到的情況實施報警功能,步進電機轉動,模擬對被保護物品實行保護。達到準確發(fā)現(xiàn)火災的目的,迅速發(fā)出報警信號。該系統(tǒng)的綜合性及可靠性高,而且易于實現(xiàn),具有較好的使用價值。參考文獻[1]張滿棟.楊勝強.高偉衛(wèi)報警監(jiān)控圖形系統(tǒng)開發(fā)實例[M].北京:機械工業(yè)出版社,2006.7[2]沙占友.夢志永.王彥朋單片機外圍電路設計[M].北京:電子工業(yè)出版社,2006.6[3]楊將新.李華軍.劉東駿單片機程序設計及應用從基礎到實踐[M].北京:電子工業(yè)出版社2005[4]肖玲妮.袁增貴Protel99SE印刷電路板設計教程[M]北京:清華大學出版社2003[5]于永戴佳常江51單片機C語言常用模塊與綜合系統(tǒng)設計實例精講[M]北京:電子工業(yè)出版社2007[6]張洪潤.張亞凡.單片機原理及其應用[M].清華大學出版社.2004[7]李光飛,李良兒,樓然苗等.單片機C程序設計實例指導[M].北京航空航天大學出版社.2000[8]康光華.電子技術基礎模擬部分[M].高等教育出版社.2003[9]康光華.電子技術基礎數(shù)字部分[M].高等教育出版社.2003[10]趙負圖.傳感器集成電路手冊[M].化學工業(yè)出版社.2004[11]樓然苗.51系列單片機設計實例[M].北京:北京航空出版社,2006[12]何希才.新型實用電子電路400例[M].電子工業(yè)出版社,2000[13]李廣弟.單片機基礎[M].北京:北京航空出版社,2001[14]何立民.單片機應用系統(tǒng)設計[M].北京:航空航天大學出版社,2004[15]張毅剛,彭喜元.新編MCS-51單片機應用設計實例[M].第一版,哈爾濱工業(yè)大學出版社,致謝第一,我要感謝的是我的大學母校老師,是他們教會了我為人處事,也是他們把我領入知識的海洋,我要特別感謝我的指導老師—×××老師,是他激發(fā)了我的專業(yè)興趣,使我明白了將來的發(fā)展方向,特此表示衷心的感謝,我會在以后的實際工作中用實際行動去表達我謝意,最后希望他能培養(yǎng)更多、更優(yōu)秀的專業(yè)人才。第二,我要感謝我的母校吉林農(nóng)業(yè)大學,是她培養(yǎng)了我四年,也是她一直陪同我成長了四年,使我對人對事從懵懂到對人對事有了一定深入的認識和獨到的見解,使我能更快的適應社會這個大環(huán)境,是她培養(yǎng)了我、也是她為我將來有更大的發(fā)展打下了堅實的物質基礎與精神基礎,因此,我表示誠摯的敬意和衷心的感謝,我永遠都不會忘記您的。希望您能為祖國的建設培養(yǎng)出更多、更優(yōu)秀的專業(yè)人才,使我們的祖國更加繁榮富強。附錄一系統(tǒng)各個模塊硬件原理圖系統(tǒng)總體電路原理圖thewholesystemofCircuitprinciple附錄二程序清單/**********************************//*****溫度傳感器用單總線DS18B20***//**********************************/#include<./Atmel/at89x51.h>#include<intrins.h>unsignedchartplsb,tpmsb;//溫度值低位,高位字節(jié)sbitDQ=P3^2;//數(shù)據(jù)通信線/****延時1毫秒*****/voiddelay(unsignedintt){unsignedinti;while(t--){for(i=0;i<125;i++){}}}/*******產(chǎn)生復位脈沖初始化*********/voidTxReset(void){unsignedinti;DQ=0;/****拉低約900US**********/i=100;while(i>0)i--;DQ=1;//產(chǎn)生上升沿i=4;while(i>0)i--;}/*********等待應答脈沖************/voidRxWait(void){unsignedinti;while(DQ);while(~DQ);//檢測到應答脈沖i=4;while(i>0)i--;}/*******讀取數(shù)據(jù)的一位,滿足讀時隙要求*********/bitRdBit(void){unsignedinti;bitb;DQ=0;i++;//保持低至少1USDQ=1;i++;i++;//延時15US以上,讀時隙下降沿后15US,DS18B20輸出數(shù)據(jù)才有效b=DQ;i=8;while(i>0)i--;return(b);//讀時隙不低于60US}//*******讀取數(shù)據(jù)的一個字節(jié)*********/unsignedcharRdByte(void){unsignedchari,j,b;b=0;for(i=1;i<=8;i++){j=RdBit();b=(j<<7)|(b>>1);}return(b);}//******寫數(shù)據(jù)的一個字節(jié),滿足寫1和寫0的時隙要求*******/voidWrByte(unsignedcharb){unsignedinti;unsignedcharj;bitbtmp;for(j=1;j<=8;j++){btmp=b&0x01;b=b>>1;//取下一位(由低位向高位)if(btmp){DQ=0;i++;i++;DQ=1;//延時,使得15US以內(nèi)拉高i=8;while(i>0)i--;//整個寫1時隙不低于60US}else{DQ=0;i=8;while(i>0)i--;//保持低電平在60US到120US之間DQ=1;i++;i++;}}}/******啟動溫度轉換*********/voidconvert(void){TxReset();//產(chǎn)生復位脈沖,初始化DS18B20RxWait();//等待DS18B20給出應答脈沖delay(1);//延時WrByte(0xcc);//skiprom命令WrByte(0x44);//convertT命令}//*******讀取溫度值*********//voidRdTemp(void){TxReset();//產(chǎn)生復位脈沖,初始化DS18B20RxWait();//等待DS18B20給出應答脈沖delay(1);//延時WrByte(0xcc);//skiprom命令WrByte(0xbe);//readscratchpad命令tplsb=RdByte();//溫度值低位字節(jié)(其中低4位為二進制的“小數(shù)”部分)tpmsb=RdByte();//高位值高位字節(jié)(其中高5位為符號位)}/********主程序,讀取的溫度值最終存放在tplsb和tpmsb變量中。tplsb其中低4位為********//******二進制的“小數(shù)“部分:tplsb其中高5位為符號位。真正通過數(shù)碼管輸出時,需要進行到*****//*******十進制有符號實數(shù)(包括小數(shù)部分)的轉換***********/voidmain(void){do{delay(1);convert();delay(100);RdTemp();}while(1);}/*************
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 期中測試卷2(原卷版)
- 公安局網(wǎng)安工作總結
- 城市土地資產(chǎn)管理合同
- 學校建設深基坑施工合同
- 安徽高考一卷數(shù)學試卷
- 機場綠化苗木采購施工合同
- 礦山清洗灑水車租賃合同樣本
- 制造業(yè)總工聘用合同模板
- 建筑安全員招聘協(xié)議范本
- 倉儲物流監(jiān)控施工合同
- 國開電大本科《西方經(jīng)濟學(本)》網(wǎng)上形考(作業(yè)一至六)試題及答案
- 提高有風險患者預防跌倒墜床護理措施落實率品管圈PDCA案例匯報
- 建材行業(yè)綠色建筑材料配送方案
- 2024年行政執(zhí)法人員執(zhí)法資格知識考試題庫(附含答案)
- 西那卡塞治療甲旁亢
- 無人駕駛 物流行業(yè)市場調(diào)研分析報告
- 電力工程施工人員培訓方案
- 3-U9C操作培訓-MRP基礎
- 8年級上冊(人教版)物理電子教材-初中8~9年級物理電子課本
- 2024至2030年中國銅制裝飾材料行業(yè)投資前景及策略咨詢研究報告
- 中金公司在線測評真題
評論
0/150
提交評論