找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 168831|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

基于單片機(jī)的火災(zāi)報(bào)警系統(tǒng)畢業(yè)設(shè)計(jì)(論文)下載

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

    畢業(yè)設(shè)計(jì)(論文)




題    目:基于單片機(jī)的火災(zāi)報(bào)警系統(tǒng)設(shè)計(jì)

學(xué)    院:       電子信息學(xué)院        

專業(yè)班級(jí):電氣工程及其自動(dòng)化2010級(jí)2班

指導(dǎo)教師:XXXX職稱:助理工程師

學(xué)生姓名:XXXXXX

學(xué)    號(hào):   41003040XXX




西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)



摘 要

隨著經(jīng)濟(jì)與技術(shù)的迅速發(fā)展,火災(zāi)成為當(dāng)今世界各國(guó)人民所面臨的一個(gè)共同的災(zāi)難性問題。它給人類社會(huì)造成嚴(yán)重的生命、財(cái)產(chǎn)損失,為了避免火災(zāi)和減少火災(zāi)所造成的損失,預(yù)防和監(jiān)測(cè)成為重中之重。良好的監(jiān)控系統(tǒng)和及時(shí)的報(bào)警機(jī)制可以大大降低人員的傷亡,為社會(huì)減少不必要的損失。監(jiān)控系統(tǒng)中各種傳感器的使用越來越多。因此,了解并掌握各類傳感器的基本結(jié)構(gòu)、工作原理及特性是非常重要的。
    為了提高對(duì)傳感器的認(rèn)識(shí)和了解,尤其是對(duì)火災(zāi)監(jiān)測(cè)相關(guān)傳感器的深入研究以及其用法與用途的了解,基于實(shí)用、廣泛和典型的原則而設(shè)計(jì)了本系統(tǒng)。本文利用單片機(jī)結(jié)合傳感器技術(shù)以及無(wú)線傳輸技術(shù)而開發(fā)設(shè)計(jì)了這一火災(zāi)監(jiān)控系統(tǒng)。
    本文是以單片機(jī)技術(shù)和無(wú)線傳輸技術(shù)為核心并與其他電子技術(shù)相結(jié)合, 設(shè)計(jì)而出的一種技術(shù)水平較好的火災(zāi)報(bào)警系統(tǒng)。以煙霧傳感器、火焰?zhèn)鞲衅、溫度傳感器監(jiān)測(cè)環(huán)境狀態(tài),將監(jiān)測(cè)信息發(fā)送至單片機(jī),單片機(jī)對(duì)數(shù)據(jù)處理之后在LCD1602液晶上顯示,并通過無(wú)線傳輸模塊傳送監(jiān)測(cè)數(shù)據(jù),在接受測(cè)將數(shù)據(jù)與預(yù)設(shè)值對(duì)比,超出范圍則進(jìn)行聲光報(bào)警。
以STC89C52單片機(jī)和NRF24L01無(wú)線傳輸模塊為核心設(shè)計(jì)的火災(zāi)報(bào)警器可實(shí)現(xiàn)聲光報(bào)警、溫度顯示等功能。是一種結(jié)構(gòu)簡(jiǎn)單、性能穩(wěn)定、使用方便、價(jià)格低廉、智能化的火災(zāi)報(bào)警器。具有一定的實(shí)用價(jià)值。


目  錄

第1章 緒 論
1.1 目的和意義
1.2 研究概況及發(fā)展現(xiàn)狀
1.3 本系統(tǒng)主要研究?jī)?nèi)容
第2章 總體方案論證與設(shè)計(jì)
2.1主控模塊的選型和論證
2.2顯示模塊的選型和論證
2.3溫度檢測(cè)模塊的選型和論證
2.4 無(wú)線傳輸模塊的選型和論
2.5系統(tǒng)整體設(shè)計(jì)概述
第3章 系統(tǒng)硬件電路設(shè)計(jì)
3.1主控模塊
3.1.1 STC89C52單片機(jī)主要特性
3.1.2 STC89C52單片機(jī)的中斷系統(tǒng)
3.1.3 單片機(jī)最小系統(tǒng)設(shè)計(jì)
3.2 LCD液晶顯示器簡(jiǎn)介
3.2.1 液晶原理介紹
3.2.2液晶模塊簡(jiǎn)介
3.2.3液晶顯示部分與STC89C52的接口
3.3無(wú)線傳輸模塊簡(jiǎn)介
3.3.1模塊性能及特點(diǎn)
3.3.2 NRF24L01應(yīng)用領(lǐng)域
3.3.3 NRF24L01技術(shù)參數(shù)
3.3.4 NRF24L01工作方式及工作原理
3.4聲光報(bào)警模塊設(shè)計(jì)
3.4.1蜂鳴器報(bào)警
3.4.2燈光報(bào)警
3.5溫度檢測(cè)模塊設(shè)計(jì)
3.5.1溫度傳感器工作原理
3.5.2 DS18B20使用中的注意事項(xiàng)
3.5.3 DS18B20硬件電路設(shè)計(jì)
3.6煙霧傳感器模塊介紹
3.6.1煙霧檢測(cè)報(bào)警器設(shè)計(jì)思路
3.6.2 MQ-2型煙霧傳感器的工作原理
3.7 火焰?zhèn)鞲衅髂K介紹
3.7.1火焰?zhèn)鞲衅饔猛?/font>
3.7.2火焰?zhèn)鞲衅髂K特
3.7.3火焰?zhèn)鞲衅髂K使用
3.6.3 MQ-2型傳感器的特性
3.8電源穩(wěn)壓模塊設(shè)計(jì)
3.8.1 5V電源穩(wěn)壓
3.8.2 3.3V電源穩(wěn)壓
第4章 系統(tǒng)軟件設(shè)計(jì)
4.1系統(tǒng)軟件設(shè)計(jì)
4.1.1主程序設(shè)計(jì)
4.1.2傳感器程序設(shè)計(jì)
4.1.3無(wú)線傳輸程序設(shè)計(jì)
4.2程序設(shè)計(jì)原理
第5章 系統(tǒng)調(diào)試
5.1硬件調(diào)試
5.2軟件調(diào)試
5.3調(diào)試結(jié)果
第6章 結(jié)論與展望
參考文獻(xiàn)
附  錄
系統(tǒng)整體原理圖
系統(tǒng)源程序
發(fā)送側(cè)部分程序
接受測(cè)部分程序
致  謝

第1章 緒 論

1.1 目的和意義
隨著科技的發(fā)展,越來越多的火災(zāi)隱患由于工業(yè)生產(chǎn)和人們的日常生活而產(chǎn)生。為了早期發(fā)現(xiàn)和通報(bào)火災(zāi),防止和減少火災(zāi)危害,保護(hù)人身和財(cái)產(chǎn)安全,保衛(wèi)社會(huì)主義現(xiàn)代化建設(shè),防止火災(zāi)引起燃燒、爆炸等事故,造成嚴(yán)重的經(jīng)濟(jì)損失,甚至危及生命安全。
為了減少這類事故的發(fā)生,就必須對(duì)煙霧、溫度以及火光進(jìn)行現(xiàn)場(chǎng)實(shí)時(shí)檢測(cè),采用先進(jìn)可靠的安全檢測(cè)儀表嚴(yán)密監(jiān)測(cè),及早發(fā)現(xiàn)事故隱患,采取有效措施,避免事故發(fā)生,才能確保工業(yè)安全和家庭生活安全。因此,研制火災(zāi)報(bào)警器就成為傳感器技術(shù)發(fā)展領(lǐng)域的一個(gè)重要課題。
1.2 研究概況及發(fā)展現(xiàn)狀
探測(cè)器朝新探測(cè)技術(shù)的發(fā)展進(jìn)一步拓展了火災(zāi)檢測(cè)的應(yīng)用領(lǐng)域,為一些傳統(tǒng)檢測(cè)技術(shù)無(wú)法勝任的環(huán)境提供了有效的手段。相關(guān)技術(shù)的發(fā)展,如傅立葉近紅外光譜技術(shù)弱信號(hào)處理技術(shù)、低功耗MCU技術(shù)進(jìn)一步促進(jìn)了傳統(tǒng)探測(cè)技術(shù)的改進(jìn),使得傳統(tǒng)探測(cè)器在技術(shù)和性能上有了顯著的提高;馂(zāi)著極早期探測(cè)、多傳感器復(fù)合探測(cè)和探測(cè)器小型化、智能化的方向發(fā)展邁出了更快的步伐。
近幾年來,單片機(jī)已逐步深入應(yīng)用到工農(nóng)業(yè)生產(chǎn)各部門及人們生活的各個(gè)方面。各種類型的單片機(jī)也根據(jù)社會(huì)的需求而開發(fā)出來。單片機(jī)是器件級(jí)計(jì)算機(jī)系統(tǒng),實(shí)際上它是一個(gè)微控制器或微處理器。由于它功能齊全,體積小,成本低,因此它可以應(yīng)用到任何電子系統(tǒng)中去,同樣,它也可以廣泛應(yīng)用于報(bào)警技術(shù)領(lǐng)域,使各類報(bào)警裝置的功能更加完善,可靠性大大提高,以滿足社會(huì)發(fā)展的需要。
我國(guó)火災(zāi)報(bào)警系統(tǒng)起步較發(fā)達(dá)國(guó)家晚幾十年,從上世紀(jì) 70 年代我國(guó)才開始研制生產(chǎn)火災(zāi)報(bào)警系統(tǒng)產(chǎn)品。進(jìn)入80年代后,國(guó)內(nèi)主要廠家也多是模仿國(guó)外產(chǎn)品,或是引進(jìn)國(guó)外技術(shù)進(jìn)行生產(chǎn),沒有真正意義上的核心技術(shù),并且市場(chǎng)也剛剛開始發(fā)育;馂(zāi)報(bào)警產(chǎn)品真正發(fā)展是在 90 年代以后,隨著政府逐漸開放國(guó)門,國(guó)外企業(yè)開始大量進(jìn)入中國(guó)消防市場(chǎng),帶來先進(jìn)技術(shù)的同時(shí)也促進(jìn)了市場(chǎng)的成熟。這時(shí)期,我國(guó)生產(chǎn)火災(zāi)報(bào)警產(chǎn)品的企業(yè)也得到了快速發(fā)展,部分企業(yè)進(jìn)行了合資生產(chǎn)、技術(shù)合作,取得了不菲的成績(jī),也造就了現(xiàn)今市場(chǎng)上許多有實(shí)力的商家,部分技術(shù)已接近或趕上了國(guó)際水平。
1.3 本系統(tǒng)主要研究?jī)?nèi)容
本系統(tǒng)設(shè)計(jì)制作一個(gè)基于單片機(jī)的火災(zāi)報(bào)警器。包括有以下幾種功能:
              (1)由檢測(cè)模塊檢測(cè)溫度值、煙霧信號(hào)和火光信號(hào)并通過24L01無(wú)線傳輸模塊收發(fā)。
