第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)框圖如下圖所示。
1.002.jpg (14.41 KB, 下載次數(shù): 211)
下載附件
2017-4-27 23:49 上傳
圖2-1 發(fā)送側(cè)系統(tǒng)結(jié)構(gòu)框圖
1.003.jpg (7.81 KB, 下載次數(shù): 176)
下載附件
2017-4-27 23:49 上傳
圖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。
1.004.jpg (18.52 KB, 下載次數(shù): 182)
下載附件
2017-4-27 23:49 上傳
圖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í)行速度。
1.005.jpg (24.36 KB, 下載次數(shù): 177)
下載附件
2017-4-27 23:49 上傳
圖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ì)
1.006.jpg (21.61 KB, 下載次數(shù): 185)
下載附件
2017-4-27 23:49 上傳
圖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所示。
1.007.jpg (8.32 KB, 下載次數(shù): 164)
下載附件
2017-4-27 23:49 上傳
圖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ù)。
1.008.jpg (24.1 KB, 下載次數(shù): 161)
下載附件
2017-4-27 23:49 上傳
圖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的電阻。
1.009.jpg (21.58 KB, 下載次數(shù): 171)
下載附件
2017-4-27 23:49 上傳
圖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ù)據(jù)傳輸率為1000kbps下的靈敏度 | | |
| | |
3.3.4 NRF24L01工作方式及工作原理
NRF2401有工作模式有四種:發(fā)送模式,接受模式,空閑模式,掉電模式。工作模式由PWR_UP register 、PRIM_RX register 和CE 決定,詳見表3-2。
表3-2 NRF24L01工作模式
| | | | |
| | | | |
| | | | |
| | | | 停留在發(fā)送模式,直至數(shù)據(jù)發(fā)完 |
| | | | |
| | | | |
| | | | |
工作原理:發(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ā)出聲音。
1.010.jpg (6.21 KB, 下載次數(shù): 160)
下載附件
2017-4-27 23:49 上傳
圖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)警。
1.011.jpg (8.76 KB, 下載次數(shù): 167)
下載附件
2017-4-27 23:49 上傳
圖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部分。
1.012.jpg (17.9 KB, 下載次數(shù): 186)
下載附件
2017-4-27 23:49 上傳
圖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ì)
1.013.jpg (7.42 KB, 下載次數(shù): 168)
下載附件
2017-4-27 23:49 上傳
圖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)就可以獲得這種煙霧存在的信息。
1.014.jpg (15.49 KB, 下載次數(shù): 159)
下載附件
2017-4-27 23:49 上傳
圖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壞傳感器。
1.015.jpg (16.95 KB, 下載次數(shù): 181)
下載附件
2017-4-27 23:49 上傳
圖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ù)耐獠科骷,就能獲得各種不同的電壓和電流。
1.016.jpg (6.13 KB, 下載次數(shù): 173)
下載附件
2017-4-27 23:49 上傳
圖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)壓器。電路圖如下:
1.017.jpg (6.46 KB, 下載次數(shù): 158)
下載附件
2017-4-27 23:49 上傳
圖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所示。
1.018.jpg (24.61 KB, 下載次數(shù): 165)
下載附件
2017-4-27 23:49 上傳
圖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)警信息。
1.019.jpg (30.12 KB, 下載次數(shù): 198)
下載附件
2017-4-27 23:49 上傳
圖4-2 三種傳感器程序流程圖
4.1.3無(wú)線傳輸程序設(shè)計(jì)
無(wú)線模塊之間進(jìn)行通訊需要先對(duì)單片機(jī)進(jìn)行相應(yīng)的初始化,然后根據(jù)程序的處理要求進(jìn)行實(shí)行。
1.020.jpg (12.3 KB, 下載次數(shù): 179)
下載附件
2017-4-27 23:49 上傳
圖 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é)果如下圖所示。
1.021.jpg (32.04 KB, 下載次數(shù): 175)
下載附件
2017-4-27 23:49 上傳
1.022.jpg (39.65 KB, 下載次數(shù): 183)
下載附件
2017-4-27 23:49 上傳
第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)整體原理圖
1.024.jpg (45.22 KB, 下載次數(shù): 238)
下載附件
2017-4-27 23:49 上傳
系統(tǒng)源程序
發(fā)送側(cè)部分程序:
- #include
- #include"24l01.h"
- #include"1602.h"
- #include"18b20.h"
- #include"delay.h"
- #include"sensor.h"
- void main(void)
- {
- uchar i;
- LCD_Init();
- TX_Mode();
- LCD_Str(0,0,"TX");
- while(NRF24L01_Check()) //檢測(cè)24L01
- {
- LCD_Str(3,0,"Failed!");
- delay_ms(200);
- LCD_Str(3,0,"Check! ");
- delay_ms(200);
- }
- LCD_Str(3,0,"Ready! ");
- delay_ms(500); //顯示Ready! 500ms后清空顯示
- LCD_Str(3,0," ");
- TX_Mode();
- while(1)
- {
- Check_Sensor_Sta( );
- for(i=15;i<18;i++) //發(fā)送傳感器信號(hào)
- Buff[i]=SENSOR_STA[i-15]+0x30;
- Buff[i]='';
- for(i=0;i<8;i++) //發(fā)送溫度數(shù)
- Buff[i]=str[i];
- Temp_Change(++i);
- if(NRF24L01_TxPacket(Buff)==TX_OK)
- {
- LCD_Str(12,1,"ok! ");
- LCD_Str(3,0,"DO0:");
- LCD_Str(0,1,"DO1:");
- LCD_Str(6,1,"DO2:");
- LCD_Char(7,0,Buff[15]);
- LCD_Char(4,1,Buff[16]);
- LCD_Char(10,1,Buff[15]);
- }
- else
- {
- LCD_Str(12,1,"Fail");
- }
- delay_ms(30000);
- }
- }
- 接受測(cè)部分程序
- #include
- #include"24l01.h"
- #include"1602.h"
- #include"delay.h"
- #include"warn.h"
- #define uint unsigned int
- uchar Buff[32];
- uchar Num[5];
- sbit LED0=P0^0;
- void Display_Num(uchar x,uchar y,uint num);
- void main(void)
- {
- uint t;
- LCD_Init();
- LCD_Str(0,0,"RX");
- RX_Mode();
- while(NRF24L01_Check())//檢測(cè)不到24L01
- {
- LCD_Str(3,0,"Failed!");
- delay_ms(200);
- LCD_Str(3,0,"Check! ");
- delay_ms(200);
- }
- LCD_Str(3,0,"Ready! ");
- delay_ms(500);
- LCD_Str(3,0," ");
- while(1)
- {
- if(NRF24L01_RxPacket(Buff)==0)//一旦接收到信息,則顯示出來.
- {
- LCD_Str(9,1,"T:");
- LCD_Str(3,0,"DO0:");
- LCD_Str(9,0,"DO1:");
- LCD_Str(3,1,"DO2:");
- LCD_Str(12,1,&Buff[9]);
- LCD_Char(7,0,Buff[15]);
- LCD_Char(13,0,Buff[16]);
- LCD_Char(7,1,Buff[17]);
- if(Buff[15]==48||Buff[16]==48||Buff[17]==48||Buff[9]>=4+0x30)
- warn(2);
- }
- else delay_ms(1);
- t++;
- if(t==100)//大約1s鐘改變一次狀態(tài)
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
完整論文下載地址(word格式可編輯):