第1章 緒 論
1.1 目的和意義
隨著科技的發(fā)展,越來越多的火災隱患由于工業(yè)生產(chǎn)和人們的日常生活而產(chǎn)生。為了早期發(fā)現(xiàn)和通報火災,防止和減少火災危害,保護人身和財產(chǎn)安全,保衛(wèi)社會主義現(xiàn)代化建設,防止火災引起燃燒、爆炸等事故,造成嚴重的經(jīng)濟損失,甚至危及生命安全。
為了減少這類事故的發(fā)生,就必須對煙霧、溫度以及火光進行現(xiàn)場實時檢測,采用先進可靠的安全檢測儀表嚴密監(jiān)測,及早發(fā)現(xiàn)事故隱患,采取有效措施,避免事故發(fā)生,才能確保工業(yè)安全和家庭生活安全。因此,研制火災報警器就成為傳感器技術(shù)發(fā)展領域的一個重要課題。
1.2 研究概況及發(fā)展現(xiàn)狀
探測器朝新探測技術(shù)的發(fā)展進一步拓展了火災檢測的應用領域,為一些傳統(tǒng)檢測技術(shù)無法勝任的環(huán)境提供了有效的手段。相關(guān)技術(shù)的發(fā)展,如傅立葉近紅外光譜技術(shù)弱信號處理技術(shù)、低功耗MCU技術(shù)進一步促進了傳統(tǒng)探測技術(shù)的改進,使得傳統(tǒng)探測器在技術(shù)和性能上有了顯著的提高。火災著極早期探測、多傳感器復合探測和探測器小型化、智能化的方向發(fā)展邁出了更快的步伐。
近幾年來,單片機已逐步深入應用到工農(nóng)業(yè)生產(chǎn)各部門及人們生活的各個方面。各種類型的單片機也根據(jù)社會的需求而開發(fā)出來。單片機是器件級計算機系統(tǒng),實際上它是一個微控制器或微處理器。由于它功能齊全,體積小,成本低,因此它可以應用到任何電子系統(tǒng)中去,同樣,它也可以廣泛應用于報警技術(shù)領域,使各類報警裝置的功能更加完善,可靠性大大提高,以滿足社會發(fā)展的需要。
我國火災報警系統(tǒng)起步較發(fā)達國家晚幾十年,從上世紀 70 年代我國才開始研制生產(chǎn)火災報警系統(tǒng)產(chǎn)品。進入80年代后,國內(nèi)主要廠家也多是模仿國外產(chǎn)品,或是引進國外技術(shù)進行生產(chǎn),沒有真正意義上的核心技術(shù),并且市場也剛剛開始發(fā)育;馂膱缶a(chǎn)品真正發(fā)展是在 90 年代以后,隨著政府逐漸開放國門,國外企業(yè)開始大量進入中國消防市場,帶來先進技術(shù)的同時也促進了市場的成熟。這時期,我國生產(chǎn)火災報警產(chǎn)品的企業(yè)也得到了快速發(fā)展,部分企業(yè)進行了合資生產(chǎn)、技術(shù)合作,取得了不菲的成績,也造就了現(xiàn)今市場上許多有實力的商家,部分技術(shù)已接近或趕上了國際水平。
1.3 本系統(tǒng)主要研究內(nèi)容
本系統(tǒng)設計制作一個基于單片機的火災報警器。包括有以下幾種功能:
(1)由檢測模塊檢測溫度值、煙霧信號和火光信號并通過24L01無線傳輸模塊收發(fā)。
(2)單片機讀取接收到的煙霧傳感器電位變化獲取煙霧信息并在LCD1602上進行顯示。
(3)單片機讀取接收到的火焰?zhèn)鞲衅麟娢蛔兓@取火光信息并在LCD1602上實時顯示。
(4)通過溫度傳感器實時監(jiān)測環(huán)境溫度并在液晶顯示屏上實時顯示。
(5)單片機將接收數(shù)據(jù)與預設值比較判定,若超出預設范圍則驅(qū)動報警電路進行聲光報警。
第2章 總體方案論證與設計
根據(jù)所要實現(xiàn)的功能劃分,系統(tǒng)一共需要以下幾個模塊:主控模塊、顯示模塊、檢測模塊和無線傳輸模塊和聲光報警模塊,以下就針對這幾個模塊的選型和論證進行討論。
2.1主控模塊的選型和論證
方案一:
采用MSP430系列單片機,該單片機是TI公司1996年開始推向市場的一種16位超低功耗的混合信號處理器。其內(nèi)部集成了很多模擬電路、數(shù)字電路和微處理器,提供強大的功能。不過該芯片昂貴不適合一般的設計開發(fā)。
方案二
采用51系列的單片機,該單片機是一個高可靠性,超低價,無法解密,高性能的8位單片機,32個IO口,且STC系列的單片機可以在線編程、調(diào)試,方便地實現(xiàn)程序的下載與整機的調(diào)試。
因此選用方案二中的51系列單片機作為主控芯片。
2.2顯示模塊的選型和論證
方案一:
采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價格雖適中,對于顯示數(shù)字也最合適,而且采用動態(tài)掃描法與單片機連接時,占用單片機口線少。但是由于數(shù)碼管動態(tài)掃描需要借助74LS164移位寄存器進行移位,該芯片在電路調(diào)試時往往有很多障礙,所以不采用LED數(shù)碼管作為顯示。
方案二:
采用LCD液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示多樣,清晰可見,對于本設計而言一個LCD1602的液晶顯示屏即可,價格也還能接受,需要的接口線較多,但會給調(diào)試帶來諸多方便。
所以本設計中方案二中的LCD1602液顯示屏作為顯示模塊。
2.3溫度檢測模塊的選型和論證
方案一:
AD590是美國ANALOG DEVICES公司的單片集成兩端感溫電流源,其輸出電流與絕對溫度成比例。在4 V至30 V電源電壓范圍內(nèi),該器件可充當一個高阻抗、恒流調(diào)節(jié)器,調(diào)節(jié)系數(shù)為1 μA/K。片內(nèi)薄膜電阻經(jīng)過激光調(diào)整,可用于校準器件,使該器件在298.2K (25°C)時輸出298.2 μA電流。由于該芯片輸出為模擬量還同時需要AD轉(zhuǎn)換器對其進行采集。因此不適用于本設計。
方案二:
DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應用場合的不同而改變其外觀。封裝后的DS18B20可用于各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設備數(shù)字測溫和控制領域。
因此本設計采用方案二中的DS18B20芯片進行溫度采集。
2.4 無線傳輸模塊的選型和論
方案一:
NRF905是美國Nordic VLSI公司設計而成,體積小,傳輸距離遠,同時抗干擾能力強,通信穩(wěn)定,且為微功率模塊。
方案二:
NRF24L01具有NRF905基本特點,并且成本更低,編程更加容易。
因此本設計選擇方案二中的NRF24L01模塊進行無線傳輸。
2.5系統(tǒng)整體設計概述
本系統(tǒng)以單片機為控制核心,對系統(tǒng)進行初始化,主要完成對火光、煙霧信號的采集、液晶顯示、測溫且由無線收發(fā)模塊傳輸采集數(shù)據(jù)等功能的控制,起到總控和協(xié)調(diào)各模塊之間工作的作用。
根據(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)由兩部分組成分別是火災檢測部分和火災報警部分,通過調(diào)整煙霧傳感器的靈敏度來控制煙霧濃度的上限值,通過程序設定溫度值的上限,當超過濃度后,或者溫度超過后,單片機會進行聲光報警。
第3章 系統(tǒng)硬件電路設計
3.1主控模塊
主控模塊模塊在整個系統(tǒng)中起著統(tǒng)籌的作用,需要檢測鍵盤,時間檢測、煙霧濃度檢測、語音報警等功能,同時驅(qū)動液晶顯示相關(guān)參數(shù),在這里我們選用了51系列單片機中的STC89C52單片機作為系統(tǒng)的主控芯片。
51系列單片機最初是由Intel 公司開發(fā)設計的,但后來Intel 公司把51 核的設計方案賣給了幾家大的電子設計生產(chǎn)商,譬如SST、Philip、Atmel 等大公司。因此市面上出現(xiàn)了各式各樣的均以51 為內(nèi)核的單片機。這些各大電子生產(chǎn)商推出的單片機都兼容51 指令、并在51 的基礎上擴展一些功能而內(nèi)部結(jié)構(gòu)是與51一致的。
STC89C52有40個引腳,4個8位并行I/O口,1個全雙工異步串行口,同時內(nèi)含5個中斷源,2個優(yōu)先級,2個16位定時/計數(shù)器。STC89C52的存儲器系統(tǒng)由4K的程序存儲器(掩膜ROM),和128B的數(shù)據(jù)存儲器(RAM)組成。
STC89C52單片機的基本組成框圖見圖3-1。
1.004.jpg (18.52 KB, 下載次數(shù): 182)
下載附件
2017-4-27 23:49 上傳
圖3-1 STC89C52單片機結(jié)構(gòu)圖
3.1.1 STC89C52單片機主要特性
1. 一個8 位的微處理器(CPU)。
2. 片內(nèi)數(shù)據(jù)存儲器RAM(128B),用以存放可以讀/寫的數(shù)據(jù),如運算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等,SST89 系列單片機最多提供1K 的RAM。
3. 片內(nèi)程序存儲器ROM(4KB),用以存放程序、一些原始數(shù)據(jù)和表格。但也有一些單片機內(nèi)部不帶ROM/EPROM,如8031,8032,80C31 等。目前單片機的發(fā)展趨勢是將RAM 和ROM 都集成在單片機里面,這樣既方便了用戶進行設計又提高了系統(tǒng)的抗干擾性。SST 公司推出的89 系列單片機分別集成了16K、32K、64K Flash 存儲器,可供用戶根據(jù)需要選用。
4. 四個8 位并行I/O 接口P0~P3,每個口既可以用作輸入,也可以用作輸出。
5. 兩個定時器/計數(shù)器,每個定時器/計數(shù)器都可以設置成計數(shù)方式,用以對外部事件進行計數(shù),也可以設置成定時方式,并可以根據(jù)計數(shù)或定時的結(jié)果實現(xiàn)計算機控制。為方便設計串行通信,目前的52 系列單片機都會提供3 個16 位定時器/計數(shù)器。
6. 五個中斷源的中斷控制系統(tǒng),F(xiàn)在新推出的單片機都不只5 個中斷源,例如SST89E58RD 就有9 個中斷源。
7. 一個全雙工UART(通用異步接收發(fā)送器)的串行I/O 口,用于實現(xiàn)單片機之間或單機與微機之間的串行通信。
8. 片內(nèi)振蕩器和時鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD 最高允許振蕩頻率達40MHz,因而大大的提高了指令的執(zhí)行速度。
1.005.jpg (24.36 KB, 下載次數(shù): 177)
下載附件
2017-4-27 23:49 上傳
圖3-2 STC89C52單片機管腳圖
部分引腳說明:
1.時鐘電路引腳XTAL1 和XTAL2:
XTAL2(18 腳):接外部晶體和微調(diào)電容的一端;片內(nèi)它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時鐘電路時,該引腳輸入外部時鐘脈沖。
要檢查振蕩電路是否正常工作,可用示波器查看XTAL2 端是否有脈沖信號輸出。
XTAL1(19 腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它是振蕩電路反相放大器的輸入端。在采用外部時鐘時,該引腳必須接地。
2.控制信號引腳RST,ALE,PSEN 和EA:
RST/VPD(9 腳):RST 是復位信號輸入端,高電平有效。當此輸入端保持備用電源的輸入端。當主電源Vcc 發(fā)生故障,降低到低電平規(guī)定值時,將+5V 電源自動兩個機器周期(24個時鐘振蕩周期)的高電平時,就可以完成復位操作。RST 引腳的第二功能是VPD,即接入RST 端,為RAM 提供備用電源,以保證存儲在RAM 中的信息不丟失,從而合復位后能繼續(xù)正常運行。
ALE/PROG(30 腳):地址鎖存允許信號端。當8051 上電正常工作后,ALE 引腳不斷向外輸出正脈沖信號,此頻率為振蕩器頻率fOSC 的1/6。CPU 訪問片外存儲器時,ALE 輸出信號作為鎖存低8 位地址的控制信號。
平時不訪問片外存儲器時,ALE 端也以振蕩頻率的1/6 固定輸出正脈沖,因而ALE 信號可以用作對外輸出時鐘或定時信號。如果想確定8051/8031 芯片的好壞,可用示波器查看ALE端是否有脈沖信號輸出。如有脈沖信號輸出,則8051/8031 基本上是好的。
ALE 端的負載驅(qū)動能力為8 個LS 型TTL(低功耗甚高速TTL)負載。
此引腳的第二功能PROG 在對片內(nèi)帶有4KB EPROM 的8751 編程寫入(固化程序)時,作為編程脈沖輸入端。
PSEN(29 腳):程序存儲允許輸出信號端。在訪問片外程序存儲器時,此端定時輸出負脈沖作為讀片外存儲器的選通信號。此引肢接EPROM的OE 端(見后面幾章任何一個小系統(tǒng)硬件圖)。PSEN 端有效,即允許讀出EPROM/ROM 中的指令碼。PSEN 端同樣可驅(qū)動8 個LS 型TTL 負載。要檢查一個8051/8031 小系統(tǒng)上電后CPU 能否正常到EPROM/ROM 中讀取指令碼,也可用示波器看PSEN 端有無脈沖輸出。如有則說明基本上工作正常。
EA/Vpp(31 腳):外部程序存儲器地址允許輸入端/固化編程電壓輸入端。當EA 引腳接高電平時,CPU只訪問片內(nèi)EPROM/ROM并執(zhí)行內(nèi)部程序存儲器中的指令,但當PC(程序計數(shù)器)的值超過0FFFH(對8751/8051 為4K)時,將自動轉(zhuǎn)去執(zhí)行片外程序存儲器內(nèi)的程序。當輸入信號EA 引腳接低電平(接地)時,CPU 只訪問外部EPROM/ROM 并執(zhí)行外部程序存儲器中的指令,而不管是否有片內(nèi)程序存儲器。對于無片內(nèi)ROM 的8031或8032,需外擴EPROM,此時必須將EA 引腳接地。此引腳的第二功能是Vpp 是對8751 片內(nèi)EPROM固化編程時,作為施加較高編程電壓(一般12V~21V)的輸入端。
3.輸入/輸出端口P0/P1/P2/P3:
P0口(P0.0~P0.7,39~32 腳):P0口是一個漏極開路的8 位準雙向I/O口。作為漏極開路的輸出端口,每位能驅(qū)動8 個LS 型TTL 負載。當P0 口作為輸入口使用時,應先向口鎖存器(地址80H)寫入全1,此時P0 口的全部引腳浮空,可作為高阻抗輸入。作輸入口使用時要先寫1,這就是準雙向口的含義。在CPU 訪問片外存儲器時,P0口分時提供低8 位地址和8 位數(shù)據(jù)的復用總線。在此期間,P0口內(nèi)部上拉電阻有效。
P1口(P1.0~P1.7,1~8 腳):P1口是一個帶內(nèi)部上拉電阻的8 位準雙向I/O口。P1口每位能驅(qū)動4 個LS 型TTL 負載。在P1口作為輸入口使用時,應先向P1口鎖存地址(90H)寫入全1,此時P1口引腳由內(nèi)部上拉電阻拉成高電平。
P2口(P2.0~P2.7,21~28 腳):P2口是一個帶內(nèi)部上拉電阻的8 位準雙向I/O口。P口每位能驅(qū)動4個LS 型TTL 負載。在訪問片外EPROM/RAM 時,它輸出高8 位地址。
P3口(P3.0~P3.7,10~17 腳):P3口是一個帶內(nèi)部上拉電阻的8 位準雙向I/O口。P3口每位能驅(qū)動4個LS型TTL負載。P3口與其它I/O 端口有很大的區(qū)別,它的每個引腳都有第二功能,如下:
P3.0:(RXD)串行數(shù)據(jù)接收。
P3.1:(RXD)串行數(shù)據(jù)發(fā)送。
P3.2:(INT0#)外部中斷0輸入。
P3.3:(INT1#)外部中斷1輸入。
P3.4:(T0)定時/計數(shù)器0的外部計數(shù)輸入。
P3.5:(T1)定時/計數(shù)器1的外部計數(shù)輸入。
P3.6:(WR#)外部數(shù)據(jù)存儲器寫選通。
P3.7:(RD#)外部數(shù)據(jù)存儲器讀選通。
3.1.2 STC89C52單片機的中斷系統(tǒng)
STC89C52系列單片機的中斷系統(tǒng)有5個中斷源,2個優(yōu)先級,可以實現(xiàn)二級中斷服務嵌套。由片內(nèi)特殊功能寄存器中的中斷允許寄存器IE控制CPU是否響應中斷請求;由中斷優(yōu)先級寄存器IP安排各中斷源的優(yōu)先級;同一優(yōu)先級內(nèi)各中斷同時提出中斷請求時,由內(nèi)部的查詢邏輯確定其響應次序。
在單片機應用系統(tǒng)中,常常會有定時控制需求,如定時輸出、定時檢測、定時掃描等;也經(jīng)常要對外部事件進行計數(shù)。STC89C52單片機內(nèi)集成有兩個可編程的定時/計數(shù)器:T0和T1,它們既可以工作于定時模式,也可以工作于外部事件計數(shù)模式,此外,T1還可以作為串行口的波特率發(fā)生器。
3.1.3 單片機最小系統(tǒng)設計
1.006.jpg (21.61 KB, 下載次數(shù): 185)
下載附件
2017-4-27 23:49 上傳
圖3-3 單片機最小系統(tǒng)電路圖
圖3-3為單片機最小系統(tǒng)電路圖,單片機最小系統(tǒng)有單片機、時鐘電路、復位電路組成,時鐘電路選用了12MHZ的晶振提供時鐘,作用為給單片機提供一個時間基準,其中執(zhí)行一條基本指令需要的時間為一個機器周期,單片機的復位電路,按下復位按鍵之后可以使單片機進入剛上電的起始狀態(tài)。圖中10K排阻為P0口的上拉電阻,由于P0口跟其他IO結(jié)構(gòu)不一樣為漏極開路的結(jié)構(gòu),因此要加上拉電阻才能正常使用。
3.2 LCD液晶顯示器簡介
由于本設計中要求顯示界面顯示一些參數(shù),因此這里選用了LCD1602作為界面顯示,可以把一些相關(guān)的參數(shù)進行顯示。
3.2.1 液晶原理介紹
液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應用在便攜式電腦、數(shù)字攝像機、PDA移動通信工具等眾多領域。
顯示接口用來顯示系統(tǒng)的狀態(tài),命令或采集的電壓數(shù)據(jù)。本系統(tǒng)顯示部分用的是LCD液晶模塊,采用一個16×2的字符型液晶顯示模塊。
點陣圖形式液晶由 M 行×N 列個顯示單元組成,假設 LCD 顯示屏有64行,每行有 128列,每 8列對應 1 個字節(jié)的 8 個位,即每行由 16 字節(jié),共 16×8=128個點組成,屏上 64×16 個顯示單元和顯示 RAM 區(qū) 1024 個字節(jié)相對應,每一字節(jié)的內(nèi)容和屏上相應位置的亮暗對應。一個字符由 6×8 或 8×8點陣組成,即要找到和屏上某幾個位置對應的顯示 RAM區(qū)的 8 個字節(jié),并且要使每個字節(jié)的不同的位為‘1’,其它的為‘0’,為‘1’的點亮,為‘0’的點暗,這樣一來就組成某個字符。但對于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可讓控制器工作在文本方式,根據(jù)在LCD 上開始顯示的行列號及每行的列數(shù)找出顯示 RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。
3.2.2液晶模塊簡介
LCD1602液晶模塊采用HD44780控制器,hd44780具有簡單而功能較強的指令集,可以實現(xiàn)字符移動,閃爍等功能,LM016L與單片機MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)忙標志(BF),顯示數(shù)RAM(DDRAM),字符發(fā)生器ROMA(CGOROM)字符發(fā)生器RAM(CGRAM),地址計數(shù)器RAM(AC)。IR用于寄存指令碼,只能寫入不能讀出,DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時,液晶模塊處于內(nèi)部模式,不響應外部操作指令和接受數(shù)據(jù),DDTAM用來存儲顯示的字符,能存儲80個字符碼,CGROM由8位字符碼生成5*7點陣字符160中和5*10點陣字符32種.8位字符編碼和字符的對應關(guān)系, CGRAM是為用戶編寫特殊字符留用的,它的容量僅64字節(jié),可以自定義8個5*7點陣字符或者4個5*10點陣字符,AC可以存儲DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動把地址碼裝入AC,同時選擇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為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。
第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。
第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù)。
第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
第15腳:背光源正極。
第16腳:背光源負極。
3.2.3液晶顯示部分與STC89C52的接口
如圖3-5所示。用STC89C52的P0口作為數(shù)據(jù)線,用P2.2、P2.3、P2.7分別作為LCD的RS 、RW、EN。其中EN是下降沿觸發(fā)的片選信號,RW是讀寫信號,RS是寄存器選擇信號本模塊設計要點如下:顯示模塊初始化:首先清屏,再設置接口數(shù)據(jù)位為8位,顯示行數(shù)為1行,字型為5×7點陣,然后設置為整體顯示,取消光標和字體閃爍,最后設置為正向增量方式且不移位。向LCD的顯示緩沖區(qū)中送字符,程序中采用2個字符數(shù)組,一個顯示字符,另一個顯示電壓數(shù)據(jù),要顯示的字符或數(shù)據(jù)被送到相應的數(shù)組中,完成后再統(tǒng)一顯示.首先取一個要顯示的字符或數(shù)據(jù)送到LCD的顯示緩沖區(qū),程序延時2.5ms,判斷是否夠顯示的個數(shù),不夠則地址加一取下一個要顯示的字符或數(shù)據(jù)。
1.008.jpg (24.1 KB, 下載次數(shù): 161)
下載附件
2017-4-27 23:49 上傳
圖3-5 LCD1602與STC89C52的接口
3.3無線傳輸模塊簡介
本設計的核心是通過無線收發(fā)模塊NRF24L01發(fā)送檢測到的數(shù)據(jù),并在接收端進行實時顯示,在火災發(fā)生時進行聲光報警。NRF24L01 是一款工作在2.4~2.5GHz 世界通用ISM 頻段的單片無線收發(fā)器芯片。無線收發(fā)器包括:頻率發(fā)生器、增強型SchockBurstTM 模式控制器、功率放大器、晶體振蕩器、調(diào)制器、解調(diào)器。輸出功率、頻道選擇和協(xié)議的設置可以通過SPI 接口進行設置。它具有極低的電流消耗:當工作在發(fā)射模式下發(fā)射功率為-6dBm 時電流消耗為9mA,接收模式時為12.3mA。掉電模式和待機模式下電流消耗更低。
3.3.1模塊性能及特點
(1)2.4GHz全球開放ISM頻段免許可證使用;
(2最高工作速率2Mbps,高效GFSK調(diào)制,抗干擾能力強,特別適合工業(yè)控制場合;
(3)125頻道,滿足多點通信和跳頻通信需要;
(4)內(nèi)置硬件CRC 檢錯和點對多點通信地址控制 ;
(5)低功耗1.9-3.6V工作,待機模式下狀態(tài)為22uA;掉電模式下為900nA ;
(6)模塊可軟件設地址,只有收到本機地址時才會輸出數(shù)據(jù)(提供中斷指示),可直接接各種單片機使用,軟件編程非常方便;
(7)標準 5*2 DIP間距接口,便于嵌入式應用 ;
(8)工作于 Enhanced Shock Burst,具有可選的內(nèi)置包應答機制,極大的降低丟包率;
(9)NRF24L01配PCB內(nèi)置天線,無阻擋傳輸距離20-50米。
(10)與51系列單片機P0口連接時候,需要加10K的上拉電阻,與其余口連接不需要。
(11)其他系列的單片機,如果是5V的,請參考該系列單片機IO口輸出電流大小,如果超過10mA,需要串聯(lián)電阻分壓,否則容易燒毀模塊。如果是3.3V的,可以直接和RF24L01模塊的IO口線連接。比如AVR系列單片機如果是5V的,一般串接2K的電阻。
1.009.jpg (21.58 KB, 下載次數(shù): 171)
下載附件
2017-4-27 23:49 上傳
圖3-6 無線傳輸模塊原理圖
3.3.2 NRF24L01應用領域
無線鼠標,鍵盤,游戲機操縱桿,無線數(shù)據(jù)通訊,無線門禁,安防系統(tǒng),遙控裝置,遙感勘測,智能運動設備,工業(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ù)時,首先將NRF24L01配置為發(fā)射模式:接著把接收節(jié)點地址TX_ADDR和有效數(shù)據(jù)TX_PLD按照時序由SPI口寫入NRF24L01緩存區(qū),TX_PLD必須在CSN為低時連續(xù)寫入,而TX_ADDR在發(fā)射時寫入一次即可,然后CE置為高電平并保持至少10μs,延遲130μs后發(fā)射數(shù)據(jù);若自動應答開啟,那么NRF24L01在發(fā)射數(shù)據(jù)后立即進入接收模式,接收應答信號(自動應答接收地址應該與接收節(jié)點地址TX_ADDR一致)。如果收到應答,則認為此次通信成功,TX_DS置高,同時TX_PLD從TX FIFO中清除;若未收到應答,則自動重新發(fā)射該數(shù)據(jù)(自動重發(fā)已開啟),若重發(fā)次數(shù)(ARC)達到上限,MAX_RT置高,TX FIFO中數(shù)據(jù)保留以便再次重發(fā);MAX_RT或TX_DS置高時,使IRQ變低,產(chǎn)生中斷,通知MCU。最后發(fā)射成功時,若CE為低則NRF24L01進入空閑模式1;若發(fā)送堆棧中有數(shù)據(jù)且CE為高,則進入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且CE為高,則進入空閑模式2。
接收數(shù)據(jù)時,首先將NRF24L01配置為接收模式,接著延遲130μs進入接收狀態(tài)等待數(shù)據(jù)的到來。當接收方檢測到有效的地址和CRC時,就將數(shù)據(jù)包存儲在RX FIFO中,同時中斷標志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。若此時自動應答開啟,接收方則同時進入發(fā)射狀態(tài)回傳應答信號。最后接收成功時,若CE變低,則NRF24L01進入空閑模式1。
3.4聲光報警模塊設計
安全情況下,三色燈熄滅,喇叭無聲;一旦監(jiān)測到發(fā)生火災,即觸發(fā)報警器進入報警狀態(tài),三色燈循環(huán)閃爍,喇叭發(fā)出警報聲。
3.4.1蜂鳴器報警
聲音報警電路如下圖所示。由于蜂鳴器的工作電流一般比較大,以致于單片機的I/O口是無法直接驅(qū)動的,所以要利用放大電路來驅(qū)動,一般使用三極管來放大電流就可以了。聲報警電路由單片機的P20引腳進行控制,當P2.0輸出的電平為低電平時,三極管導通,蜂鳴器的電流形成回路,發(fā)出聲音報警;否則,三極管截止,蜂鳴器不發(fā)出聲音。
1.010.jpg (6.21 KB, 下載次數(shù): 160)
下載附件
2017-4-27 23:49 上傳
圖3-7 蜂鳴器報警電路
3.4.2燈光報警
光報警電路路如圖3.5,由單片機的P2.1、P3.4、P3.5口進行控制,分別控制3個發(fā)光二極管,予以光報警,如圖所示。當監(jiān)測到火災發(fā)生時,單片機控制的三個端口循環(huán)依次輸出低電平時,對應的信號燈便會循環(huán)閃爍發(fā)出光報警。
1.011.jpg (8.76 KB, 下載次數(shù): 167)
下載附件
2017-4-27 23:49 上傳
圖3-8 燈光報警電路
3.5溫度檢測模塊設計
本設計還帶有一個溫度檢測的功能,系統(tǒng)可以通過讀取DS18B20的溫度數(shù)據(jù)并在LCD1602上顯示,當系統(tǒng)監(jiān)測到火災發(fā)生時,會驅(qū)動聲光報警系統(tǒng)報警。
3.5.1溫度傳感器工作原理
DALLAS 最新單線數(shù)字溫度傳感器DS18B20是一種新型的“一線器件”,其體積更小、更適用于多種場合、且適用電壓更寬、更經(jīng)濟。DALLAS半導體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。溫度測量范圍為-55~+125攝氏度,可編程為9位~12 位轉(zhuǎn)換精度,測溫分辨率可達0.0625攝氏度,分辨率設定參數(shù)以及用戶設定的報警溫度存儲在EEPROM 中,掉電后依然保存。被測溫度用符號擴展的16位數(shù)字量方式串行輸出;其工作電源既可以在遠端引入,也可以采用寄生電源方式產(chǎn)生;多個DS18B20可以并聯(lián)到3 根或2 根線上,CPU只需一根端口線就能與諸多DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。
DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。 DS18B20測溫原理:低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預置在-55℃所對應的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當計數(shù)器1的預置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。
DS18B20有4個主要的數(shù)據(jù)部件:
a. 光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。
b. DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以 0.0625℃/LSB形式表達,其中S為符號位。
c. DS18B20溫度傳感器的存儲器 DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的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,用于存儲用戶設定溫度上下限值的TH和TL觸發(fā)器,存儲與控制邏輯,8位循環(huá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使用中的注意事項
DS18B20 雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點,但在實際應用中也應注意以下幾方面的問題:
1)DS18B20 從測溫結(jié)束到將溫度值轉(zhuǎn)換成數(shù)字量需要一定的轉(zhuǎn)換時間,這是必須保證的,不然會出現(xiàn)轉(zhuǎn)換錯誤的現(xiàn)象,使溫度輸出總是顯示85。
2)在實際使用中發(fā)現(xiàn),應使電源電壓保持在5V 左右,若電源電壓過低,會使所測得的溫度精度降低。
3)較小的硬件開銷需要相對復雜的軟件進行補償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS1820進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進行系統(tǒng)程序設計時,對DS1820操作部分最好采用匯編語言實現(xiàn)。
4)在DS18B20的有關(guān)資料中均未提及單總線上所掛DS18B20 數(shù)量問題,容易使人誤認為可以掛任意多個DS18B20,在實際應用中并非如此,當單總線上所掛DS18B20 超過8 個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設計時要加以注意。
5)在DS18B20測溫程序設計中,向DS18B20 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20 接觸不好或斷線,當程序讀該DS18B20 時,將沒有返回信號,程序進入死循環(huán),這一點在進行DS18B20硬件連接和軟件設計時也要給予一定的重視。
3.5.3 DS18B20硬件電路設計
1.013.jpg (7.42 KB, 下載次數(shù): 168)
下載附件
2017-4-27 23:49 上傳
圖3-11 DS18B20溫度檢測電路設計
圖3-16為DS18B20的硬件設計電路圖,其中DQ口為該芯片的數(shù)據(jù)口,單片機通過讀取改口的信息可以得出實時的溫度值,由于DS18B20是單線通信,即發(fā)送和接收都是通過通信腳來進行。其接收時高阻輸入,其發(fā)送時是開漏輸出,即輸出0時通過三極管下拉為低電平,而輸出1時,則為高阻,需要外接上拉電阻將其拉為高電平,因此是需要外接上拉電阻,否則無法輸出1。
3.6煙霧傳感器模塊介紹
3.6.1煙霧檢測報警器設計思路
此次設計是針對于單片機原理及其應用展開的。其中包含了大學四年中所學到的相關(guān)知識,運用所學的傳感器技術(shù),單片機技術(shù)去設計基于單片機的煙霧報警系統(tǒng)。煙霧報警器的最基本組成部分包括:煙霧傳感電路、模數(shù)轉(zhuǎn)換電路、單片機控制電路。單片機緊緊聯(lián)系著傳感器和報警電路設備,給煙霧報警器設定一個值,當外界環(huán)境達到預先設定的數(shù)值時,煙霧傳感器把被測的物理量作為輸入?yún)?shù),轉(zhuǎn)換為電量輸出。為了簡化整個系統(tǒng)的設計在本設計中不采用前置放大器而是選擇數(shù)值符合A/D轉(zhuǎn)換器的輸入等級。模數(shù)轉(zhuǎn)換電路將從煙霧傳感電路送出的模擬信號轉(zhuǎn)換成單片機可識別的數(shù)字信號后送入單片機。這里選擇單片機的P1.0為輸入方式,接收到信號的單片機經(jīng)過程序的設定會由P2.0作為單片機的輸出電路,單片機對該數(shù)字信號進行濾波處理,并對處理后的數(shù)據(jù)進行分析,是否大于或等于某個預設值,如果大于則啟動報警電路發(fā)出報警聲音,反之則為正常狀態(tài)。煙霧傳感器及單片機是可燃煙霧檢測報警器的兩大核心,根據(jù)報警器功能的需要,選擇合適、精確、經(jīng)濟的煙霧傳感器及單片機芯片是至關(guān)重要的。
3.6.2 MQ-2型煙霧傳感器的工作原理
半導體煙霧傳感器包括用氧化物半導體陶瓷材料作為敏感體制作的煙霧傳感器以及用單晶半導體器件制作的煙霧傳感器。按敏感機理分類,可分為電阻型和非電阻型。半導體氣敏元件也有N型和P型之分。N型在檢測時阻值隨煙霧濃度的增大而減。籔型阻值隨煙霧濃度的增大而增大。
本設計中采用的MQ-2型煙霧傳感器屬于二氧化錫半導體氣敏材料,屬于表面離子式N型半導體[7]。當處于200~300°C溫度時,二氧化錫吸附空氣中的氧,形成氧的負離子吸附,使半導體中的電子密度減少,從而使其電阻值增加。當與煙霧接觸時,如果晶粒間界處的勢壘受到該煙霧的調(diào)制而變化,就會引起表而電導率的變化。利用這一點就可以獲得這種煙霧存在的信息。
1.014.jpg (15.49 KB, 下載次數(shù): 159)
下載附件
2017-4-27 23:49 上傳
圖3-12 煙霧傳感器原理圖
傳感器在感煙時,當監(jiān)測電離室遇到可燃煙霧時,原來吸附的氧脫附,而由可燃煙霧以正離子狀態(tài)吸附在二氧化錫半導體表面;氧脫附放出電子,煙霧以正離子狀態(tài)吸附也要放出電子,從而使二氧化錫半導體導帶電子密度增加,電阻值下降[8]。而當空氣中沒有煙霧時,二氧化錫半導體又會自動恢復氧的負離子吸附,使電阻值升高到初始狀態(tài)。
3.7 火焰?zhèn)鞲衅髂K介紹
火焰?zhèn)鞲衅魇菍iT用來檢測火源的傳感器,當然火焰?zhèn)鞲衅饕部梢杂脕頇z測光線的亮度,只是本傳感器對火焰特別靈敏;鹧?zhèn)鞲衅骼眉t外線對對火焰非常敏感的特點,使用特制的紅外線接受管來檢測火焰,然后把火焰的亮度轉(zhuǎn)化為高低變化的電平信號,輸入到中央處理器中,中央處理器根據(jù)信號的變化做出相應的程序處理。
3.7.1火焰?zhèn)鞲衅饔猛?/div>
各種火焰、火源探測。
3.7.2火焰?zhèn)鞲衅髂K特
1.可以檢測火焰或者波長在760納米~1100納米范圍內(nèi)的光源,打火機測試火焰2.距離為80cm,對火焰越大,測試距離越遠;
3.探測角度60度左右,對火焰光譜特別靈敏;
4.靈敏度可調(diào);
5.比較器輸出,信號干凈,波形好,驅(qū)動能力強,超過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)鞲衅鲗鹧孀蠲舾,對普通光也是有反應的,一般用做火焰報警等用途?/div>
2.小板輸出接口可以與單片機IO口直接相連;
3.傳感器與火焰要保持一定距離,以免高溫損壞傳感器。
1.015.jpg (16.95 KB, 下載次數(shù): 181)
下載附件
2017-4-27 23:49 上傳
圖3-13火焰?zhèn)鞲衅髟韴D
火焰?zhèn)鞲衅骼眉t外線對火焰非常敏感的特點,使用特制的紅外線發(fā)射管來檢測火焰,然后把火焰的亮度轉(zhuǎn)化為高低變化的電平信號,輸入到單片機,單片機根據(jù)信號的變化做出相應的程序處理。
3.6.3 MQ-2型傳感器的特性
a、MQ-2型傳感器的主要特點
MQ-2型傳感器主要有三個特點:
(1)對天然氣、液化石油氣等煙霧有很高的靈敏度,尤其對烷類煙霧更為敏感。
(2)具有良好的重復性和長期的穩(wěn)定性。初始穩(wěn)定,響應時間短,長時間工作性能好。
(3)具有良好的抗干擾性,可準確排除有刺激性非可燃性煙霧的干擾信息,例如酒精和煙霧等。
b、MQ-2型傳感器的基本特性
MQ-2型傳感器的基本特性包括靈敏度特性、初期穩(wěn)定特性、加熱特性。
(1)靈敏度特性:煙霧傳感器在最佳工作條件下,接觸同一種煙霧,其電阻值RS隨氣體濃度變化的特性稱之為靈敏度特性,用K表示。K=RS / R0 (2-1)式中,R0為煙霧傳感器潔凈空氣條件下的電阻值[9],RS為煙霧傳感器在一定濃度的檢測煙霧中的電阻值 。
(2)初期穩(wěn)定特性:半導體煙霧傳感器在不通電狀態(tài)存放一段時間后,再通電時,器件并不能立即投入正常工作。這是因為煙霧傳感器中的二氧化錫在不通電的狀態(tài)下會吸附空氣中的水蒸氣,當再次通電時需要預熱幾分鐘使水蒸氣蒸發(fā)后,氣敏電阻才能正常工作。再通電工作時氣敏電阻值達到穩(wěn)定時所需要的時間,定義為初期穩(wěn)定時間。一般情況下,不通電時間越長,初期穩(wěn)定時間也越長,當不通電存放時間達到15天左右時,初期穩(wěn)定時間一般需要5分鐘左右。
(3)加熱特性:半導體煙霧傳感器一般要在較高的溫度(200~450°C)下工作,所以需要對其加熱。由于傳感器一般工作在易燃易爆環(huán)境下,若加熱絲直接與電源相接,當加熱絲局部短路造成器件過熱或放電時,可能引發(fā)事故。所以必須使用傳感器生產(chǎn)廠家推薦的加熱電壓,使其工作在較安全的范圍內(nèi)。MQ-2型煙霧傳感器加熱電壓為5±0.2V。當加熱絲斷路時,由于熱惰性緣故,煙霧傳感器的氣敏特性并不立即消失,此時檢測必出現(xiàn)較大的誤差。為避免出現(xiàn)這種情況,并及時發(fā)現(xiàn)氣敏元件的故障,需要設計加熱絲故障診斷報警電路。
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)響應時間:Tres<10秒
(7)恢復時間:Trec<30秒
3.8電源穩(wěn)壓模塊設計
3.8.1 5V電源穩(wěn)壓
為了得到輸出穩(wěn)定的直流電壓,經(jīng)電源適配器輸出的直流電壓必須采取一定的穩(wěn)壓措施才能適合電子設備的需要。
本設計選用固定式三端穩(wěn)壓器。選用LM7805三端正電源穩(wěn)壓電路,輸出穩(wěn)定+5v電壓。它有一系列固定的電壓輸出,應用非常的廣泛。每種類型由于內(nèi)部電流的限制,以及過熱保護和安全工作區(qū)的保護,使它基本上不會損壞。如果能夠提供足夠的散熱片,它們就能夠提供大于1.5A的輸出電流。雖然是按照固定電壓值來設定的,但是當接入適當?shù)耐獠科骷,就能獲得各種不同的電壓和電流。
1.016.jpg (6.13 KB, 下載次數(shù): 173)
下載附件
2017-4-27 23:49 上傳
圖3-14 5V穩(wěn)壓電路圖
LM7805具有如下特點:
(1)短路電流230mA,峰值電流2.2A,但是當輸出電流超過1.5A時,就需要提供足夠的散熱片;
(2)輸入電壓極限值35v,輸出電壓典型值為5V,最大值5.25V;
(3)熱過載保護;
(4)短路保護;
(5)輸出晶體管安全工作區(qū)保護;
78xx系列在降壓電路中應注意以下事項:
(1)輸入輸出壓差不能太大,太大則轉(zhuǎn)換效率急速降低,而且容易擊穿損壞;
(2)輸出電流不能太大,1.5A是其極限值。大電流的輸出,散熱片的尺寸要足夠大,否則會導致高溫保護或熱擊穿;
(3)輸入輸出壓差也不能太小,大小效率很差。
其中,對于LM7805:1端為輸入端,2端為公共端,3端為輸出端。其中,正常時,輸入與輸出之間的電壓不得低于1.5v。
電容104用于實現(xiàn)頻率補償,防止穩(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)軟件設計
4.1系統(tǒng)軟件設計
4.1.1主程序設計
為了便于系統(tǒng)維護和功能擴充,采用了模塊化程序設計方法,系統(tǒng)各個模塊的具體功能都是通過子程序調(diào)用實現(xiàn)的。本系統(tǒng)主要包括主程序、溫度數(shù)據(jù)采集子程序、煙霧數(shù)據(jù)采集子程序、火焰信號采集子程序、火災判斷與報警子程序等。主程序首先對液晶初始化,對無線傳輸模塊進行配置,再驗證無線傳輸是否正常,若正常則可對采集數(shù)據(jù)無線傳輸,相應延時之后,對采集數(shù)據(jù)進行更新,液晶進行顯示。主程序的流程圖如圖4-1所示。
1.018.jpg (24.61 KB, 下載次數(shù): 165)
下載附件
2017-4-27 23:49 上傳
圖4-1主程序流程圖
4.1.2傳感器程序設計
傳感器程序設計流程圖如圖4-2所示。在主控程序完成初始化以后,傳感器首先對環(huán)境狀態(tài)進行采集,并將采集到的數(shù)據(jù)進行處理。程序?qū)μ幚砗蟮臄?shù)據(jù)與當前設定的預警范圍進行比較,當采集值超出這一預警范圍后便會發(fā)出報警信號,主控程序?qū)@一報警信號處理后發(fā)出聲光報警信息。
1.019.jpg (30.12 KB, 下載次數(shù): 198)
下載附件
2017-4-27 23:49 上傳
圖4-2 三種傳感器程序流程圖
4.1.3無線傳輸程序設計
無線模塊之間進行通訊需要先對單片機進行相應的初始化,然后根據(jù)程序的處理要求進行實行。
1.020.jpg (12.3 KB, 下載次數(shù): 179)
下載附件
2017-4-27 23:49 上傳
圖 4-3無線傳輸程序流程圖
4.2程序設計原理
軟件任務分析和硬件電路設計結(jié)合進行,哪些功能由硬件完成,哪些任務由軟件完成,在硬件電路設計基本定型后,也就基本上決定下來了。
軟件任務分析環(huán)節(jié)是為軟件設計做一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實質(zhì)性的功能,如測量,計算,顯示,打印,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當組織調(diào)度角色的軟件。這兩類軟件的設計方法各有特色,執(zhí)行軟件的設計偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。
軟件任務分析時,應將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進行定義時,將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。
各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對來講,執(zhí)行模塊任務明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當一名操作工人比較容易,而當一個廠長就比較難了。
軟件任務分析的另一個內(nèi)容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個系統(tǒng)軟件可分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調(diào)用的子程序,這類程序?qū)崟r性要求不是太高,延誤幾十ms甚至幾百ms也沒關(guān)系,故通常將監(jiān)控程序,顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實時性要求較高的內(nèi)容,如定時系統(tǒng)和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序為“使系統(tǒng)進入睡眠狀態(tài)”,以利于系統(tǒng)節(jié)電和抗干擾。
第5章 系統(tǒng)調(diào)試
5.1硬件調(diào)試
火災報警器的電路系統(tǒng)較大,對于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出現(xiàn)一處錯誤,就會對檢測造成很大麻煩,而且電路的交線較多、焊點稠密,很容易造成短路現(xiàn)象。
在本火災報警器的設計調(diào)試中遇到了很多的問題;叵脒@些問題只要認真都是可以避免的,以下為主要的問題:
(1)程序調(diào)試初期液晶一直沒有正常顯示。
解決:經(jīng)調(diào)查發(fā)現(xiàn)液晶電路接線錯誤,修改之后,液晶顯示正常。
(2)開始時程序下載后沒有達到設計要求,不能報警。
解決:檢查、修改報警模塊電路接線,問題解決,達到了預設要求。
(3)無線模塊不能正常收發(fā)。
解決:由于未焊接濾波電路,導致無法正常收發(fā),補焊之后,可以正常運行。
5.2軟件調(diào)試
火災報警器是多功能的數(shù)字型設備,程序較為復雜,所以在編寫程序和調(diào)試時出現(xiàn)了相對較多的問題。最后經(jīng)過多次的模塊子程序的修改,一步一步的完成,最終解決了軟件調(diào)試方面的問題。在軟件的調(diào)試過程中主要遇到的問題如下:
1.屏幕上只顯示部分預設信息,其他顯示位置不能正常顯示。
解決:經(jīng)過分析初步確認是液晶在顯示時不能重復占用同一顯示地址,否則會亂碼,經(jīng)過修改程序,最終顯示正常。
2.硬件確認沒有問題,但是無線模塊還是不能正常收發(fā)數(shù)據(jù)。
解決:重新檢查無線收發(fā)模塊程序,對其程序作出調(diào)整、修改,使得無線模塊正常收發(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è)設計,我學到了不少課本上沒有的知識,也鍛煉了自己的動手能力,將以前學過的零散的知識串到一起。經(jīng)過我長時間的設計及調(diào)試,本系統(tǒng)基本能實現(xiàn)預設要求。但由于初步設計未能考慮全面,煙霧和火焰信息只能在液晶上顯示到電位變化。不足之處有:1.整體系統(tǒng)不夠人性化,2.系統(tǒng)穩(wěn)定性有待進一步提升。
我的綜合設計主要涉及硬件和軟件兩方面的內(nèi)容,通過這些我的硬件和軟件開發(fā)能力都獲得了提高。首先,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作。掌握了Proteus原理圖繪制的方法。通過開發(fā)板的設計和硬件搭建的過程,使我對51系單片機的接口有了更深層次的理解,熟悉了一些單片機常用的外圍電路引腳和連接方法。并且我學會了分析問題解決問題的能力,加深了對所學理論知識的理解和運用。我的動手能力得到了很大的提高,創(chuàng)新意識得到了鍛煉。
參考文獻
[1] 薛紀文等.C語言程序設計教程[M].北京:北京郵電大學出版社,2010年
[2] 康華光.電子技術(shù)基礎[M].北京:高等教育出版社,2006年
[3] 閻石.數(shù)字電子技術(shù)基礎[M].第五版.北京:高等教育出版社,2004年
[4] 溫宗周.單片機原理及接口技術(shù)[M].北京:中國電力出版社,2009年
[5]賴壽宏.微型計算機控制技術(shù)[M].北京:機械工業(yè)出版社,2009年
[6] 李建忠.單片機原理及應用[M].西安:西安電子科技大學,2002年
[7] 韓志軍等.單片機應用系統(tǒng)設計[M].北京:機械工業(yè)出版社,2004
[8] 周潤景等. Proteus在MCS-51&ARM7系統(tǒng)中的應用百例[M].電子工業(yè)出版社,2006年
[9] 馬忠梅等.單片機的C語言應用程序設計[M].北京航空航天大學出版社,2006年
[10] 劉樹中等.單片機和液晶顯示驅(qū)動器串行接口的實現(xiàn)[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
致 謝
本設計在盧嫚老師的悉心指導和嚴格要求下業(yè)已完成,從課題選擇、方案論證到具體設計和調(diào)試,無不凝聚著盧老師的心血和汗水。在這四年的本科學習和生活期間,也始終感受著各位老師的精心指導和無私的關(guān)懷,我受益匪淺。本設計能夠順利的完成,也歸功于各位任課老師的認真負責,使我能夠很好的掌握和運用專業(yè)知識,并在設計中得以體現(xiàn)。正是有了他們的悉心幫助和支持,才使我的畢業(yè)設計順利完成,在此向電氣系老師表示深深的感謝和崇高的敬意。
西安工程大學
本科畢業(yè)設計(論文)
誠信聲明
稟承學校優(yōu)良傳統(tǒng)學風,保持我校學生一貫誠信風尚,本人鄭重聲明:所呈交畢業(yè)設計(論文)是在指導老師的指導下獨立完成的,無抄襲和剽竊現(xiàn)象。
特此聲明。
學生簽名:
指導教師簽名:
日 期:
附 錄
系統(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()) //檢測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ā)送傳感器信號
- 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);
- }
- }
- 接受測部分程序
- #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())//檢測不到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)
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
完整論文下載地址(word格式可編輯):