(2)單片機(jī)讀取接收到的煙霧傳感器電位變化獲取煙霧信息并在LCD1602上進(jìn)行顯示。
(3)單片機(jī)讀取接收到的火焰?zhèn)鞲衅麟娢蛔兓@取火光信息并在LCD1602上實(shí)時(shí)顯示。
(4)通過溫度傳感器實(shí)時(shí)監(jiān)測(cè)環(huán)境溫度并在液晶顯示屏上實(shí)時(shí)顯示。
(5)單片機(jī)將接收數(shù)據(jù)與預(yù)設(shè)值比較判定,若超出預(yù)設(shè)范圍則驅(qū)動(dòng)報(bào)警電路進(jìn)行聲光報(bào)警。


第2章 總體方案論證與設(shè)計(jì)
              根據(jù)所要實(shí)現(xiàn)的功能劃分,系統(tǒng)一共需要以下幾個(gè)模塊:主控模塊、顯示模塊、檢測(cè)模塊和無(wú)線傳輸模塊和聲光報(bào)警模塊,以下就針對(duì)這幾個(gè)模塊的選型和論證進(jìn)行討論。
2.1主控模塊的選型和論證
方案一:
              采用MSP430系列單片機(jī),該單片機(jī)是TI公司1996年開始推向市場(chǎng)的一種16位超低功耗的混合信號(hào)處理器。其內(nèi)部集成了很多模擬電路、數(shù)字電路和微處理器,提供強(qiáng)大的功能。不過該芯片昂貴不適合一般的設(shè)計(jì)開發(fā)。
方案二
              采用51系列的單片機(jī),該單片機(jī)是一個(gè)高可靠性,超低價(jià),無(wú)法解密,高性能的8位單片機(jī),32個(gè)IO口,且STC系列的單片機(jī)可以在線編程、調(diào)試,方便地實(shí)現(xiàn)程序的下載與整機(jī)的調(diào)試。
因此選用方案二中的51系列單片機(jī)作為主控芯片。
2.2顯示模塊的選型和論證
方案一:
              采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格雖適中,對(duì)于顯示數(shù)字也最合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用單片機(jī)口線少。但是由于數(shù)碼管動(dòng)態(tài)掃描需要借助74LS164移位寄存器進(jìn)行移位,該芯片在電路調(diào)試時(shí)往往有很多障礙,所以不采用LED數(shù)碼管作為顯示。
方案二:
              采用LCD液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,對(duì)于本設(shè)計(jì)而言一個(gè)LCD1602的液晶顯示屏即可,價(jià)格也還能接受,需要的接口線較多,但會(huì)給調(diào)試帶來諸多方便。
所以本設(shè)計(jì)中方案二中的LCD1602液顯示屏作為顯示模塊。
2.3溫度檢測(cè)模塊的選型和論證
方案一:
AD590是美國(guó)ANALOG DEVICES公司的單片集成兩端感溫電流源,其輸出電流與絕對(duì)溫度成比例。在4 V至30 V電源電壓范圍內(nèi),該器件可充當(dāng)一個(gè)高阻抗、恒流調(diào)節(jié)器,調(diào)節(jié)系數(shù)為1 μA/K。片內(nèi)薄膜電阻經(jīng)過激光調(diào)整,可用于校準(zhǔn)器件,使該器件在298.2K (25°C)時(shí)輸出298.2 μA電流。由于該芯片輸出為模擬量還同時(shí)需要AD轉(zhuǎn)換器對(duì)其進(jìn)行采集。因此不適用于本設(shè)計(jì)。
方案二:
              DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場(chǎng)合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號(hào)多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應(yīng)用場(chǎng)合的不同而改變其外觀。封裝后的DS18B20可用于各種非極限溫度場(chǎng)合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。
因此本設(shè)計(jì)采用方案二中的DS18B20芯片進(jìn)行溫度采集。
2.4 無(wú)線傳輸模塊的選型和論
方案一:
NRF905是美國(guó)Nordic VLSI公司設(shè)計(jì)而成,體積小,傳輸距離遠(yuǎn),同時(shí)抗干擾能力強(qiáng),通信穩(wěn)定,且為微功率模塊。
方案二:
NRF24L01具有NRF905基本特點(diǎn),并且成本更低,編程更加容易。            
因此本設(shè)計(jì)選擇方案二中的NRF24L01模塊進(jìn)行無(wú)線傳輸。
2.5系統(tǒng)整體設(shè)計(jì)概述
本系統(tǒng)以單片機(jī)為控制核心,對(duì)系統(tǒng)進(jìn)行初始化,主要完成對(duì)火光、煙霧信號(hào)的采集、液晶顯示、測(cè)溫且由無(wú)線收發(fā)模塊傳輸采集數(shù)據(jù)等功能的控制,起到總控和協(xié)調(diào)各模塊之間工作的作用。
根據(jù)以上設(shè)計(jì)需要,系統(tǒng)擬采用以下技術(shù)方案,系統(tǒng)的結(jié)構(gòu)框圖如下圖所示。

圖2-1 發(fā)送側(cè)系統(tǒng)結(jié)構(gòu)框圖

圖2-2 接收側(cè)系統(tǒng)結(jié)構(gòu)框圖

系統(tǒng)由STC89C52,LCD1602,火焰?zhèn)鞲衅,煙霧傳感器, DS18B20等組成,系統(tǒng)由兩部分組成分別是火災(zāi)檢測(cè)部分和火災(zāi)報(bào)警部分,通過調(diào)整煙霧傳感器的靈敏度來控制煙霧濃度的上限值,通過程序設(shè)定溫度值的上限,當(dāng)超過濃度后,或者溫度超過后,單片機(jī)會(huì)進(jìn)行聲光報(bào)警。

第3章 系統(tǒng)硬件電路設(shè)計(jì)
3.1主控模塊
主控模塊模塊在整個(gè)系統(tǒng)中起著統(tǒng)籌的作用,需要檢測(cè)鍵盤,時(shí)間檢測(cè)、煙霧濃度檢測(cè)、語(yǔ)音報(bào)警等功能,同時(shí)驅(qū)動(dòng)液晶顯示相關(guān)參數(shù),在這里我們選用了51系列單片機(jī)中的STC89C52單片機(jī)作為系統(tǒng)的主控芯片。
51系列單片機(jī)最初是由Intel 公司開發(fā)設(shè)計(jì)的,但后來Intel 公司把51 核的設(shè)計(jì)方案賣給了幾家大的電子設(shè)計(jì)生產(chǎn)商,譬如SST、Philip、Atmel 等大公司。因此市面上出現(xiàn)了各式各樣的均以51 為內(nèi)核的單片機(jī)。這些各大電子生產(chǎn)商推出的單片機(jī)都兼容51 指令、并在51 的基礎(chǔ)上擴(kuò)展一些功能而內(nèi)部結(jié)構(gòu)是與51一致的。
STC89C52有40個(gè)引腳,4個(gè)8位并行I/O口,1個(gè)全雙工異步串行口,同時(shí)內(nèi)含5個(gè)中斷源,2個(gè)優(yōu)先級(jí),2個(gè)16位定時(shí)/計(jì)數(shù)器。STC89C52的存儲(chǔ)器系統(tǒng)由4K的程序存儲(chǔ)器(掩膜ROM),和128B的數(shù)據(jù)存儲(chǔ)器(RAM)組成。
STC89C52單片機(jī)的基本組成框圖見圖3-1。

圖3-1 STC89C52單片機(jī)結(jié)構(gòu)圖

