版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 隨著社會(huì)的進(jìn)步,人們?cè)絹碓街匾暬馂?zāi)的防范工作,許多單位或生產(chǎn)線逐漸引入完善的防火系統(tǒng),目前市場上的防火大多處于原始的人為手動(dòng)的滅火,其效率低下,效果并不好,因此全新的自動(dòng)滅火系統(tǒng)這些年也是應(yīng)用而生,小到家庭的火災(zāi)防范,大到整個(gè)森林的火災(zāi)防范,這都無疑證明自動(dòng)滅火在當(dāng)下甚至未來是一個(gè)不可阻擋的發(fā)展趨勢。</p>&l
2、t;p> 本課題主要是以AT89C51單片機(jī)為核心自動(dòng)滅火系統(tǒng)的設(shè)計(jì),通過煙霧和溫度傳感器進(jìn)行現(xiàn)場信號(hào)實(shí)時(shí)采集,利用單片機(jī)控制,當(dāng)信號(hào)大于設(shè)定值時(shí),通過蜂鳴器和信號(hào)燈發(fā)出報(bào)警,同時(shí)使繼電器驅(qū)動(dòng)噴水裝置啟動(dòng),來實(shí)現(xiàn)自動(dòng)滅火,并通過數(shù)碼管對(duì)采集到的溫度進(jìn)行顯示,利用鍵盤進(jìn)行人機(jī)通信,應(yīng)用的范圍廣泛,可擴(kuò)展性也是相當(dāng)?shù)膹?qiáng),針對(duì)不同的場所可以自行改進(jìn)相關(guān)的部分。本次設(shè)計(jì)的主要方面是信號(hào)的檢測和單片機(jī)程序的控制部分,也是整個(gè)自動(dòng)滅火系統(tǒng)的
3、兩個(gè)主要方面。</p><p> 關(guān)鍵詞:自動(dòng)滅火系統(tǒng);AT89C51;煙霧和溫度傳感器 控制部分</p><p><b> Abstract</b></p><p> As society advances, there is growing emphasis on fire prevention work, many units o
4、r production lines gradually introducing improved fire protection systems, most of the fire protection on the market today still relys on human hand icontrolling , its efficiency is low and original, the effect is not go
5、od. Therefore, the new automatic fire extinguishing system apears Naturally. It is really widely used,ranged from home protection to the entire forest fire prevention, which would no doubt prove t</p><p> K
6、ey Words:automatic fire extinguishing system;AT89C51;the smoke and temperature sensor; control segment</p><p><b> 1概述</b></p><p><b> 1.1課題背景</b></p><p> 火
7、災(zāi),作為一種具有突發(fā)性和強(qiáng)破壞性的災(zāi)害現(xiàn)象,嚴(yán)重危害人類生命財(cái)產(chǎn)安全和自然環(huán)境。據(jù)統(tǒng)計(jì),在眾多的災(zāi)種中,火災(zāi)造成的直接損失約為地震的5倍,僅次于干旱和洪澇,而火災(zāi)發(fā)生的頻度則居于各災(zāi)種之首。千百年來,人類和火災(zāi)進(jìn)行了長期的斗爭,積累了許多防火、滅火的經(jīng)驗(yàn)教訓(xùn)。隨著社會(huì)的不斷發(fā)展,人們對(duì)于火災(zāi)的認(rèn)識(shí)不斷加深,針對(duì)火災(zāi)初期不同特征的各種探測方法越來越多。人類逐步掌握了火的燃燒機(jī)理,燃燒條件和燃燒發(fā)展的過程,創(chuàng)造了各種各樣防火、滅火的方法。&
8、lt;/p><p> 在上世紀(jì)70年代后期,開始出現(xiàn)一門新興的多學(xué)科交叉應(yīng)用基礎(chǔ)科學(xué),火災(zāi)科學(xué),其中心內(nèi)容就是用現(xiàn)代高科技手段研究火災(zāi)發(fā)生、發(fā)展和防治的機(jī)理和規(guī)律,為火災(zāi)防治提供新的思想、理論和方法,使得人類對(duì)火災(zāi)的研究進(jìn)入了科學(xué)化、系統(tǒng)化的軌道,并促進(jìn)了防火、滅火技術(shù)的進(jìn)步。</p><p> 本文基于上述考慮,通過研發(fā)全自動(dòng)滅火控制系統(tǒng),滿足了用戶的不同使用環(huán)境的需要。通過溫度傳感器和
9、煙霧傳感器檢測出信號(hào),也可通過控制電路使電話自動(dòng)撥號(hào)(119),并報(bào)告現(xiàn)場地址。這對(duì)有效、快速撲救具有積極意義。本系統(tǒng)適用于各種消防環(huán)境,尤其適合于不能用水做滅火介質(zhì)的地方,如圖書館、檔案館、計(jì)算機(jī)房等處。因單片機(jī)集成度高,故該裝置具有結(jié)構(gòu)簡單,可靠性高,成本低等優(yōu)點(diǎn)。</p><p> 1.2 自動(dòng)滅火系統(tǒng)設(shè)計(jì)的意義</p><p> 火災(zāi)報(bào)警系統(tǒng)是各行各業(yè)必需的一種安全系統(tǒng)網(wǎng)絡(luò),可
10、靠的監(jiān)測與數(shù)據(jù)傳輸是該系統(tǒng)非常重要的環(huán)節(jié). 現(xiàn)代化的建筑規(guī)模大,標(biāo)準(zhǔn)高,人員密集,設(shè)備眾多,對(duì)防火要求極為嚴(yán)格.隨著我國經(jīng)濟(jì)建設(shè)的發(fā)展,各種高層建筑,大中型商業(yè)建筑,廠房不斷涌現(xiàn),對(duì)消防報(bào)警系統(tǒng)提出了更高更嚴(yán)的要求.為了早期發(fā)現(xiàn)和通報(bào)火災(zāi),防止和減少火災(zāi)危害,保護(hù)人身和財(cái)產(chǎn)安全,保衛(wèi)社會(huì)主義現(xiàn)代化建設(shè),在現(xiàn)代化的工業(yè)民用建筑,賓館,圖書館,科研和商業(yè)部門,火災(zāi)自動(dòng)報(bào)警系統(tǒng)已成為必不可少的設(shè)施.電氣工程設(shè)計(jì),安裝和使用是否正確不僅直接影響
11、到建筑的消防安全而且也直接關(guān)系到各種消防設(shè)施能否真正發(fā)揮 作用.因此,火災(zāi)報(bào)警系統(tǒng)的設(shè)計(jì)及設(shè)備選型顯得尤為重要. 以往的火災(zāi)報(bào)警系統(tǒng)經(jīng)常會(huì)出現(xiàn)總線上的數(shù)據(jù)沖突,長距離數(shù)據(jù)傳輸?shù)牟豢煽恳约?不易擴(kuò)展等問題,隨著近年來一些低價(jià)格,高性能單片機(jī)被廣泛應(yīng)用于各個(gè)電路系統(tǒng), 尤其是電路控制等方面,這些問題都得到了一定的改善. 在人們生產(chǎn)過程中或日常生活中,火災(zāi)是時(shí)有發(fā)生的,它會(huì)給人們帶來巨大的災(zāi)害與苦難.因此,正確采取預(yù)防火災(zāi)的手段是人類與火災(zāi)做
12、斗爭的重要課題. </p><p> 自動(dòng)滅火系統(tǒng),美國現(xiàn)在已制定了相關(guān)規(guī)范對(duì)其推廣,英國、澳大利亞、也在使用,實(shí)踐證明安裝該系統(tǒng)能夠撲救初期火災(zāi),保護(hù)財(cái)產(chǎn)安全,降低火災(zāi)損失以及為搶救貨物提供足夠的時(shí)間并能及時(shí)報(bào)警。 </p><p> 隨著我國自動(dòng)滅火系統(tǒng)的不斷發(fā)展,自動(dòng)滅火系統(tǒng)大大的降低了火災(zāi)的危害性,把火災(zāi)給人們帶來的經(jīng)濟(jì)損失將到了最低,為確保人的生命及財(cái)產(chǎn)安全提供了保障
13、。</p><p> 在本次自動(dòng)滅火系統(tǒng)采用了煙霧傳感器之間的互鎖模式進(jìn)行控制,避免了因煙霧在倉庫中的擴(kuò)散而引起的其他非著火區(qū)域的錯(cuò)誤報(bào)警與滅火,大大減少了系統(tǒng)的誤報(bào)率,有很強(qiáng)的實(shí)用意義。且在本次設(shè)計(jì)中還采用了先報(bào)警后滅火的報(bào)警滅火模式,給管理人員提供了有效的火災(zāi)確認(rèn)時(shí)間,大大減少了因誤報(bào)帶來的損失,具有很強(qiáng)的實(shí)用價(jià)值。</p><p><b> 2方案的確定</b&g
14、t;</p><p> 自動(dòng)噴滅水火系統(tǒng)主要有兩大類:濕式自動(dòng)噴水滅火系統(tǒng)和干式自動(dòng)噴水滅火系統(tǒng)。</p><p> 方案一:濕式自動(dòng)噴水滅火系統(tǒng) 特點(diǎn):采用閉式噴頭的滅火系統(tǒng); 閉式噴頭的滅火系統(tǒng) 特點(diǎn):采用閉式噴頭的滅火系統(tǒng);準(zhǔn)工作狀態(tài)下管 網(wǎng)中充滿用于啟動(dòng)系統(tǒng)的有壓水 充滿用于啟動(dòng)系統(tǒng)的有壓水; 網(wǎng)中充滿用于啟動(dòng)系統(tǒng)的有壓水;當(dāng)噴頭保護(hù)范圍 內(nèi)發(fā)生火災(zāi), 內(nèi)發(fā)生火災(zāi),噴頭熱敏元
15、件受熱達(dá)到或超過公稱動(dòng)作溫度時(shí),熱敏元件動(dòng)作(熔化、破碎), 從而噴作溫度時(shí),熱敏元件動(dòng)作(熔化、破碎),從而噴頭開啟,出水滅火,同時(shí)系統(tǒng)自動(dòng)啟動(dòng)。 </p><p> 方案二:干式自動(dòng)噴水滅火系統(tǒng) 特點(diǎn): 噴頭常閉的滅火系統(tǒng)管網(wǎng)中平時(shí)不充水的滅火系統(tǒng),有壓空氣( 充有有壓空氣或氮?dú)猓?,不怕凍結(jié),不怕環(huán)境溫度高。當(dāng)建筑物發(fā)生火災(zāi)火點(diǎn)溫度達(dá)到開啟閉時(shí)噴頭時(shí),噴頭開啟排氣、充水滅火。優(yōu)點(diǎn):管網(wǎng)中平時(shí)不充水,對(duì)
16、建筑物裝飾無影響,對(duì)環(huán)境溫度也無要求,適用于采暖期長建筑內(nèi)無采暖的場所。缺點(diǎn):與濕式噴水滅火系統(tǒng)相比,因增加一套充氣設(shè)備,且要求管網(wǎng)內(nèi)的氣壓要經(jīng)常保持在一定范圍內(nèi),投資較大,因此-管理比較復(fù)雜,該系統(tǒng)滅火時(shí)需先排氣,故噴頭出水滅火不如濕式系統(tǒng)及時(shí),滅火效率低;對(duì)管網(wǎng)、噴頭安裝要求嚴(yán)格。因此本次課程設(shè)計(jì)選用方案一。</p><p> 自動(dòng)報(bào)警滅火系統(tǒng)可以大大的降低了火災(zāi)的危害性,把火災(zāi)給人們帶來的經(jīng)濟(jì)損失將到了最
17、低,為確保人的生命及財(cái)產(chǎn)安全提供了保障。</p><p> 該系統(tǒng)首先是通過煙霧和溫度傳感器進(jìn)行現(xiàn)場信號(hào)實(shí)時(shí)采集,然后通過轉(zhuǎn)化,這里需要做一下說明,由于溫度傳感器選用的是集成的DS18B20,自帶AD轉(zhuǎn)換,而煙霧傳感器輸出的信號(hào)作為輔助判斷,我們?yōu)榱斯?jié)約成本,只需要知道其是否在危險(xiǎn)范圍內(nèi),因此通過簡單的電壓比較器即可實(shí)現(xiàn),輸入信號(hào)進(jìn)入單片機(jī)后,即可由AT89S51單片機(jī)進(jìn)行判斷,當(dāng)信號(hào)大于設(shè)定值時(shí),通過蜂鳴器和
18、信號(hào)燈發(fā)出報(bào)警,同時(shí)使繼電器驅(qū)動(dòng)噴水裝置啟動(dòng),來實(shí)現(xiàn)自動(dòng)滅火,并通過數(shù)碼管對(duì)采集到的溫度進(jìn)行顯示,利用連接的鍵盤,達(dá)到故障復(fù)位,閥值設(shè)定等。我們可參考附錄的總體電路圖,鍵盤部分、聲光報(bào)警部分、驅(qū)動(dòng)電路部分均是通過軟件編程來控制其運(yùn)行的。圖1-1基本上完整的說明了整個(gè)系統(tǒng)硬件部分的設(shè)計(jì)思路</p><p> 圖1-1 系統(tǒng)原理框圖</p><p> 2.1 CPU的選擇</p>
19、;<p> 本課題是基于單片機(jī)的煙霧報(bào)警及其聯(lián)動(dòng)系統(tǒng)的研究, 單片機(jī)是其中的核心部件,是設(shè)計(jì)的樞紐。</p><p> 方案一:AT89C51 是一種低功耗、低電壓、高性能的8位單片機(jī),片內(nèi)帶有 4K 字節(jié)的 FLASH 可編程,可擦除只讀存儲(chǔ)器(EPROM),它采用 CMOS 工藝和 Atmel 公司的高密度非易失性存儲(chǔ)器技術(shù)。 而且其輸出引腳和指令系統(tǒng)都與 MCS-51 兼容。片內(nèi)的 FLA
20、SH 存儲(chǔ)器允許在系統(tǒng)內(nèi)可改編程序或用常規(guī)的非易 失性存儲(chǔ)器編程器來編程。它具有功能強(qiáng)、靈活性高、價(jià)格低、普遍和適合民用等 優(yōu)點(diǎn),可方便應(yīng)用于本系統(tǒng)設(shè)計(jì)的控制中心。</p><p> 方案二:STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89S51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超
21、有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。另外 STC89X52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)
22、一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35Mhz,6T/12T可選。內(nèi)帶4K字節(jié)EEPROM存儲(chǔ)空間,可直接使用串口下載,價(jià)格比較便宜。</p><p> 因此選擇來 AT89C51 單片機(jī)。</p><p> 2.2 溫度傳感器選擇</p><p> 測量溫度的關(guān)鍵是溫度傳感器,本次設(shè)計(jì)中,我考慮了兩種設(shè)計(jì)方案。</p>&
23、lt;p><b> (1)方案一</b></p><p> 采用熱電偶溫差電路測溫,溫度檢測部分使用低溫?zé)崤?,熱電偶由兩個(gè)焊接在一起不同金屬導(dǎo)線組成,熱電偶產(chǎn)生的熱電勢由兩種金屬的接觸電勢和單一導(dǎo)體的溫差電勢組成。通過將參考節(jié)點(diǎn)保持在已知溫度并測量該電壓,便可推斷出檢測節(jié)點(diǎn)的溫度。數(shù)據(jù)采集部分使用帶有A/D通道的單片機(jī),將隨溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單
24、片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,將被測溫度顯示出來。</p><p> 熱電偶電路的優(yōu)點(diǎn)是測溫范圍廣,且體積下。但是存在輸出電壓小、容易受到來自導(dǎo)線環(huán)路的噪聲影響以及漂移較高的缺點(diǎn),并且需要設(shè)計(jì)A/D轉(zhuǎn)換電路,因此可靠性較差、測量溫度準(zhǔn)確率低。</p><p><b> ?。?)方案二</b></p><p> 采用數(shù)字溫度傳感器,將溫度
25、直接轉(zhuǎn)化成數(shù)字信號(hào)經(jīng)單片機(jī)輸出。數(shù)字溫度傳感器的內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號(hào)處理器、存儲(chǔ)器(或寄存器)和接口電路,其特點(diǎn)是能直接輸出數(shù)字化的溫度數(shù)據(jù)及相關(guān)的溫度控制量,自動(dòng)適配各種微控制器(MCU)。采用數(shù)字溫度傳感器以實(shí)現(xiàn)溫度數(shù)字化,既能以數(shù)字形式直接輸出被測溫度值,具有測量誤差小,分辨力高,抗干擾能力強(qiáng),能夠遠(yuǎn)程傳輸數(shù)據(jù),帶串行總線接口等優(yōu)點(diǎn)。</p><p> DS18B20是美國Dallas
26、公司最新推出的一種單總線系統(tǒng)的數(shù)字溫度傳感器。與傳統(tǒng)的熱敏電阻溫度傳感器不同,它能夠直接讀出被測溫度,并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式,可以分別在93.75ms和750ms內(nèi)將溫度值轉(zhuǎn)化9位和12位的數(shù)字量。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更簡單,可靠性更高。芯片的耗電量很小,從總線上“偷”一點(diǎn)電存儲(chǔ)在片內(nèi)的電容中就可正常工作,一般不用另加電源。最可貴的是這些芯片在檢測點(diǎn)已把被測信號(hào)數(shù)字化了,因此在單總線
27、上傳送的是數(shù)字信號(hào),這使得系統(tǒng)的抗干擾性好、可靠性高、傳輸距離遠(yuǎn)。因此本次溫度傳感器選用的是DS18B20芯片。</p><p> 2.3煙霧濃度傳感器</p><p> 火災(zāi)的起火過程一般都伴有煙、熱、光三種燃燒產(chǎn)物。在火災(zāi)初期,由于溫度較低,物質(zhì)多處于陰燃階段,所以產(chǎn)生大量煙霧。煙霧是早期火災(zāi)的重要特征之一,煙霧濃度傳感器是能對(duì)可見的或不可見的煙霧粒子響應(yīng)的火災(zāi)探測器。它是將探測部
28、位煙霧濃度的變化轉(zhuǎn) 換為電信號(hào)實(shí)現(xiàn)報(bào)警目的一種器件。煙霧濃度傳感器有離子感煙式、 光電感煙式、激光感煙式等幾種型式。離子煙霧濃度傳感器是點(diǎn)型探測器,它是在電離室內(nèi)含有少量放射性物質(zhì)(镅-241),可使電離室內(nèi)空氣成為導(dǎo)體,允許一定電流在兩個(gè)電極之間的空氣中通過,射線使第3頁局部空氣成電離狀態(tài),經(jīng)電壓作用形成離子流,這就給電離室一個(gè)有效的導(dǎo)電性。當(dāng)煙粒子進(jìn)入電離化區(qū)域時(shí),它們由于與離子相接合而降低了空氣的導(dǎo)電性,形成離子移動(dòng)的減弱。當(dāng)導(dǎo)電
29、性低于預(yù)定值時(shí),探測器發(fā)出警報(bào)。煙霧傳感器屬于氣敏傳感器,是氣-電變換器,它將可燃性氣體在空氣中的含量(即濃度)轉(zhuǎn)化成電壓或者電流信號(hào),通過A/D轉(zhuǎn)換電路或者LM339比較器將模擬量轉(zhuǎn)換成數(shù)字量后送到單片機(jī),進(jìn)而由單片機(jī)完成數(shù)據(jù)處理、濃度的處理及報(bào)警控制等工作。傳感器作為煙霧檢測報(bào)警器的信號(hào)采集部分,是儀表的核心組成部分之一。由此可見,傳感器</p><p> 2.4 顯示電路的選擇</p>&l
30、t;p> 方案一:使用LED數(shù)碼管顯示</p><p> LED 數(shù)碼管是由發(fā)光二極管構(gòu)成的,亦稱半導(dǎo)體數(shù)碼管.將條狀發(fā)光二極管按照共陰極(負(fù)極)或共 陽極(正極)的方法連接,組成"8"字,再把發(fā)光二極管另一電極作筆段電極,就構(gòu)成了 LED 數(shù)碼 管。若按規(guī)定使某些筆段上的發(fā)光二極管發(fā)光, 就能顯示從 0~9 的…系列數(shù)字。同熒光數(shù)碼管(VFD), 輝光數(shù)碼管(NRT)相比,它具有:
31、體積小,功耗低,耐震動(dòng),壽命長,亮度高,單色性好,發(fā)光響 應(yīng)的時(shí)間短,能與 TTL,CMOS 電路兼容等的數(shù)顯器件。+,-分別表示公共陽極和公共陰極。a~g是7個(gè)筆段電極,DP為小數(shù)點(diǎn)。另有一種字高為7.6mm 的超小型 LED數(shù)碼管,管腳從左右兩排引出,小數(shù)點(diǎn)則是獨(dú)立的。耗能小,價(jià)格便宜。</p><p> 方案二:使用LCD液晶顯示</p><p> LCD是一種利用液晶的扭曲/向
32、列效應(yīng)制成的新型顯示器,它具有功耗極低、體積小,抗干擾能力強(qiáng),價(jià)格廉等特點(diǎn),目前已廣泛應(yīng)用于各個(gè)顯示領(lǐng)域,尤其袖珍儀表和低功耗應(yīng)用系統(tǒng)中。LCD 液晶顯示器是 Liquid Crystal Display 的簡稱,LCD 的構(gòu)造是在兩片平行的玻璃當(dāng)中放置液態(tài)的晶體,兩片玻璃中間有許多垂直和水平的細(xì)小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產(chǎn)生畫面。但價(jià)格相對(duì)高。</p><p> 由于本次設(shè)
33、計(jì)只顯示溫度值,從性價(jià)比考慮看,綜合比較以上兩種方案,最后選擇方案二。</p><p> 并且靜態(tài)顯示的優(yōu)點(diǎn)是顯示穩(wěn)定,亮度高,缺點(diǎn)是占用硬件電路多;動(dòng)態(tài)顯示的優(yōu)點(diǎn)是節(jié)省能量,硬件電路簡單,缺點(diǎn)是占用軟件掃描時(shí)占用CPU時(shí)間多,因此我選擇動(dòng)態(tài)顯示。</p><p> 2.5鍵盤電路的選擇</p><p> 鍵盤可以分為兩類:非編碼鍵盤和編碼鍵盤。非編碼鍵盤是利
34、用按鍵直接與單片機(jī)相連接而成,這種鍵盤通常使用在按鍵數(shù)量較少的場合。使用這種鍵盤,系統(tǒng)功能通常比較簡單,需要處理的任務(wù)較少,但是可以降低成本、簡化電路設(shè)計(jì)。常見的非編碼鍵盤有兩種結(jié)構(gòu):獨(dú)立式鍵盤和矩陣式鍵盤。</p><p> 獨(dú)立式鍵盤:其特點(diǎn)是:一鍵一線,各鍵相互獨(dú)立。每個(gè)按鍵各接一條I/O口線,通過檢測I/O輸入線的電平狀態(tài),可以很容易的判斷哪個(gè)按鍵被按下。這種鍵盤的優(yōu)點(diǎn)是:電路簡單,各條檢測線獨(dú)立,識(shí)別
35、按下按鍵的軟件編寫簡單。適用于鍵盤按鍵數(shù)目較少的場合,不適合用于鍵盤按鍵數(shù)目較多的場合,因?yàn)閷⒄加幂^多的I/O口線。</p><p> 矩陣式鍵盤:特點(diǎn),編程復(fù)雜,但是節(jié)省IO口,這種鍵盤用于按鍵數(shù)目較多的場合。</p><p> 由于本次課程設(shè)計(jì)使用的按鍵比較少,所以采用的是獨(dú)立式鍵盤。</p><p><b> 2.5 報(bào)警選擇</b>
36、;</p><p> 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。 ;蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。</p><p><b> 2.5 驅(qū)動(dòng)</b>
37、</p><p><b> 3系統(tǒng)硬件設(shè)計(jì)</b></p><p> 3.1 AT89S51最小系統(tǒng)設(shè)計(jì)</p><p> 3.1.1時(shí)鐘電路硬件設(shè)計(jì)</p><p> AT89S51單片機(jī)各功能部件的運(yùn)行都以時(shí)鐘控制信號(hào)為基準(zhǔn),因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用
38、的時(shí)鐘電路有兩種方式,一種是內(nèi)部時(shí)鐘方式,另一種方式是外部時(shí)鐘方式。</p><p> 內(nèi)部時(shí)鐘方式:AT89S51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,它的輸入端為芯片引腳XLAT1,輸出端為XLAT2。這兩個(gè)引腳跨接石英晶體和微調(diào)電容,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。</p><p> 外部時(shí)鐘方式:外部時(shí)鐘方式使用現(xiàn)成的外部振蕩器產(chǎn)生脈沖信號(hào),常用于多片AT89S51單片機(jī)同時(shí)工
39、作,以便于多片AT89S51單片機(jī)之間的同步,一般為低于12MHz的方波。外部時(shí)鐘源直接接到XLAT1端,XLAT2端懸空。通過比較不難發(fā)現(xiàn),本次設(shè)計(jì)中應(yīng)該采用的是內(nèi)部時(shí)鐘方式。</p><p> 本設(shè)計(jì)晶振電路如下圖 3-1所示。在本次設(shè)計(jì)中采用12M的晶振。晶振的作用是給單片機(jī)正常工作提供穩(wěn)定的時(shí)鐘信號(hào)。單片機(jī)的晶振并不是只能用12M,只要不超過20M就行,在準(zhǔn)許的范圍內(nèi),晶振越大,單片機(jī)運(yùn)行越快,還有用1
40、2M的就是好算時(shí)間,因?yàn)橐粋€(gè)機(jī)器周期為1/12時(shí)鐘周期,所以這樣用12M的話,一個(gè)時(shí)鐘周期為12us,那么定時(shí)器計(jì)一次數(shù)就是1us了,電容范圍在20-40pF之間,這里連接的是30pF的電容。</p><p> 機(jī)器周期=10*晶振周期=12*系統(tǒng)時(shí)鐘周期</p><p><b> 圖 3-1時(shí)鐘電路</b></p><p> 3.1.2
41、復(fù)位電路硬件設(shè)計(jì)</p><p> 復(fù)位是單片機(jī)的初始化操作,只需給AT89S51的復(fù)位引腳RST加上大于2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘振蕩周期)的高電平就可使AT89S51復(fù)位。AT89S51的復(fù)位是由外部的復(fù)位電路實(shí)現(xiàn)的。AT89S51的復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。上電自動(dòng)復(fù)位是通過外部復(fù)位電路給電容C充電加至RST引腳一個(gè)斷的高電平信號(hào),此信號(hào)隨著Vcc對(duì)電容的充電過程而逐漸回落,即RST
42、引腳上的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。因此為了保證系統(tǒng)可靠的復(fù)位,RST引腳上的高電平必須維持足夠長的時(shí)間。除了上電復(fù)位之外,還可以進(jìn)行按鍵手動(dòng)復(fù)位,這種復(fù)位是通過RST端經(jīng)電阻與電源Vcc接通來實(shí)現(xiàn),在本次設(shè)計(jì)中采用的是上電按鈕手動(dòng)復(fù)位電路。</p><p> 本次設(shè)計(jì)中復(fù)位電路如下圖所示:首先經(jīng)過上電復(fù)位,當(dāng)按下按鍵時(shí),RST直接與VCC相連,為高電平形成復(fù)位,同時(shí)電解電容被電路放電;按鍵松開時(shí),VC
43、C對(duì)電容充電,充電電流在電阻上,RST依然為高電平,仍然是復(fù)位,充電完成后,電容相當(dāng)于開路,RST為低電平,單片機(jī)芯片正常工作。其中電阻R23決定了電容充電的時(shí)間,R23越大則充電時(shí)間長,復(fù)位信號(hào)從VCC回落到0V的時(shí)間也長。</p><p> 硬件上最有效的保護(hù)措施就是采用具有監(jiān)視功能的自動(dòng)復(fù)位電路,自功復(fù)位電路除了具有上電復(fù)位功能外,還具有監(jiān)視系統(tǒng)運(yùn)行并在系統(tǒng)發(fā)生故障或死機(jī)時(shí)再次進(jìn)行復(fù)位的能力。其基本原理就
44、是電路提供一個(gè)用于監(jiān)視系統(tǒng)運(yùn)行的監(jiān)視線,當(dāng)系統(tǒng)正常運(yùn)行時(shí),應(yīng)在規(guī)定的時(shí)間內(nèi)給監(jiān)視線提供一個(gè)高低電平發(fā)生變化的信號(hào),如果在規(guī)定的時(shí)間內(nèi)這個(gè)信號(hào)不發(fā)生變化,自動(dòng)復(fù)位電路就認(rèn)為系統(tǒng)運(yùn)行不正常,并重新對(duì)系統(tǒng)進(jìn)行復(fù)位的能力。其基本原理就是電路提供一個(gè)用于監(jiān)視系統(tǒng)運(yùn)行的監(jiān)視線,當(dāng)系統(tǒng)正常運(yùn)行時(shí),應(yīng)在規(guī)定的時(shí)間內(nèi)給監(jiān)視線提供一個(gè)高低電平發(fā)生變化的信號(hào),如果在規(guī)定的時(shí)間內(nèi)這個(gè)信號(hào)不發(fā)生變化,自動(dòng)復(fù)位電路就認(rèn)為系統(tǒng)運(yùn)行不正常,并重新對(duì)系統(tǒng)進(jìn)行復(fù)位。復(fù)位是
45、單片機(jī)的初始化操作,只需在單片機(jī)的復(fù)位引腳加上大于2個(gè)機(jī)器周期的高電平就可使單片機(jī)復(fù)位,當(dāng)程序運(yùn)行出錯(cuò)或操作進(jìn)入死循環(huán)狀態(tài)可通過復(fù)位重新啟動(dòng)程序。MCS-51的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的,STC89C52也不例外,復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式,為方便復(fù)位操作,本文采用按鍵電平復(fù)位,電路如圖5所示。其中C取4.7uF,R2取10KΩ,本課程設(shè)計(jì)采用復(fù)位電路如圖3-3。</p><p><
46、b> 圖3-3 復(fù)位電路</b></p><p> 3.2 鍵盤/顯示電路硬件設(shè)計(jì)</p><p> 3.2.1鍵盤電路硬件設(shè)計(jì)</p><p> 鍵盤在單片機(jī)應(yīng)用系統(tǒng)中能實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令等功能,是人工干預(yù)單片機(jī)的主要手段。按鍵是一種常開型按鈕開關(guān)。平時(shí)(常態(tài)時(shí)),按鍵的兩個(gè)觸點(diǎn)處于斷開狀態(tài),按下鍵時(shí)它們才閉合(短路)。<
47、;/p><p> 常見鍵盤:觸摸式鍵盤、薄膜鍵盤和按鍵式鍵盤,最常用的是按鍵式鍵盤。按鍵實(shí)質(zhì)上就是一個(gè)開關(guān)。如圖3-4(a) 所示,按鍵開關(guān)的兩端分別連接在行線和列線上,通過鍵盤開關(guān)機(jī)械觸點(diǎn)的斷開、閉合,其行線電壓輸出波形如圖3-4(b) 所示。</p><p> 圖3-4(b)所示的t1和t3分別為鍵的閉合和斷開過程中的抖動(dòng)期(呈現(xiàn)一串負(fù)脈沖),抖動(dòng)時(shí)間長短與開關(guān)的機(jī)械特性有關(guān),一般為5
48、~10ms,t2為穩(wěn)定的閉合期,其時(shí)間由按鍵動(dòng)作確定,一般為十分之幾秒到幾秒,t0、t4為斷開期。</p><p><b> 按鍵的識(shí)別</b></p><p> 鍵的閉合與否,行線輸出電壓上就是呈現(xiàn)高電平或低電平。高電平,表示鍵斷開,低電平則表示鍵閉合,通過對(duì)行線電平的高低狀態(tài)的檢測,可確認(rèn)按鍵按下以及按鍵釋放與否。為了確保對(duì)一次按鍵動(dòng)作只確認(rèn)一次按鍵有效,必須
49、消除抖動(dòng)期t1和t3的影響4.如何消除按鍵的抖動(dòng)</p><p> 按鍵去抖動(dòng)的方法有兩種:</p><p> 一種軟件延時(shí),其思想是:在檢測到有鍵按下時(shí),該鍵所對(duì)應(yīng)的行線為低電平,執(zhí)行一段延時(shí)10ms的子程序后,確認(rèn)該行線電平是否仍為低電平,如果仍為低電平,則確認(rèn)該行確實(shí)有鍵按下。當(dāng)按鍵松開時(shí),行線的低電平變?yōu)楦唠娖?,?zhí)行一段延時(shí)10ms的子程序后,檢測該行線為高電平,說明按鍵確實(shí)已
50、經(jīng)松開。采取本措施,可消除兩個(gè)抖動(dòng)期t1和t3的影響。</p><p> 另一種是采用專用的鍵盤/顯示器接口芯片,這類芯片中都有自動(dòng)去抖動(dòng)的硬件電路。</p><p><b> 圖3-5鍵盤電路</b></p><p> 本次鍵盤采用最簡單的上拉電阻和開關(guān)與單片機(jī)接口相連,由于本次I/O端口的數(shù)目足夠,故直接與4個(gè)端口相連構(gòu)成4鍵組成的鍵
51、盤系統(tǒng),可參考總電路圖,其功用如下:確認(rèn)、數(shù)字加1、數(shù)字減1、復(fù)位鍵 </p><p> 確認(rèn)、數(shù)字+1、數(shù)字-1是用來調(diào)節(jié)溫度上限設(shè)定的閥值,即報(bào)警預(yù)設(shè)值的設(shè)定,初始狀態(tài)我們給它設(shè)定為80攝氏度,可以人為根據(jù)現(xiàn)場的環(huán)境來增減。</p><p> 3.2.2顯示電路硬件設(shè)計(jì)</p><p> LED就是light emitting diode ,發(fā)光二極管的英
52、文縮寫,簡稱LED。它是一種通過控制半導(dǎo)體發(fā)光二極管的顯示方式,用來顯示文字、圖形、圖像、動(dòng)畫、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。顯示器顯示接口按驅(qū)動(dòng)方式可分為靜態(tài)顯示和動(dòng)態(tài)顯示,靜態(tài)顯示時(shí),除變更顯示數(shù)據(jù)期間外,各顯示器均處于通電狀態(tài),每個(gè)顯示器的通電占空比為100%,靜態(tài)顯示的優(yōu)點(diǎn)是顯示穩(wěn)定,亮度高,缺點(diǎn)是占用硬件電路多;動(dòng)態(tài)顯示的優(yōu)點(diǎn)是節(jié)省硬件電路,缺點(diǎn)是占用軟件掃描時(shí)占用CPU時(shí)間多。對(duì)于多位LED顯示器,通常都是采用動(dòng)
53、態(tài)掃描的方法進(jìn)行顯示,即逐個(gè)地循環(huán)點(diǎn)亮各位顯示器,這樣雖然在任一時(shí)刻只有一顯示器被點(diǎn)亮,但是由于人眼具有視覺殘留效應(yīng),看起來與全部顯示器持續(xù)點(diǎn)亮效果完全一樣。</p><p> 為了實(shí)現(xiàn)LED顯示器的動(dòng)態(tài)掃描,除了要給顯示器的輸入之外,還有對(duì)顯示器選擇位的控制,這就是通常所說的段控和位控。因此,多位LED顯示器接口電路需要有兩個(gè)輸出口,其中一個(gè)用于8條段控線,另一個(gè)用于輸出位控線,位控線的數(shù)目等于顯示器的位數(shù)。
54、本次采用動(dòng)態(tài)顯示。</p><p> 為了方便編寫程序,通常在內(nèi)部RAM中設(shè)置顯示緩沖區(qū),存放顯示的數(shù)字或字符,顯示緩沖區(qū)單元個(gè)數(shù)與LED顯示器位數(shù)相同。</p><p> 本次的顯示部分采用4位的七段共陰數(shù)碼管顯示,部分電路如3-5圖所示,通過P2端口提供段選信號(hào)來點(diǎn)亮各位和小數(shù)點(diǎn),再通過p0.1 、p0.2來進(jìn)行位選信號(hào)的輸出,即每次輸出的數(shù)據(jù)送到個(gè)位、十位還是百位或是小數(shù)位,也就
55、是動(dòng)態(tài)顯示。</p><p> 七段數(shù)碼管有不同的尺寸,以適應(yīng)不同場合的需要。它的七個(gè)顯示段可以獨(dú)立地控制發(fā)光或者熄滅,這樣一來不同段組合的就形成了不同的數(shù)字或者英文字母。所謂共陰就是7個(gè)數(shù)碼管的負(fù)極相連接到GND,而正極由我們來控制;共陽就是這7個(gè)發(fā)光二極管的正極相連,接到電源正極,而負(fù)極則是有我們來控制。在實(shí)際的應(yīng)用中選擇共陰或是共陽取決于設(shè)計(jì)的方便性,本次我們采用共陰。</p><p&
56、gt; 3.3 自動(dòng)滅火電路驅(qū)動(dòng)部分</p><p> 本部分由兩組構(gòu)成,一組用來作為初級(jí)階段的火災(zāi)驅(qū)動(dòng),一組作為下一階段的火災(zāi)驅(qū)動(dòng),具體的滅火設(shè)備和選用的物質(zhì)和現(xiàn)場緊密相關(guān)的。</p><p> 3.3.1固態(tài)繼電器SSR</p><p> 固態(tài)繼電器又名固態(tài)開關(guān)。是一種新穎的四端以弱控器的無觸點(diǎn)功率控制元件。一般施加輸入信號(hào)后其主控回路呈導(dǎo)通狀態(tài),無信
57、號(hào)時(shí)呈阻斷狀態(tài),固態(tài)繼電器為一個(gè)四端組件:兩個(gè)輸入控制器,兩個(gè)輸出受控端。它由三部分組成:輸入控制部分、隔離部分及輸出受控部分。輸入控制部分一般由限流電阻或恒流電路及光電二極管組成;隔離部分一般由光電隔離器組成,也有用變壓器隔離的。輸出部分一般由光敏控制器、電壓過零控制器、驅(qū)動(dòng)器、可控硅及阻容吸收部分組成,固態(tài)繼電器的如圖6-2所示。</p><p> 圖 5-2 SRR的結(jié)構(gòu)組成示意圖</p>
58、<p> 3.3.2 固態(tài)繼電器特點(diǎn)</p><p> (1) 輸入控制電壓低(3~14V) , 驅(qū)動(dòng)電流小(3~15mA) , 輸入控制電壓與TTL 、DTL 、HTL 電平兼容,直流或脈沖電壓均能作輸入控制電壓;</p><p> (2) 輸出與輸入之間采用光電隔離,可實(shí)現(xiàn)在以弱控強(qiáng)的同時(shí),做到強(qiáng)電與弱電完全隔離,兩部分之間的安全絕緣電壓大于2kV , 符合國際電氣標(biāo)準(zhǔn)
59、UL 的器件;</p><p> (3) 輸出無觸點(diǎn)、無噪音、無火花、開關(guān)速度快;</p><p> (4) 輸出部分內(nèi)部一般含有RC 過壓吸收電路,以防止瞬間過壓而損壞固態(tài)繼電器;</p><p> (5) 有多種規(guī)格可選擇: 輸入有電阻限流直流、恒流直流、交流等類型。輸出有直流輸出方式和交流輸出方式。輸出額定電壓有(220~380V) 交流電壓及(30~1
60、80V) 直流電壓。交流輸出中有過零觸發(fā)型和非過零觸發(fā)型(移相型) ;</p><p> (6) 過零觸發(fā)型固態(tài)繼電器對(duì)外界的干擾非常小;</p><p> (7) 采用環(huán)氧樹脂全灌封裝,具有防塵、耐濕、壽命長等優(yōu)點(diǎn)。</p><p> 3.3.3驅(qū)動(dòng)電路部分</p><p> 如下為圖6-3,當(dāng)AT89C51輸出為高電平信號(hào)時(shí),經(jīng)過
61、或非門后為低電平信號(hào)固態(tài)繼電器SSR 導(dǎo)通,使電磁閥開通,從而達(dá)到自動(dòng)噴淋效果。相反,輸出為低電平信號(hào)時(shí),經(jīng)過或非門為高電平信號(hào),固態(tài)繼電器SSR 截止。</p><p> 圖3-6 SRR驅(qū)動(dòng)電路</p><p> 3.4 AT89C51與上位機(jī)的接口電路</p><p> 本次的串口通信的設(shè)計(jì)主要是考慮到其可擴(kuò)展性進(jìn)行設(shè)計(jì)的,由于滅火系統(tǒng)可能用于多點(diǎn)和網(wǎng)絡(luò)
62、型的實(shí)時(shí)監(jiān)測,這對(duì)于數(shù)據(jù)的處理要求較高,需要接到上位機(jī)PC,為此我們?cè)O(shè)計(jì)了一個(gè)基于RS232的串口通信,以備擴(kuò)展需要,下面就基于RS232的串口通信做簡單的介紹。</p><p> 3.4.1 RS232協(xié)議標(biāo)準(zhǔn)</p><p> RS232信號(hào)在正負(fù)電平之間擺動(dòng),在發(fā)送數(shù)據(jù)時(shí),發(fā)送端驅(qū)動(dòng)器輸出正電平在+5V~+15V,負(fù)電平在-5V~-15V電平。當(dāng)無數(shù)據(jù)傳輸時(shí),線上為TTL電平,從
63、開始數(shù)據(jù)傳輸?shù)浇Y(jié)束,線上電平從TTL電平到RS232電平再返回TTL電平。接收器典型的電平在+3V~+12V與-3V~-12V。由于發(fā)送電平與接收電平的差僅為2~3V左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳輸距離最大為約15m,最高速率為20kbps。</p><p> 3.4.2 MAX232簡介</p><p> RS232用正負(fù)電壓來表示邏輯狀態(tài),與TTL以高低
64、電平表示邏輯狀態(tài)規(guī)定不通,因此要用RS232總線進(jìn)行串行通信時(shí)需外接電路以實(shí)現(xiàn)電平轉(zhuǎn)換。在發(fā)送端用驅(qū)動(dòng)器將TTL電平轉(zhuǎn)換成RS232電平,在接收端用接收器將RS232電平再轉(zhuǎn)換成TTL電平。MAX232內(nèi)部有電荷汞電壓轉(zhuǎn)換器,可將+5V電源變換成RS232所需的±10V電壓,以實(shí)現(xiàn)電壓的轉(zhuǎn)換,既符合RS232的技術(shù),又可實(shí)現(xiàn)+5V單電源供電,所以MAX收發(fā)器電路給短距離串行通信帶來極大的方便。</p><p
65、> 3.4.3 硬件連接 單片機(jī)有一個(gè)全雙工的串行通訊口,所以單片機(jī)和計(jì)算機(jī)之間可以方便 地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,計(jì)算機(jī)的串口是RS232 電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,采用專用芯片MAX232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯
66、片更簡單可靠。采用三線制連接串口,也就是說和計(jì)算機(jī)的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。電路如圖4-4所示,MAX232的第11腳和單片機(jī)的11腳連接,第12腳和單片機(jī)的10腳連接,第15腳和單片機(jī)的20腳連接。</p><p> 圖3-7基于rs232串口通信電路</p><p> 3.5 報(bào)警電路設(shè)計(jì)</p><p>
67、 本次報(bào)警部分分2個(gè)部分,一個(gè)是LED燈光的閃爍,一個(gè)是蜂鳴器的報(bào)警。</p><p> LED報(bào)警:由2個(gè)不同顏色的二極管組成,分別接到單片機(jī)的P0.5和P0.6,其中P0.5為黃色,預(yù)警,即煙霧濃度指示燈,當(dāng)煙霧濃度不滿足測試值時(shí)便開始發(fā)光;P0.6端口接紅色LED,即溫度超過閥值便開始不停的閃爍(閃爍容易引起人們的注意),發(fā)出火災(zāi)警告。</p><p><b> 蜂鳴
68、器報(bào)警</b></p><p> 下圖3-8為聲音報(bào)警部分的電路圖,通過簡單的三極管Q9014驅(qū)動(dòng)電路和蜂鳴器構(gòu)成,其中一個(gè)電阻是偏置電阻,給三極管提供偏置電壓。這個(gè)電路的工作過程可簡單的描敘如下:驅(qū)動(dòng)電路的輸入端與單片機(jī)的I/O口相連,當(dāng)I/O口輸出一個(gè)高電平,三極管Q的基極B得到高電平,三極管導(dǎo)通,電流從VCC經(jīng)集電極C流向發(fā)射極E,并流入蜂鳴器BP,這樣蜂鳴器BP得到工作電流而發(fā)出“滴滴”的提
69、示音。</p><p> 圖3-8 蜂鳴器報(bào)警電路</p><p> 4 自動(dòng)滅火系統(tǒng)軟件設(shè)計(jì)介紹</p><p> 軟件流程是程序編寫的核心,也是整個(gè)控制系統(tǒng)工作的核心思想,因此一個(gè)合理有效的流程構(gòu)思顯得尤為重要。</p><p> 主程序的主要功能是負(fù)責(zé)讀取煙霧濃度信號(hào),溫度的實(shí)時(shí)顯示,讀出并處理DS18B20的當(dāng)前溫度值,同時(shí)通
70、過掃描和中斷來調(diào)用鍵盤子程序達(dá)到閥值調(diào)整、故障人工操作等。如圖4-1為整個(gè)程序的主程序流程圖。</p><p> 圖4-1 主程序流程圖</p><p> 參照附錄的匯編程序做下簡單的部分原理解釋,系統(tǒng)初始化主要是對(duì)波特率的設(shè)置,單片機(jī)與上位機(jī)之間的傳輸是串口,因此需要一個(gè)8位的UART,對(duì)波特率設(shè)置是必須的;同時(shí)也對(duì)中斷的允許位進(jìn)行了設(shè)定,中斷申請(qǐng)是靠外部的INTO和INT1輸入電平
71、來決定,一旦提出了中斷申請(qǐng),立馬轉(zhuǎn)去執(zhí)行中斷子程序SETUP和STOP;系統(tǒng)初始化完成后,轉(zhuǎn)去判斷煙霧輸入電平的高低,從而進(jìn)行初步火災(zāi)的判斷,決定是否執(zhí)行啟動(dòng)2路繼電器,無論怎樣都要轉(zhuǎn)去執(zhí)行溫度本分的信號(hào)采集和比較,這部分也是本次程序設(shè)計(jì)的核心和難點(diǎn)。DS18B20的初始化步驟如下:</p><p> ?。?) 先將數(shù)據(jù)線置高電平“1”。</p><p> (2) 延時(shí)(該時(shí)間要求的不是
72、很嚴(yán)格,但是盡可能的短一點(diǎn))</p><p> (3) 數(shù)據(jù)線拉到低電平“0”。</p><p> ?。?) 延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒)。</p><p> ?。?) 數(shù)據(jù)線拉到高電平“1”。</p><p> ?。?)延時(shí)等待(如果初始化成功則在15到60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“
73、0”。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制)。</p><p> ?。?)若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第(5)步的時(shí)間算起)最少要480微秒。</p><p> (8) 將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。</p><p> 接下來要進(jìn)行的是
74、DS18B20的寫操作如下為操作步驟:</p><p> (1) 數(shù)據(jù)線先置低電平“0”。</p><p> ?。?) 延時(shí)確定的時(shí)間為15微秒。</p><p> ?。?) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。</p><p> ?。?) 延時(shí)時(shí)間為45微秒。</p><p> ?。?) 將數(shù)據(jù)線拉到高
75、電平。</p><p> ?。?) 重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。</p><p> ?。?) 最后將數(shù)據(jù)線拉高。</p><p> 如下為DS18B20的讀操作步驟:</p><p> ?。?)將數(shù)據(jù)線拉高“1”。</p><p><b> ?。?)延時(shí)2微秒。</b>
76、;</p><p> ?。?)將數(shù)據(jù)線拉低“0”。</p><p> ?。?)延時(shí)15微秒。</p><p> ?。?)將數(shù)據(jù)線拉高“1”。</p><p> ?。?)延時(shí)15微秒。</p><p> ?。?)讀數(shù)據(jù)線的狀態(tài)得到1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。</p><p> (8)延時(shí)30微秒
77、。</p><p> 完成DS18B20溫度的讀取,然后與設(shè)定的上限值進(jìn)行比較,決定是否啟動(dòng)2路繼電器和相關(guān)的報(bào)警措施。同時(shí)要對(duì)鍵盤進(jìn)行掃描,確定是否改變溫度上限值,可參考鍵盤子程序部分KEYWORK,主要能實(shí)現(xiàn)的內(nèi)容如下,按下設(shè)置鍵,開始進(jìn)入溫度上限改變的程序,按+,個(gè)位會(huì)自動(dòng)增加1,如果超過10,則執(zhí)行個(gè)位清零,十位+1,:按下-,則個(gè)位會(huì)自動(dòng)減1,如果個(gè)位數(shù)字為0,則執(zhí)行十位減1,個(gè)位數(shù)值變?yōu)?。接下來如
78、果收到COFIRM,則設(shè)定的數(shù)值就成功了,若是DELE,則取消設(shè)置,保存原有的數(shù)值,轉(zhuǎn)到主程序繼續(xù)執(zhí)行。</p><p><b> 鍵盤掃描程序框圖:</b></p><p> 圖4-2 鍵盤流程圖</p><p><b> 附錄A:</b></p><p><b> 程序(匯編語
79、言)</b></p><p> 單片機(jī)內(nèi)存分配申明!</p><p> *************************************************</p><p> LED0 EQU P0.0 ;數(shù)碼管小數(shù)位位選</p><p> LED1 EQU P0.1
80、 ;數(shù)碼管個(gè)位位選</p><p> LED2 EQU P0.2 ;數(shù)碼管十位位選</p><p> LED3 EQU P0.3 ;數(shù)碼管百位位選</p><p> TEMPH EQU 31H ;用于保存讀出溫度的高8位</p><p> TEMPL EQU 30H
81、 ;用于保存讀出溫度的低8位</p><p> DIS0 EQU 40H ; 顯示緩沖寄存器小數(shù)位</p><p> DIS1 EQU 41H ; 顯示緩沖寄存器個(gè)數(shù)位</p><p> DIS2 EQU 42H ; 顯示緩沖寄存器十?dāng)?shù)位</p><p>
82、 DIS3 EQU 43H ; 顯示緩沖寄存器百數(shù)位</p><p> TEMPHC EQU 44H ; 溫度轉(zhuǎn)換寄存器高8位</p><p> TEMPLC EQU 45H ;溫度轉(zhuǎn)換寄存器低8位</p><p> TMSETVH EQU 33H ;報(bào)警上限設(shè)定值</p>
83、<p> BT_VL EQU 34H ;當(dāng)前顯示數(shù)據(jù)</p><p> DISH_VL EQU 24H ;報(bào)警上限高4位數(shù)存放內(nèi)存位置</p><p> DISH_VH EQU 23H ;報(bào)警上限低4位數(shù)存放內(nèi)存位置</p><p> TEMPER_L EQU 35H ;用于保存讀
84、出溫度的低8位</p><p> TEMPER_H EQU 36H ;用于保存讀出溫度的高8位</p><p> TMROMVH EQU 37H ;報(bào)警上限</p><p> ;**************************************************</p><p> CHK_
85、2 BIT P1.2</p><p> CHK_3 BIT P1.3</p><p> CHK_4 BIT P1.4</p><p> CHK_5 BIT P1.5</p><p> ;*******************************************
86、*******</p><p> ORG 0000H ;程序入口地址</p><p> AJMP START </p><p> START: MOV SP, #53H</p><p> MOVTMOD,#20H ;波特率設(shè)置</p><p> MOVTL1,
87、#0E8H ;送初值的低8位</p><p> MOVTH1,#0E8H</p><p> SETB EA ;CPU允許中斷請(qǐng)求</p><p> SETB TR1;啟動(dòng)T1</p><p> MOV SCON, #40H</p><p> MOV PCON, #00H</
88、p><p> CLR ES;禁止串行口中斷</p><p> MOV R0, #40H</p><p> MOV R2, #04H</p><p> SETB P1.0</p><p> JNB P1.0 SRR2</p><p> AJMP LOOP</p>
89、<p><b> SRR2:</b></p><p> SETB P3.7</p><p> CLR P0.5</p><p> ;-------------------------------------------</p><p> LOOP: MOV P1,#0FFH
90、 ;</p><p> MOV P2,#0FFH ;</p><p> MOV DISH_VL,#00H ;</p><p> MOV DISH_VH,#00H ;</p><p> MOV TEMPH,#00H :寄存器清零</p>&l
91、t;p> MOV TEMPL,#00H ;</p><p> MOV TMSETVH, #80H ;報(bào)警預(yù)設(shè)上限值</p><p> ;**************************************************</p><p> LCALL SET_18B20 ;先復(fù)位DS
92、18B20</p><p> MOV A,#0CCH ;跳過ROM匹配</p><p> LCALL WRITE_18B20 ;</p><p> MOV A,#0B8H ;發(fā)出讀溫度命令</p><p> LCALL WRITE_18B20 ;</
93、p><p> LCALL GET_TEMPER ;調(diào)用讀溫度子程序</p><p> LCALL CONVTEMP ;溫度BCD碼計(jì)算處理子程序</p><p> LCALL DISPBCD ;顯示區(qū)BCD碼溫度值刷新子程序</p><p> ;******************
94、********************</p><p> MOV A,TMSETVH ;調(diào)上限設(shè)置值到調(diào)整顯示寄存</p><p> ANL A, #0FH ;</p><p> MOV DISH_VL,A ;</p><p> MOV A,TMSETVH
95、 ;</p><p> SWAP A ;</p><p> ANL A, #0FH ;</p><p> MOV DISH_VH,A </p><p> ;****************************************</p&
96、gt;<p> MAIN: MOV TEMPHC, #00H ;給轉(zhuǎn)換寄存器高8位清零</p><p> MOV TEMPLC, #00H ;給轉(zhuǎn)換寄存器低8位清零</p><p> JNB CHK_2, KEYWORK ;判斷按鍵是否按下</p><p> JNB
97、 CHK_5, KEYWORK</p><p> LCALL GET_TEMPER ; 調(diào)用讀溫度子程序</p><p> LCALL CONVTEMP ; 調(diào)用數(shù)據(jù)處理程序</p><p> LCALL DISPBCD ; 調(diào)用BCD碼刷新子程序</p><p>
98、LCALL DISPLY ;調(diào)用顯示子程序</p><p> LCALL BT_WORK ; 調(diào)用當(dāng)前值轉(zhuǎn)換子程序</p><p> LCALL EMGERCY ;調(diào)用報(bào)警程序</p><p> LCALL TRSA ;調(diào)用發(fā)送程序</p>&
99、lt;p> AJMP MAIN ;轉(zhuǎn)主程序</p><p> ;****************************************</p><p><b> KEYWORK:</b></p><p> KEYWORK1: LCALL DELAYT ;調(diào)延時(shí)去抖
100、</p><p> ;****************************************</p><p> JNB CHK_2, TEMRESET ;CHK_2是否按下,按下轉(zhuǎn)</p><p> JNB CHK_5, K5WORK ;CHK_5是否按下,按下轉(zhuǎn)</p><p> AJMP K
101、EYWORK1 ;轉(zhuǎn)去掃描按鍵</p><p><b> ;按鍵功能程序</b></p><p> ;***************************************</p><p><b> TEMRESET:</b></p><p> JNB CHK_3,K
102、3WORK</p><p> JNB CHK_4, K4WORK</p><p> LCALL DELAY</p><p> AJMP KEYWORK1</p><p><b> K3WORK:</b></p><p> INC DISH_VL ;上限值+1
103、調(diào)整程序</p><p> MOV A, DISH_VL ;</p><p> CJNE A, #10,OUT ;</p><p> MOV DISH_VL,#00H ;</p><p> INC DISH_VH ;</p><p>
104、 MOV A, DISH_VH ;</p><p> CJNE A, #10, OUT ;</p><p> MOV DISH_VH,#00H ;</p><p> AJMP OUT </p><p><b> K4WORK:</b></p>
105、<p> DEC DISH_VL</p><p> MOV A, DISH_VL</p><p> CJNE A ,#00,OUT</p><p> MOV DISH_VL,#09H</p><p> DEC DISH_VH</p><p> MOV A, DI
106、SH_VH </p><p> CJNE A, #00,OUT</p><p> MOV DISH_VH,#09H</p><p><b> OUT: </b></p><p> JNB CHK_5,COFIRM</p><p> JNB CHK_6,DELE</p>
107、<p> AJMP TEMRESET</p><p><b> CONFIRM:</b></p><p> MOV DIS1, DISH_VL ;</p><p> MOV DIS2 , DISH_VH ;</p><p> ;*****************
108、********************</p><p> MOV A, DISH_VL ; 寫入設(shè)定上限值</p><p> MOV TMSETVH, A ;</p><p> MOV A, DISH_VH ;</p><p> SWAP A
109、 ;</p><p> ORL A, TMSETVH ;</p><p> MOV TMSETVH, A ;</p><p> LCALL WRITE_18B20 ;</p><p> ;***************************************&
110、lt;/p><p> LCALL SET_18B20 ;先復(fù)位DS18B20</p><p> MOV A,#0CCH ;跳過ROM匹配</p><p> LCALL WRITE_18B20 ;</p><p> MOV A,#48H ;溫度上限和下值C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 滅火系統(tǒng)課程設(shè)計(jì)--自動(dòng)噴水滅火系統(tǒng)設(shè)計(jì)
- 自動(dòng)噴水滅火系統(tǒng)課程設(shè)計(jì)
- 自動(dòng)噴水滅火系統(tǒng)課程設(shè)計(jì)
- 防火防爆課程設(shè)計(jì)--自動(dòng)噴水滅火系統(tǒng)
- 防火防爆課程設(shè)計(jì)-閉式自動(dòng)噴水滅火系統(tǒng)設(shè)計(jì)
- 自動(dòng)噴水滅火系統(tǒng)
- 自動(dòng)噴水滅火系統(tǒng)設(shè)計(jì)規(guī)范
- 自動(dòng)噴水滅火系統(tǒng)設(shè)計(jì)規(guī)范
- 自動(dòng)噴水滅火系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 淺談自動(dòng)噴水滅火系統(tǒng)
- 防火防爆課程設(shè)計(jì)——泡沫滅火系統(tǒng)
- 消防工程課程設(shè)計(jì)--某印刷廠濕式自動(dòng)噴水滅火系統(tǒng)設(shè)計(jì)
- 消防工程課程設(shè)計(jì)--某印刷廠濕式自動(dòng)噴水滅火系統(tǒng)設(shè)計(jì)
- 識(shí)別自動(dòng)噴水滅火系統(tǒng)(考試)
- 19s910自動(dòng)噴水滅火系統(tǒng)設(shè)計(jì)
- 氣溶膠自動(dòng)滅火系統(tǒng)設(shè)計(jì)解決方案
- 自動(dòng)噴水滅火系統(tǒng)技術(shù)交底
- 基于plc的火災(zāi)自動(dòng)報(bào)警滅火系統(tǒng)的設(shè)計(jì)
- 懸掛式自動(dòng)滅火系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 建筑室內(nèi)自動(dòng)噴水滅火系統(tǒng)消防設(shè)計(jì)探討
評(píng)論
0/150
提交評(píng)論