3.1.1 STC89C52單片機(jī)主要特性
1. 一個(gè)8 位的微處理器(CPU)。
2. 片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM(128B),用以存放可以讀/寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等,SST89 系列單片機(jī)最多提供1K 的RAM。
3. 片內(nèi)程序存儲(chǔ)器ROM(4KB),用以存放程序、一些原始數(shù)據(jù)和表格。但也有一些單片機(jī)內(nèi)部不帶ROM/EPROM,如8031,8032,80C31 等。目前單片機(jī)的發(fā)展趨勢(shì)是將RAM 和ROM 都集成在單片機(jī)里面,這樣既方便了用戶進(jìn)行設(shè)計(jì)又提高了系統(tǒng)的抗干擾性。SST 公司推出的89 系列單片機(jī)分別集成了16K、32K、64K Flash 存儲(chǔ)器,可供用戶根據(jù)需要選用。
4. 四個(gè)8 位并行I/O 接口P0~P3,每個(gè)口既可以用作輸入,也可以用作輸出。
5. 兩個(gè)定時(shí)器/計(jì)數(shù)器,每個(gè)定時(shí)器/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制。為方便設(shè)計(jì)串行通信,目前的52 系列單片機(jī)都會(huì)提供3 個(gè)16 位定時(shí)器/計(jì)數(shù)器。
6. 五個(gè)中斷源的中斷控制系統(tǒng),F(xiàn)在新推出的單片機(jī)都不只5 個(gè)中斷源,例如SST89E58RD 就有9 個(gè)中斷源。
7. 一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O 口,用于實(shí)現(xiàn)單片機(jī)之間或單機(jī)與微機(jī)之間的串行通信。
8. 片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD 最高允許振蕩頻率達(dá)40MHz,因而大大的提高了指令的執(zhí)行速度。

圖3-2 STC89C52單片機(jī)管腳圖

部分引腳說明:
1.時(shí)鐘電路引腳XTAL1 和XTAL2:
XTAL2(18 腳):接外部晶體和微調(diào)電容的一端;片內(nèi)它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時(shí)鐘電路時(shí),該引腳輸入外部時(shí)鐘脈沖。
要檢查振蕩電路是否正常工作,可用示波器查看XTAL2 端是否有脈沖信號(hào)輸出。
XTAL1(19 腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它是振蕩電路反相放大器的輸入端。在采用外部時(shí)鐘時(shí),該引腳必須接地。
2.控制信號(hào)引腳RST,ALE,PSEN 和EA:
RST/VPD(9 腳):RST 是復(fù)位信號(hào)輸入端,高電平有效。當(dāng)此輸入端保持備用電源的輸入端。當(dāng)主電源Vcc 發(fā)生故障,降低到低電平規(guī)定值時(shí),將+5V 電源自動(dòng)兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)的高電平時(shí),就可以完成復(fù)位操作。RST 引腳的第二功能是VPD,即接入RST 端,為RAM 提供備用電源,以保證存儲(chǔ)在RAM 中的信息不丟失,從而合復(fù)位后能繼續(xù)正常運(yùn)行。
ALE/PROG(30 腳):地址鎖存允許信號(hào)端。當(dāng)8051 上電正常工作后,ALE 引腳不斷向外輸出正脈沖信號(hào),此頻率為振蕩器頻率fOSC 的1/6。CPU 訪問片外存儲(chǔ)器時(shí),ALE 輸出信號(hào)作為鎖存低8 位地址的控制信號(hào)。
平時(shí)不訪問片外存儲(chǔ)器時(shí),ALE 端也以振蕩頻率的1/6 固定輸出正脈沖,因而ALE 信號(hào)可以用作對(duì)外輸出時(shí)鐘或定時(shí)信號(hào)。如果想確定8051/8031 芯片的好壞,可用示波器查看ALE端是否有脈沖信號(hào)輸出。如有脈沖信號(hào)輸出,則8051/8031 基本上是好的。
ALE 端的負(fù)載驅(qū)動(dòng)能力為8 個(gè)LS 型TTL(低功耗甚高速TTL)負(fù)載。
此引腳的第二功能PROG 在對(duì)片內(nèi)帶有4KB EPROM 的8751 編程寫入(固化程序)時(shí),作為編程脈沖輸入端。
PSEN(29 腳):程序存儲(chǔ)允許輸出信號(hào)端。在訪問片外程序存儲(chǔ)器時(shí),此端定時(shí)輸出負(fù)脈沖作為讀片外存儲(chǔ)器的選通信號(hào)。此引肢接EPROM的OE 端(見后面幾章任何一個(gè)小系統(tǒng)硬件圖)。PSEN 端有效,即允許讀出EPROM/ROM 中的指令碼。PSEN 端同樣可驅(qū)動(dòng)8 個(gè)LS 型TTL 負(fù)載。要檢查一個(gè)8051/8031 小系統(tǒng)上電后CPU 能否正常到EPROM/ROM 中讀取指令碼,也可用示波器看PSEN 端有無(wú)脈沖輸出。如有則說明基本上工作正常。
EA/Vpp(31 腳):外部程序存儲(chǔ)器地址允許輸入端/固化編程電壓輸入端。當(dāng)EA 引腳接高電平時(shí),CPU只訪問片內(nèi)EPROM/ROM并執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令,但當(dāng)PC(程序計(jì)數(shù)器)的值超過0FFFH(對(duì)8751/8051 為4K)時(shí),將自動(dòng)轉(zhuǎn)去執(zhí)行片外程序存儲(chǔ)器內(nèi)的程序。當(dāng)輸入信號(hào)EA 引腳接低電平(接地)時(shí),CPU 只訪問外部EPROM/ROM 并執(zhí)行外部程序存儲(chǔ)器中的指令,而不管是否有片內(nèi)程序存儲(chǔ)器。對(duì)于無(wú)片內(nèi)ROM 的8031或8032,需外擴(kuò)EPROM,此時(shí)必須將EA 引腳接地。此引腳的第二功能是Vpp 是對(duì)8751 片內(nèi)EPROM固化編程時(shí),作為施加較高編程電壓(一般12V~21V)的輸入端。
3.輸入/輸出端口P0/P1/P2/P3:
P0口(P0.0~P0.7,39~32 腳):P0口是一個(gè)漏極開路的8 位準(zhǔn)雙向I/O口。作為漏極開路的輸出端口,每位能驅(qū)動(dòng)8 個(gè)LS 型TTL 負(fù)載。當(dāng)P0 口作為輸入口使用時(shí),應(yīng)先向口鎖存器(地址80H)寫入全1,此時(shí)P0 口的全部引腳浮空,可作為高阻抗輸入。作輸入口使用時(shí)要先寫1,這就是準(zhǔn)雙向口的含義。在CPU 訪問片外存儲(chǔ)器時(shí),P0口分時(shí)提供低8 位地址和8 位數(shù)據(jù)的復(fù)用總線。在此期間,P0口內(nèi)部上拉電阻有效。
P1口(P1.0~P1.7,1~8 腳):P1口是一個(gè)帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/O口。P1口每位能驅(qū)動(dòng)4 個(gè)LS 型TTL 負(fù)載。在P1口作為輸入口使用時(shí),應(yīng)先向P1口鎖存地址(90H)寫入全1,此時(shí)P1口引腳由內(nèi)部上拉電阻拉成高電平。
P2口(P2.0~P2.7,21~28 腳):P2口是一個(gè)帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/O口。P口每位能驅(qū)動(dòng)4個(gè)LS 型TTL 負(fù)載。在訪問片外EPROM/RAM 時(shí),它輸出高8 位地址。
P3口(P3.0~P3.7,10~17 腳):P3口是一個(gè)帶內(nèi)部上拉電阻的8 位準(zhǔn)雙向I/O口。P3口每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口與其它I/O 端口有很大的區(qū)別,它的每個(gè)引腳都有第二功能,如下:
P3.0:(RXD)串行數(shù)據(jù)接收。
P3.1:(RXD)串行數(shù)據(jù)發(fā)送。
P3.2:(INT0#)外部中斷0輸入。
P3.3:(INT1#)外部中斷1輸入。
P3.4:(T0)定時(shí)/計(jì)數(shù)器0的外部計(jì)數(shù)輸入。
P3.5:(T1)定時(shí)/計(jì)數(shù)器1的外部計(jì)數(shù)輸入。
P3.6:(WR#)外部數(shù)據(jù)存儲(chǔ)器寫選通。
P3.7:(RD#)外部數(shù)據(jù)存儲(chǔ)器讀選通。
3.1.2 STC89C52單片機(jī)的中斷系統(tǒng)
STC89C52系列單片機(jī)的中斷系統(tǒng)有5個(gè)中斷源,2個(gè)優(yōu)先級(jí),可以實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。由片內(nèi)特殊功能寄存器中的中斷允許寄存器IE控制CPU是否響應(yīng)中斷請(qǐng)求;由中斷優(yōu)先級(jí)寄存器IP安排各中斷源的優(yōu)先級(jí);同一優(yōu)先級(jí)內(nèi)各中斷同時(shí)提出中斷請(qǐng)求時(shí),由內(nèi)部的查詢邏輯確定其響應(yīng)次序。
在單片機(jī)應(yīng)用系統(tǒng)中,常常會(huì)有定時(shí)控制需求,如定時(shí)輸出、定時(shí)檢測(cè)、定時(shí)掃描等;也經(jīng)常要對(duì)外部事件進(jìn)行計(jì)數(shù)。STC89C52單片機(jī)內(nèi)集成有兩個(gè)可編程的定時(shí)/計(jì)數(shù)器:T0和T1,它們既可以工作于定時(shí)模式,也可以工作于外部事件計(jì)數(shù)模式,此外,T1還可以作為串行口的波特率發(fā)生器。
3.1.3 單片機(jī)最小系統(tǒng)設(shè)計(jì)

圖3-3 單片機(jī)最小系統(tǒng)電路圖

              圖3-3為單片機(jī)最小系統(tǒng)電路圖,單片機(jī)最小系統(tǒng)有單片機(jī)、時(shí)鐘電路、復(fù)位電路組成,時(shí)鐘電路選用了12MHZ的晶振提供時(shí)鐘,作用為給單片機(jī)提供一個(gè)時(shí)間基準(zhǔn),其中執(zhí)行一條基本指令需要的時(shí)間為一個(gè)機(jī)器周期,單片機(jī)的復(fù)位電路,按下復(fù)位按鍵之后可以使單片機(jī)進(jìn)入剛上電的起始狀態(tài)。圖中10K排阻為P0口的上拉電阻,由于P0口跟其他IO結(jié)構(gòu)不一樣為漏極開路的結(jié)構(gòu),因此要加上拉電阻才能正常使用。
3.2 LCD液晶顯示器簡(jiǎn)介
由于本設(shè)計(jì)中要求顯示界面顯示一些參數(shù),因此這里選用了LCD1602作為界面顯示,可以把一些相關(guān)的參數(shù)進(jìn)行顯示。
3.2.1 液晶原理介紹
液晶顯示的原理是利用液晶的物理特性,通過電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA移動(dòng)通信工具等眾多領(lǐng)域。
顯示接口用來顯示系統(tǒng)的狀態(tài),命令或采集的電壓數(shù)據(jù)。本系統(tǒng)顯示部分用的是LCD液晶模塊,采用一個(gè)16×2的字符型液晶顯示模塊。
點(diǎn)陣圖形式液晶由 M 行×N 列個(gè)顯示單元組成,假設(shè) LCD 顯示屏有64行,每行有 128列,每 8列對(duì)應(yīng) 1 個(gè)字節(jié)的 8 個(gè)位,即每行由 16 字節(jié),共 16×8=128個(gè)點(diǎn)組成,屏上 64×16 個(gè)顯示單元和顯示 RAM 區(qū) 1024 個(gè)字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容和屏上相應(yīng)位置的亮暗對(duì)應(yīng)。一個(gè)字符由 6×8 或 8×8點(diǎn)陣組成,即要找到和屏上某幾個(gè)位置對(duì)應(yīng)的顯示 RAM區(qū)的 8 個(gè)字節(jié),并且要使每個(gè)字節(jié)的不同的位為‘1’,其它的為‘0’,為‘1’的點(diǎn)亮,為‘0’的點(diǎn)暗,這樣一來就組成某個(gè)字符。但對(duì)于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡(jiǎn)單了,可讓控制器工作在文本方式,根據(jù)在LCD 上開始顯示的行列號(hào)及每行的列數(shù)找出顯示 RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。
3.2.2液晶模塊簡(jiǎn)介
LCD1602液晶模塊采用HD44780控制器,hd44780具有簡(jiǎn)單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動(dòng),閃爍等功能,LM016L與單片機(jī)MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個(gè)8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)忙標(biāo)志(BF),顯示數(shù)RAM(DDRAM),字符發(fā)生器ROMA(CGOROM)字符發(fā)生器RAM(CGRAM),地址計(jì)數(shù)器RAM(AC)。IR用于寄存指令碼,只能寫入不能讀出,DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動(dòng)寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時(shí),液晶模塊處于內(nèi)部模式,不響應(yīng)外部操作指令和接受數(shù)據(jù),DDTAM用來存儲(chǔ)顯示的字符,能存儲(chǔ)80個(gè)字符碼,CGROM由8位字符碼生成5*7點(diǎn)陣字符160中和5*10點(diǎn)陣字符32種.8位字符編碼和字符的對(duì)應(yīng)關(guān)系, CGRAM是為用戶編寫特殊字符留用的,它的容量?jī)H64字節(jié),可以自定義8個(gè)5*7點(diǎn)陣字符或者4個(gè)5*10點(diǎn)陣字符,AC可以存儲(chǔ)DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動(dòng)把地址碼裝入AC,同時(shí)選擇DDRAM或CGRAM,LCD1602液晶模塊的引腳圖如圖3-4所示。

圖3-4 LCD1602引腳圖

LCD1602引腳接口說明:
第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第3腳:VEE為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度。
第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。
第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。
第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
第15腳:背光源正極。
第16腳:背光源負(fù)極。
3.2.3液晶顯示部分與STC89C52的接口
如圖3-5所示。用STC89C52的P0口作為數(shù)據(jù)線,用P2.2、P2.3、P2.7分別作為L(zhǎng)CD的RS 、RW、EN。其中EN是下降沿觸發(fā)的片選信號(hào),RW是讀寫信號(hào),RS是寄存器選擇信號(hào)本模塊設(shè)計(jì)要點(diǎn)如下:顯示模塊初始化:首先清屏,再設(shè)置接口數(shù)據(jù)位為8位,顯示行數(shù)為1行,字型為5×7點(diǎn)陣,然后設(shè)置為整體顯示,取消光標(biāo)和字體閃爍,最后設(shè)置為正向增量方式且不移位。向LCD的顯示緩沖區(qū)中送字符,程序中采用2個(gè)字符數(shù)組,一個(gè)顯示字符,另一個(gè)顯示電壓數(shù)據(jù),要顯示的字符或數(shù)據(jù)被送到相應(yīng)的數(shù)組中,完成后再統(tǒng)一顯示.首先取一個(gè)要顯示的字符或數(shù)據(jù)送到LCD的顯示緩沖區(qū),程序延時(shí)2.5ms,判斷是否夠顯示的個(gè)數(shù),不夠則地址加一取下一個(gè)要顯示的字符或數(shù)據(jù)。

圖3-5 LCD1602與STC89C52的接口

3.3無(wú)線傳輸模塊簡(jiǎn)介
              本設(shè)計(jì)的核心是通過無(wú)線收發(fā)模塊NRF24L01發(fā)送檢測(cè)到的數(shù)據(jù),并在接收端進(jìn)行實(shí)時(shí)顯示,在火災(zāi)發(fā)生時(shí)進(jìn)行聲光報(bào)警。NRF24L01 是一款工作在2.4~2.5GHz 世界通用ISM 頻段的單片無(wú)線收發(fā)器芯片。無(wú)線收發(fā)器包括:頻率發(fā)生器、增強(qiáng)型SchockBurstTM 模式控制器、功率放大器、晶體振蕩器、調(diào)制器、解調(diào)器。輸出功率、頻道選擇和協(xié)議的設(shè)置可以通過SPI 接口進(jìn)行設(shè)置。它具有極低的電流消耗:當(dāng)工作在發(fā)射模式下發(fā)射功率為-6dBm 時(shí)電流消耗為9mA,接收模式時(shí)為12.3mA。掉電模式和待機(jī)模式下電流消耗更低。
3.3.1模塊性能及特點(diǎn)
(1)2.4GHz全球開放ISM頻段免許可證使用;
(2最高工作速率2Mbps,高效GFSK調(diào)制,抗干擾能力強(qiáng),特別適合工業(yè)控制場(chǎng)合;     
(3)125頻道,滿足多點(diǎn)通信和跳頻通信需要;   
(4)內(nèi)置硬件CRC 檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制 ;
(5)低功耗1.9-3.6V工作,待機(jī)模式下狀態(tài)為22uA;掉電模式下為900nA ;
(6)模塊可軟件設(shè)地址,只有收到本機(jī)地址時(shí)才會(huì)輸出數(shù)據(jù)(提供中斷指示),可直接接各種單片機(jī)使用,軟件編程非常方便;
(7)標(biāo)準(zhǔn) 5*2 DIP間距接口,便于嵌入式應(yīng)用 ;
(8)工作于 Enhanced Shock Burst,具有可選的內(nèi)置包應(yīng)答機(jī)制,極大的降低丟包率;
(9)NRF24L01配PCB內(nèi)置天線,無(wú)阻擋傳輸距離20-50米。
(10)與51系列單片機(jī)P0口連接時(shí)候,需要加10K的上拉電阻,與其余口連接不需要。
(11)其他系列的單片機(jī),如果是5V的,請(qǐng)參考該系列單片機(jī)IO口輸出電流大小,如果超過10mA,需要串聯(lián)電阻分壓,否則容易燒毀模塊。如果是3.3V的,可以直接和RF24L01模塊的IO口線連接。比如AVR系列單片機(jī)如果是5V的,一般串接2K的電阻。

圖3-6 無(wú)線傳輸模塊原理圖

3.3.2 NRF24L01應(yīng)用領(lǐng)域
無(wú)線鼠標(biāo),鍵盤,游戲機(jī)操縱桿,無(wú)線數(shù)據(jù)通訊,無(wú)線門禁,安防系統(tǒng),遙控裝置,遙感勘測(cè),智能運(yùn)動(dòng)設(shè)備,工業(yè)傳感器,玩具。
3.3.3 NRF24L01技術(shù)參數(shù)

表3-1  NRF24L01快速參考數(shù)據(jù)

參數(shù)

數(shù)值

單位

最低供電電壓

1.9

V

最大發(fā)射頻率

0

dBm

最大數(shù)據(jù)傳輸率

2000

kbps

發(fā)射模式下電流消耗(0dBm)

11.3

mA

接收模式下電流消耗(2000kbps)

12.3

mA

溫度范圍

-40~+85

數(shù)據(jù)傳輸率為1000kbps下的靈敏度

-85

dBm

掉電模式下的電流消耗

900

nA

3.3.4 NRF24L01工作方式及工作原理
NRF2401有工作模式有四種:發(fā)送模式,接受模式,空閑模式,掉電模式。工作模式由PWR_UP register 、PRIM_RX register 和CE 決定,詳見表3-2。

表3-2  NRF24L01工作模式

模式

PWR_UP

PRIM_RX

CE

FIFO寄存器狀態(tài)

接受模式

1

1

1

--

發(fā)送模式

1

0

1

數(shù)據(jù)在TX FIFO寄存器中

發(fā)送模式

1

0

1→0

停留在發(fā)送模式,直至數(shù)據(jù)發(fā)完

空閑模式Ⅱ

1

0

1

TX FIFO為空

空閑模式Ⅰ

1

--

0

無(wú)數(shù)據(jù)傳輸

掉電模式

0

--

--

--

工作原理:發(fā)射數(shù)據(jù)時(shí),首先將NRF24L01配置為發(fā)射模式:接著把接收節(jié)點(diǎn)地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時(shí)序由SPI口寫入NRF24L01緩存區(qū),TX_PLD必須在CSN為低時(shí)連續(xù)寫入,而TX_ADDR在發(fā)射時(shí)寫入一次即可,然后CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù);若自動(dòng)應(yīng)答開啟,那么NRF24L01在發(fā)射數(shù)據(jù)后立即進(jìn)入接收模式,接收應(yīng)答信號(hào)(自動(dòng)應(yīng)答接收地址應(yīng)該與接收節(jié)點(diǎn)地址TX_ADDR一致)。如果收到應(yīng)答,則認(rèn)為此次通信成功,TX_DS置高,同時(shí)TX_PLD從TX FIFO中清除;若未收到應(yīng)答,則自動(dòng)重新發(fā)射該數(shù)據(jù)(自動(dòng)重發(fā)已開啟),若重發(fā)次數(shù)(ARC)達(dá)到上限,MAX_RT置高,TX FIFO中數(shù)據(jù)保留以便再次重發(fā);MAX_RT或TX_DS置高時(shí),使IRQ變低,產(chǎn)生中斷,通知MCU。最后發(fā)射成功時(shí),若CE為低則NRF24L01進(jìn)入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進(jìn)入下一次發(fā)射;若發(fā)送堆棧中無(wú)數(shù)據(jù)且CE為高,則進(jìn)入空閑模式2。
接收數(shù)據(jù)時(shí),首先將NRF24L01配置為接收模式,接著延遲130μs進(jìn)入接收狀態(tài)等待數(shù)據(jù)的到來。當(dāng)接收方檢測(cè)到有效的地址和CRC時(shí),就將數(shù)據(jù)包存儲(chǔ)在RX FIFO中,同時(shí)中斷標(biāo)志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。若此時(shí)自動(dòng)應(yīng)答開啟,接收方則同時(shí)進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號(hào)。最后接收成功時(shí),若CE變低,則NRF24L01進(jìn)入空閑模式1。
3.4聲光報(bào)警模塊設(shè)計(jì)
安全情況下,三色燈熄滅,喇叭無(wú)聲;一旦監(jiān)測(cè)到發(fā)生火災(zāi),即觸發(fā)報(bào)警器進(jìn)入報(bào)警狀態(tài),三色燈循環(huán)閃爍,喇叭發(fā)出警報(bào)聲。
3.4.1蜂鳴器報(bào)警
聲音報(bào)警電路如下圖所示。由于蜂鳴器的工作電流一般比較大,以致于單片機(jī)的I/O口是無(wú)法直接驅(qū)動(dòng)的,所以要利用放大電路來驅(qū)動(dòng),一般使用三極管來放大電流就可以了。聲報(bào)警電路由單片機(jī)的P20引腳進(jìn)行控制,當(dāng)P2.0輸出的電平為低電平時(shí),三極管導(dǎo)通,蜂鳴器的電流形成回路,發(fā)出聲音報(bào)警;否則,三極管截止,蜂鳴器不發(fā)出聲音。

圖3-7 蜂鳴器報(bào)警電路

3.4.2燈光報(bào)警
光報(bào)警電路路如圖3.5,由單片機(jī)的P2.1、P3.4、P3.5口進(jìn)行控制,分別控制3個(gè)發(fā)光二極管,予以光報(bào)警,如圖所示。當(dāng)監(jiān)測(cè)到火災(zāi)發(fā)生時(shí),單片機(jī)控制的三個(gè)端口循環(huán)依次輸出低電平時(shí),對(duì)應(yīng)的信號(hào)燈便會(huì)循環(huán)閃爍發(fā)出光報(bào)警。

圖3-8 燈光報(bào)警電路

3.5溫度檢測(cè)模塊設(shè)計(jì)
              本設(shè)計(jì)還帶有一個(gè)溫度檢測(cè)的功能,系統(tǒng)可以通過讀取DS18B20的溫度數(shù)據(jù)并在LCD1602上顯示,當(dāng)系統(tǒng)監(jiān)測(cè)到火災(zāi)發(fā)生時(shí),會(huì)驅(qū)動(dòng)聲光報(bào)警系統(tǒng)報(bào)警。
3.5.1溫度傳感器工作原理
DALLAS 最新單線數(shù)字溫度傳感器DS18B20是一種新型的“一線器件”,其體積更小、更適用于多種場(chǎng)合、且適用電壓更寬、更經(jīng)濟(jì)。DALLAS半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。溫度測(cè)量范圍為-55~+125攝氏度,可編程為9位~12 位轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625攝氏度,分辨率設(shè)定參數(shù)以及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM 中,掉電后依然保存。被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可以在遠(yuǎn)端引入,也可以采用寄生電源方式產(chǎn)生;多個(gè)DS18B20可以并聯(lián)到3 根或2 根線上,CPU只需一根端口線就能與諸多DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。因此用它來組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。
DS18B20的讀寫時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s 減為750ms。 DS18B20測(cè)溫原理:低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。
DS18B20有4個(gè)主要的數(shù)據(jù)部件:
a. 光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。
b. DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。
c. DS18B20溫度傳感器的存儲(chǔ)器 DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器 TH、TL和結(jié)構(gòu)寄存器。
d. 配置寄存器。
DS18B20內(nèi)部結(jié)構(gòu)及功能:
DS18B20的內(nèi)部結(jié)構(gòu)如圖3-15所示。主要包括:寄生電源,溫度傳感器,64位ROM和單總線接口,存放中間數(shù)據(jù)的高速暫存器RAM,用于存儲(chǔ)用戶設(shè)定溫度上下限值的TH和TL觸發(fā)器,存儲(chǔ)與控制邏輯,8位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等7部分。

圖3-10  DS18B20內(nèi)部結(jié)構(gòu)

3.5.2 DS18B20使用中的注意事項(xiàng)
DS18B20 雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問題:
1)DS18B20 從測(cè)溫結(jié)束到將溫度值轉(zhuǎn)換成數(shù)字量需要一定的轉(zhuǎn)換時(shí)間,這是必須保證的,不然會(huì)出現(xiàn)轉(zhuǎn)換錯(cuò)誤的現(xiàn)象,使溫度輸出總是顯示85。
2)在實(shí)際使用中發(fā)現(xiàn),應(yīng)使電源電壓保持在5V 左右,若電源電壓過低,會(huì)使所測(cè)得的溫度精度降低。
3)較小的硬件開銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)DS1820進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在使用PL/M、C等高級(jí)語(yǔ)言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì)DS1820操作部分最好采用匯編語(yǔ)言實(shí)現(xiàn)。
4)在DS18B20的有關(guān)資料中均未提及單總線上所掛DS18B20 數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個(gè)DS18B20,在實(shí)際應(yīng)用中并非如此,當(dāng)單總線上所掛DS18B20 超過8 個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。
5)在DS18B20測(cè)溫程序設(shè)計(jì)中,向DS18B20 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號(hào),一旦某個(gè)DS18B20 接觸不好或斷線,當(dāng)程序讀該DS18B20 時(shí),將沒有返回信號(hào),程序進(jìn)入死循環(huán),這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。
3.5.3 DS18B20硬件電路設(shè)計(jì)

圖3-11 DS18B20溫度檢測(cè)電路設(shè)計(jì)

圖3-16為DS18B20的硬件設(shè)計(jì)電路圖,其中DQ口為該芯片的數(shù)據(jù)口,單片機(jī)通過讀取改口的信息可以得出實(shí)時(shí)的溫度值,由于DS18B20是單線通信,即發(fā)送和接收都是通過通信腳來進(jìn)行。其接收時(shí)高阻輸入,其發(fā)送時(shí)是開漏輸出,即輸出0時(shí)通過三極管下拉為低電平,而輸出1時(shí),則為高阻,需要外接上拉電阻將其拉為高電平,因此是需要外接上拉電阻,否則無(wú)法輸出1。
3.6煙霧傳感器模塊介紹
3.6.1煙霧檢測(cè)報(bào)警器設(shè)計(jì)思路
此次設(shè)計(jì)是針對(duì)于單片機(jī)原理及其應(yīng)用展開的。其中包含了大學(xué)四年中所學(xué)到的相關(guān)知識(shí),運(yùn)用所學(xué)的傳感器技術(shù),單片機(jī)技術(shù)去設(shè)計(jì)基于單片機(jī)的煙霧報(bào)警系統(tǒng)。煙霧報(bào)警器的最基本組成部分包括:煙霧傳感電路、模數(shù)轉(zhuǎn)換電路、單片機(jī)控制電路。單片機(jī)緊緊聯(lián)系著傳感器和報(bào)警電路設(shè)備,給煙霧報(bào)警器設(shè)定一個(gè)值,當(dāng)外界環(huán)境達(dá)到預(yù)先設(shè)定的數(shù)值時(shí),煙霧傳感器把被測(cè)的物理量作為輸入?yún)?shù),轉(zhuǎn)換為電量輸出。為了簡(jiǎn)化整個(gè)系統(tǒng)的設(shè)計(jì)在本設(shè)計(jì)中不采用前置放大器而是選擇數(shù)值符合A/D轉(zhuǎn)換器的輸入等級(jí)。模數(shù)轉(zhuǎn)換電路將從煙霧傳感電路送出的模擬信號(hào)轉(zhuǎn)換成單片機(jī)可識(shí)別的數(shù)字信號(hào)后送入單片機(jī)。這里選擇單片機(jī)的P1.0為輸入方式,接收到信號(hào)的單片機(jī)經(jīng)過程序的設(shè)定會(huì)由P2.0作為單片機(jī)的輸出電路,單片機(jī)對(duì)該數(shù)字信號(hào)進(jìn)行濾波處理,并對(duì)處理后的數(shù)據(jù)進(jìn)行分析,是否大于或等于某個(gè)預(yù)設(shè)值,如果大于則啟動(dòng)報(bào)警電路發(fā)出報(bào)警聲音,反之則為正常狀態(tài)。煙霧傳感器及單片機(jī)是可燃煙霧檢測(cè)報(bào)警器的兩大核心,根據(jù)報(bào)警器功能的需要,選擇合適、精確、經(jīng)濟(jì)的煙霧傳感器及單片機(jī)芯片是至關(guān)重要的。
3.6.2 MQ-2型煙霧傳感器的工作原理
半導(dǎo)體煙霧傳感器包括用氧化物半導(dǎo)體陶瓷材料作為敏感體制作的煙霧傳感器以及用單晶半導(dǎo)體器件制作的煙霧傳感器。按敏感機(jī)理分類,可分為電阻型和非電阻型。半導(dǎo)體氣敏元件也有N型和P型之分。N型在檢測(cè)時(shí)阻值隨煙霧濃度的增大而減。籔型阻值隨煙霧濃度的增大而增大。
本設(shè)計(jì)中采用的MQ-2型煙霧傳感器屬于二氧化錫半導(dǎo)體氣敏材料,屬于表面離子式N型半導(dǎo)體[7]。當(dāng)處于200~300°C溫度時(shí),二氧化錫吸附空氣中的氧,形成氧的負(fù)離子吸附,使半導(dǎo)體中的電子密度減少,從而使其電阻值增加。當(dāng)與煙霧接觸時(shí),如果晶粒間界處的勢(shì)壘受到該煙霧的調(diào)制而變化,就會(huì)引起表而電導(dǎo)率的變化。利用這一點(diǎn)就可以獲得這種煙霧存在的信息。

圖3-12 煙霧傳感器原理圖

傳感器在感煙時(shí),當(dāng)監(jiān)測(cè)電離室遇到可燃煙霧時(shí),原來吸附的氧脫附,而由可燃煙霧以正離子狀態(tài)吸附在二氧化錫半導(dǎo)體表面;氧脫附放出電子,煙霧以正離子狀態(tài)吸附也要放出電子,從而使二氧化錫半導(dǎo)體導(dǎo)帶電子密度增加,電阻值下降[8]。而當(dāng)空氣中沒有煙霧時(shí),二氧化錫半導(dǎo)體又會(huì)自動(dòng)恢復(fù)氧的負(fù)離子吸附,使電阻值升高到初始狀態(tài)。
3.7 火焰?zhèn)鞲衅髂K介紹
火焰?zhèn)鞲衅魇菍iT用來檢測(cè)火源的傳感器,當(dāng)然火焰?zhèn)鞲衅饕部梢杂脕頇z測(cè)光線的亮度,只是本傳感器對(duì)火焰特別靈敏;鹧?zhèn)鞲衅骼眉t外線對(duì)對(duì)火焰非常敏感的特點(diǎn),使用特制的紅外線接受管來檢測(cè)火焰,然后把火焰的亮度轉(zhuǎn)化為高低變化的電平信號(hào),輸入到中央處理器中,中央處理器根據(jù)信號(hào)的變化做出相應(yīng)的程序處理。
3.7.1火焰?zhèn)鞲衅饔猛?/div>
各種火焰、火源探測(cè)。
3.7.2火焰?zhèn)鞲衅髂K特
1.可以檢測(cè)火焰或者波長(zhǎng)在760納米~1100納米范圍內(nèi)的光源,打火機(jī)測(cè)試火焰2.距離為80cm,對(duì)火焰越大,測(cè)試距離越遠(yuǎn);
3.探測(cè)角度60度左右,對(duì)火焰光譜特別靈敏;
4.靈敏度可調(diào);
5.比較器輸出,信號(hào)干凈,波形好,驅(qū)動(dòng)能力強(qiáng),超過15mA;
6.配電位器調(diào)節(jié)靈敏度;
7.工作電壓3.3V-5V;
8.輸出形式 :數(shù)字開關(guān)量輸出(0和1);
9.使用寬電壓LM393比較器;
3.7.3火焰?zhèn)鞲衅髂K使用
1.火焰?zhèn)鞲衅鲗?duì)火焰最敏感,對(duì)普通光也是有反應(yīng)的,一般用做火焰報(bào)警等用途;
2.小板輸出接口可以與單片機(jī)IO口直接相連;
3.傳感器與火焰要保持一定距離,以免高溫?fù)p壞傳感器。

圖3-13火焰?zhèn)鞲衅髟韴D

火焰?zhèn)鞲衅骼眉t外線對(duì)火焰非常敏感的特點(diǎn),使用特制的紅外線發(fā)射管來檢測(cè)火焰,然后把火焰的亮度轉(zhuǎn)化為高低變化的電平信號(hào),輸入到單片機(jī),單片機(jī)根據(jù)信號(hào)的變化做出相應(yīng)的程序處理。
3.6.3 MQ-2型傳感器的特性
a、MQ-2型傳感器的主要特點(diǎn)
MQ-2型傳感器主要有三個(gè)特點(diǎn):
(1)對(duì)天然氣、液化石油氣等煙霧有很高的靈敏度,尤其對(duì)烷類煙霧更為敏感。
(2)具有良好的重復(fù)性和長(zhǎng)期的穩(wěn)定性。初始穩(wěn)定,響應(yīng)時(shí)間短,長(zhǎng)時(shí)間工作性能好。
(3)具有良好的抗干擾性,可準(zhǔn)確排除有刺激性非可燃性煙霧的干擾信息,例如酒精和煙霧等。

b、MQ-2型傳感器的基本特性

MQ-2型傳感器的基本特性包括靈敏度特性、初期穩(wěn)定特性、加熱特性。
(1)靈敏度特性:煙霧傳感器在最佳工作條件下,接觸同一種煙霧,其電阻值RS隨氣體濃度變化的特性稱之為靈敏度特性,用K表示。K=RS / R0 (2-1)式中,R0為煙霧傳感器潔凈空氣條件下的電阻值[9],RS為煙霧傳感器在一定濃度的檢測(cè)煙霧中的電阻值 。
(2)初期穩(wěn)定特性:半導(dǎo)體煙霧傳感器在不通電狀態(tài)存放一段時(shí)間后,再通電時(shí),器件并不能立即投入正常工作。這是因?yàn)闊熿F傳感器中的二氧化錫在不通電的狀態(tài)下會(huì)吸附空氣中的水蒸氣,當(dāng)再次通電時(shí)需要預(yù)熱幾分鐘使水蒸氣蒸發(fā)后,氣敏電阻才能正常工作。再通電工作時(shí)氣敏電阻值達(dá)到穩(wěn)定時(shí)所需要的時(shí)間,定義為初期穩(wěn)定時(shí)間。一般情況下,不通電時(shí)間越長(zhǎng),初期穩(wěn)定時(shí)間也越長(zhǎng),當(dāng)不通電存放時(shí)間達(dá)到15天左右時(shí),初期穩(wěn)定時(shí)間一般需要5分鐘左右。
(3)加熱特性:半導(dǎo)體煙霧傳感器一般要在較高的溫度(200~450°C)下工作,所以需要對(duì)其加熱。由于傳感器一般工作在易燃易爆環(huán)境下,若加熱絲直接與電源相接,當(dāng)加熱絲局部短路造成器件過熱或放電時(shí),可能引發(fā)事故。所以必須使用傳感器生產(chǎn)廠家推薦的加熱電壓,使其工作在較安全的范圍內(nèi)。MQ-2型煙霧傳感器加熱電壓為5±0.2V。當(dāng)加熱絲斷路時(shí),由于熱惰性緣故,煙霧傳感器的氣敏特性并不立即消失,此時(shí)檢測(cè)必出現(xiàn)較大的誤差。為避免出現(xiàn)這種情況,并及時(shí)發(fā)現(xiàn)氣敏元件的故障,需要設(shè)計(jì)加熱絲故障診斷報(bào)警電路。
c、MQ-2型傳感器的特性參數(shù)
(1)回路電壓:(Vc) 5~24V
(2)取樣電阻:(RL) 0.1~20K
(3)加熱電壓:(VH)5±0.2V
(4)加熱功率:(P)約750mW
(5)靈敏度:以甲烷為例R0(air)/RS (0.1%CH4)>5
(6)響應(yīng)時(shí)間:Tres<10秒
(7)恢復(fù)時(shí)間:Trec<30秒
3.8電源穩(wěn)壓模塊設(shè)計(jì)
3.8.1 5V電源穩(wěn)壓
為了得到輸出穩(wěn)定的直流電壓,經(jīng)電源適配器輸出的直流電壓必須采取一定的穩(wěn)壓措施才能適合電子設(shè)備的需要。
本設(shè)計(jì)選用固定式三端穩(wěn)壓器。選用LM7805三端正電源穩(wěn)壓電路,輸出穩(wěn)定+5v電壓。它有一系列固定的電壓輸出,應(yīng)用非常的廣泛。每種類型由于內(nèi)部電流的限制,以及過熱保護(hù)和安全工作區(qū)的保護(hù),使它基本上不會(huì)損壞。如果能夠提供足夠的散熱片,它們就能夠提供大于1.5A的輸出電流。雖然是按照固定電壓值來設(shè)定的,但是當(dāng)接入適當(dāng)?shù)耐獠科骷,就能獲得各種不同的電壓和電流。

圖3-14 5V穩(wěn)壓電路圖

LM7805具有如下特點(diǎn):
(1)短路電流230mA,峰值電流2.2A,但是當(dāng)輸出電流超過1.5A時(shí),就需要提供足夠的散熱片;
(2)輸入電壓極限值35v,輸出電壓典型值為5V,最大值5.25V;
(3)熱過載保護(hù);
(4)短路保護(hù);
(5)輸出晶體管安全工作區(qū)保護(hù);
78xx系列在降壓電路中應(yīng)注意以下事項(xiàng):
(1)輸入輸出壓差不能太大,太大則轉(zhuǎn)換效率急速降低,而且容易擊穿損壞;
(2)輸出電流不能太大,1.5A是其極限值。大電流的輸出,散熱片的尺寸要足夠大,否則會(huì)導(dǎo)致高溫保護(hù)或熱擊穿;
(3)輸入輸出壓差也不能太小,大小效率很差。
其中,對(duì)于LM7805:1端為輸入端,2端為公共端,3端為輸出端。其中,正常時(shí),輸入與輸出之間的電壓不得低于1.5v。
電容104用于實(shí)現(xiàn)頻率補(bǔ)償,防止穩(wěn)壓器產(chǎn)生高頻自激和抑制電路引入的高頻干擾。
3.8.2 3.3V電源穩(wěn)壓
NRF24L01要求輸入電壓為1.9~3.6V,推薦電壓為3.3V,因而本系統(tǒng)選用1117-3.3三端穩(wěn)壓器。電路圖如下:

圖3-15 3.3V穩(wěn)壓電路圖



第4章 系統(tǒng)軟件設(shè)計(jì)
4.1系統(tǒng)軟件設(shè)計(jì)
4.1.1主程序設(shè)計(jì)
為了便于系統(tǒng)維護(hù)和功能擴(kuò)充,采用了模塊化程序設(shè)計(jì)方法,系統(tǒng)各個(gè)模塊的具體功能都是通過子程序調(diào)用實(shí)現(xiàn)的。本系統(tǒng)主要包括主程序、溫度數(shù)據(jù)采集子程序、煙霧數(shù)據(jù)采集子程序、火焰信號(hào)采集子程序、火災(zāi)判斷與報(bào)警子程序等。主程序首先對(duì)液晶初始化,對(duì)無(wú)線傳輸模塊進(jìn)行配置,再驗(yàn)證無(wú)線傳輸是否正常,若正常則可對(duì)采集數(shù)據(jù)無(wú)線傳輸,相應(yīng)延時(shí)之后,對(duì)采集數(shù)據(jù)進(jìn)行更新,液晶進(jìn)行顯示。主程序的流程圖如圖4-1所示。

圖4-1主程序流程圖

4.1.2傳感器程序設(shè)計(jì)
傳感器程序設(shè)計(jì)流程圖如圖4-2所示。在主控程序完成初始化以后,傳感器首先對(duì)環(huán)境狀態(tài)進(jìn)行采集,并將采集到的數(shù)據(jù)進(jìn)行處理。程序?qū)μ幚砗蟮臄?shù)據(jù)與當(dāng)前設(shè)定的預(yù)警范圍進(jìn)行比較,當(dāng)采集值超出這一預(yù)警范圍后便會(huì)發(fā)出報(bào)警信號(hào),主控程序?qū)@一報(bào)警信號(hào)處理后發(fā)出聲光報(bào)警信息。

圖4-2 三種傳感器程序流程圖

4.1.3無(wú)線傳輸程序設(shè)計(jì)
無(wú)線模塊之間進(jìn)行通訊需要先對(duì)單片機(jī)進(jìn)行相應(yīng)的初始化,然后根據(jù)程序的處理要求進(jìn)行實(shí)行。
      

圖 4-3無(wú)線傳輸程序流程圖


4.2程序設(shè)計(jì)原理            
軟件任務(wù)分析和硬件電路設(shè)計(jì)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來了。
軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測(cè)量,計(jì)算,顯示,打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。
軟件任務(wù)分析時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。
各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對(duì)來講,執(zhí)行模塊任務(wù)明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個(gè)廠長(zhǎng)就比較難了。
軟件任務(wù)分析的另一個(gè)內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個(gè)系統(tǒng)軟件可分為后臺(tái)程序(背景程序)和前臺(tái)程序。后臺(tái)程序指主程序及其調(diào)用的子程序,這類程序?qū)?shí)時(shí)性要求不是太高,延誤幾十ms甚至幾百ms也沒關(guān)系,故通常將監(jiān)控程序,顯示程序和打印程序等與操作者打交道的程序放在后臺(tái)程序中執(zhí)行;而前臺(tái)程序安排一些實(shí)時(shí)性要求較高的內(nèi)容,如定時(shí)系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺(tái),后臺(tái)程序?yàn)椤笆瓜到y(tǒng)進(jìn)入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。

第5章 系統(tǒng)調(diào)試
5.1硬件調(diào)試
火災(zāi)報(bào)警器的電路系統(tǒng)較大,對(duì)于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出現(xiàn)一處錯(cuò)誤,就會(huì)對(duì)檢測(cè)造成很大麻煩,而且電路的交線較多、焊點(diǎn)稠密,很容易造成短路現(xiàn)象。
在本火災(zāi)報(bào)警器的設(shè)計(jì)調(diào)試中遇到了很多的問題;叵脒@些問題只要認(rèn)真都是可以避免的,以下為主要的問題:
(1)程序調(diào)試初期液晶一直沒有正常顯示。
解決:經(jīng)調(diào)查發(fā)現(xiàn)液晶電路接線錯(cuò)誤,修改之后,液晶顯示正常。
(2)開始時(shí)程序下載后沒有達(dá)到設(shè)計(jì)要求,不能報(bào)警。
解決:檢查、修改報(bào)警模塊電路接線,問題解決,達(dá)到了預(yù)設(shè)要求。
(3)無(wú)線模塊不能正常收發(fā)。
解決:由于未焊接濾波電路,導(dǎo)致無(wú)法正常收發(fā),補(bǔ)焊之后,可以正常運(yùn)行。
5.2軟件調(diào)試
火災(zāi)報(bào)警器是多功能的數(shù)字型設(shè)備,程序較為復(fù)雜,所以在編寫程序和調(diào)試時(shí)出現(xiàn)了相對(duì)較多的問題。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件調(diào)試方面的問題。在軟件的調(diào)試過程中主要遇到的問題如下:
1.屏幕上只顯示部分預(yù)設(shè)信息,其他顯示位置不能正常顯示。
解決:經(jīng)過分析初步確認(rèn)是液晶在顯示時(shí)不能重復(fù)占用同一顯示地址,否則會(huì)亂碼,經(jīng)過修改程序,最終顯示正常。
2.硬件確認(rèn)沒有問題,但是無(wú)線模塊還是不能正常收發(fā)數(shù)據(jù)。
解決:重新檢查無(wú)線收發(fā)模塊程序,對(duì)其程序作出調(diào)整、修改,使得無(wú)線模塊正常收發(fā)數(shù)據(jù)。
5.3調(diào)試結(jié)果
經(jīng)過一系列的問題查找后系統(tǒng)最終能正常工作,并完成所有的功能。調(diào)試結(jié)果如下圖所示。

第6章 結(jié)論與展望
通過這次畢業(yè)設(shè)計(jì),我學(xué)到了不少課本上沒有的知識(shí),也鍛煉了自己的動(dòng)手能力,將以前學(xué)過的零散的知識(shí)串到一起。經(jīng)過我長(zhǎng)時(shí)間的設(shè)計(jì)及調(diào)試,本系統(tǒng)基本能實(shí)現(xiàn)預(yù)設(shè)要求。但由于初步設(shè)計(jì)未能考慮全面,煙霧和火焰信息只能在液晶上顯示到電位變化。不足之處有:1.整體系統(tǒng)不夠人性化,2.系統(tǒng)穩(wěn)定性有待進(jìn)一步提升。
我的綜合設(shè)計(jì)主要涉及硬件和軟件兩方面的內(nèi)容,通過這些我的硬件和軟件開發(fā)能力都獲得了提高。首先,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作。掌握了Proteus原理圖繪制的方法。通過開發(fā)板的設(shè)計(jì)和硬件搭建的過程,使我對(duì)51系單片機(jī)的接口有了更深層次的理解,熟悉了一些單片機(jī)常用的外圍電路引腳和連接方法。并且我學(xué)會(huì)了分析問題解決問題的能力,加深了對(duì)所學(xué)理論知識(shí)的理解和運(yùn)用。我的動(dòng)手能力得到了很大的提高,創(chuàng)新意識(shí)得到了鍛煉。


參考文獻(xiàn)

[1] 薛紀(jì)文等.C語(yǔ)言程序設(shè)計(jì)教程[M].北京:北京郵電大學(xué)出版社,2010年
[2] 康華光.電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006年
[3] 閻石.?dāng)?shù)字電子技術(shù)基礎(chǔ)[M].第五版.北京:高等教育出版社,2004年
[4] 溫宗周.單片機(jī)原理及接口技術(shù)[M].北京:中國(guó)電力出版社,2009年
[5]賴壽宏.微型計(jì)算機(jī)控制技術(shù)[M].北京:機(jī)械工業(yè)出版社,2009年
[6] 李建忠.單片機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué),2002年
[7] 韓志軍等.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2004
[8] 周潤(rùn)景等. Proteus在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例[M].電子工業(yè)出版社,2006年
[9] 馬忠梅等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京航空航天大學(xué)出版社,2006年
[10] 劉樹中等.單片機(jī)和液晶顯示驅(qū)動(dòng)器串行接口的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007年
[11] V. Yu. Teplov,A. V. Anisimov.  Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier Effect[J] ,2002
[12]  Yeager Brent.How to troubleshoot your electronic scale[J].. Powder and Bulk Engineering. 1995
[13] Meehan Joanne,Muir Lindsey.SCM in Merseyside SMEs:Benefits and barriers[J]. TQM Journal. 2008


致  謝

本設(shè)計(jì)在盧嫚老師的悉心指導(dǎo)和嚴(yán)格要求下業(yè)已完成,從課題選擇、方案論證到具體設(shè)計(jì)和調(diào)試,無(wú)不凝聚著盧老師的心血和汗水。在這四年的本科學(xué)習(xí)和生活期間,也始終感受著各位老師的精心指導(dǎo)和無(wú)私的關(guān)懷,我受益匪淺。本設(shè)計(jì)能夠順利的完成,也歸功于各位任課老師的認(rèn)真負(fù)責(zé),使我能夠很好的掌握和運(yùn)用專業(yè)知識(shí),并在設(shè)計(jì)中得以體現(xiàn)。正是有了他們的悉心幫助和支持,才使我的畢業(yè)設(shè)計(jì)順利完成,在此向電氣系老師表示深深的感謝和崇高的敬意。


西安工程大學(xué)

本科畢業(yè)設(shè)計(jì)(論文)

誠(chéng)信聲明


稟承學(xué)校優(yōu)良傳統(tǒng)學(xué)風(fēng),保持我校學(xué)生一貫誠(chéng)信風(fēng)尚,本人鄭重聲明:所呈交畢業(yè)設(shè)計(jì)(論文)是在指導(dǎo)老師的指導(dǎo)下獨(dú)立完成的,無(wú)抄襲和剽竊現(xiàn)象。

特此聲明。



學(xué)生簽名:

指導(dǎo)教師簽名:

日  期:




附  錄
系統(tǒng)整體原理圖

系統(tǒng)源程序
發(fā)送側(cè)部分程序:
  1. #include
  2. #include"24l01.h"
  3. #include"1602.h"
  4. #include"18b20.h"
  5. #include"delay.h"
  6. #include"sensor.h"
  7. void main(void)
  8. {
  9.               uchar i;
  10.               LCD_Init();
  11.               TX_Mode();
  12.               LCD_Str(0,0,"TX");
  13.               while(NRF24L01_Check())   //檢測(cè)24L01
  14.               {
  15.                             LCD_Str(3,0,"Failed!");
  16.                             delay_ms(200);
  17.                             LCD_Str(3,0,"Check! ");
  18.                             delay_ms(200);
  19.               }
  20.               LCD_Str(3,0,"Ready! ");
  21.               delay_ms(500);                                                          //顯示Ready! 500ms后清空顯示
  22.               LCD_Str(3,0,"      ");
  23.               TX_Mode();
  24.               while(1)
  25.               {                           
  26.                             Check_Sensor_Sta( );
  27.                                                         for(i=15;i<18;i++)                                          //發(fā)送傳感器信號(hào)
  28.                                           Buff[i]=SENSOR_STA[i-15]+0x30;
  29.                             Buff[i]='';
  30.                             for(i=0;i<8;i++)                                                           //發(fā)送溫度數(shù)
  31.                             Buff[i]=str[i];                                                                                   
  32.                             Temp_Change(++i);                                         
  33.                             if(NRF24L01_TxPacket(Buff)==TX_OK)
  34.                             {
  35.                                           LCD_Str(12,1,"ok! ");
  36.                                           LCD_Str(3,0,"DO0:");
  37.                                           LCD_Str(0,1,"DO1:");
  38.                                           LCD_Str(6,1,"DO2:");
  39.                                           LCD_Char(7,0,Buff[15]);
  40.                                           LCD_Char(4,1,Buff[16]);
  41.                                           LCD_Char(10,1,Buff[15]);
  42.                             }
  43.                             else
  44.                             {
  45.                                           LCD_Str(12,1,"Fail");
  46.                             }
  47.                             delay_ms(30000);
  48.               }
  49. }
  50. 接受測(cè)部分程序
  51. #include
  52. #include"24l01.h"
  53. #include"1602.h"
  54. #include"delay.h"
  55. #include"warn.h"
  56. #define uint unsigned int
  57. uchar Buff[32];
  58. uchar Num[5];
  59. sbit LED0=P0^0;
  60. void Display_Num(uchar x,uchar y,uint num);
  61. void main(void)
  62. {
  63.               uint t;
  64.               LCD_Init();            
  65.               LCD_Str(0,0,"RX");
  66.               RX_Mode();
  67.               while(NRF24L01_Check())//檢測(cè)不到24L01
  68.               {
  69.                             LCD_Str(3,0,"Failed!");
  70.                             delay_ms(200);
  71.                             LCD_Str(3,0,"Check! ");
  72.                             delay_ms(200);
  73.               }
  74.               LCD_Str(3,0,"Ready! ");
  75.               delay_ms(500);                           
  76.               LCD_Str(3,0,"                    ");
  77.               while(1)
  78.               {
  79.                             if(NRF24L01_RxPacket(Buff)==0)//一旦接收到信息,則顯示出來.
  80.                             {
  81.                                           LCD_Str(9,1,"T:");
  82.                                           LCD_Str(3,0,"DO0:");                                         
  83.                                           LCD_Str(9,0,"DO1:");
  84.                                           LCD_Str(3,1,"DO2:");
  85.                                           LCD_Str(12,1,&Buff[9]);
  86.                                           LCD_Char(7,0,Buff[15]);
  87.                                           LCD_Char(13,0,Buff[16]);
  88.                                           LCD_Char(7,1,Buff[17]);
  89.               if(Buff[15]==48||Buff[16]==48||Buff[17]==48||Buff[9]>=4+0x30)
  90.                                           warn(2);
  91.                             }
  92.                             else delay_ms(1);               
  93.                             t++;
  94.                             if(t==100)//大約1s鐘改變一次狀態(tài)


  95. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

完整論文下載地址(word格式可編輯):



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:460726 發(fā)表于 2019-1-5 11:18 來自觸屏版 | 只看該作者
樓主能發(fā)一下頭文件嗎?急用
回復(fù)

使用道具 舉報(bào)

板凳
ID:460726 發(fā)表于 2019-1-7 21:03 來自觸屏版 | 只看該作者
頭文件能發(fā)一下嗎,不然運(yùn)行不出來
回復(fù)

使用道具 舉報(bào)

地板
ID:481306 發(fā)表于 2019-3-16 22:20 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

5#
ID:505520 發(fā)表于 2019-4-5 22:03 | 只看該作者
樓主最后做實(shí)物了嗎
回復(fù)

使用道具 舉報(bào)

6#
ID:642152 發(fā)表于 2019-11-22 20:33 | 只看該作者
LCD顯示不了呀  溫度煙霧傳感器在工作。。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表