久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 168471|回復: 5
打印 上一主題 下一主題
收起左側

基于單片機的火災報警系統畢業設計(論文)下載

  [復制鏈接]
跳轉到指定樓層
樓主

    畢業設計(論文)




題    目:基于單片機的火災報警系統設計

學    院:       電子信息學院        

專業班級:電氣工程及其自動化2010級2班

指導教師:XXXX職稱:助理工程師

學生姓名:XXXXXX

學    號:   41003040XXX




西安工程大學本科畢業設計(論文)



摘 要

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


目  錄

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

第1章 緒 論

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


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

圖2-1 發送側系統結構框圖

圖2-2 接收側系統結構框圖

系統由STC89C52,LCD1602,火焰傳感器,煙霧傳感器, DS18B20等組成,系統由兩部分組成分別是火災檢測部分和火災報警部分,通過調整煙霧傳感器的靈敏度來控制煙霧濃度的上限值,通過程序設定溫度值的上限,當超過濃度后,或者溫度超過后,單片機會進行聲光報警。

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

圖3-1 STC89C52單片機結構圖

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

圖3-2 STC89C52單片機管腳圖

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

圖3-3 單片機最小系統電路圖

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

圖3-4 LCD1602引腳圖

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

圖3-5 LCD1602與STC89C52的接口

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

圖3-6 無線傳輸模塊原理圖

3.3.2 NRF24L01應用領域
無線鼠標,鍵盤,游戲機操縱桿,無線數據通訊,無線門禁,安防系統,遙控裝置,遙感勘測,智能運動設備,工業傳感器,玩具。
3.3.3 NRF24L01技術參數

表3-1  NRF24L01快速參考數據

參數

數值

單位

最低供電電壓

1.9

V

最大發射頻率

0

dBm

最大數據傳輸率

2000

kbps

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

11.3

mA

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

12.3

mA

溫度范圍

-40~+85

數據傳輸率為1000kbps下的靈敏度

-85

dBm

掉電模式下的電流消耗

900

nA

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

表3-2  NRF24L01工作模式

模式

PWR_UP

PRIM_RX

CE

FIFO寄存器狀態

接受模式

1

1

1

--

發送模式

1

0

1

數據在TX FIFO寄存器中

發送模式

1

0

1→0

停留在發送模式,直至數據發完

空閑模式Ⅱ

1

0

1

TX FIFO為空

空閑模式Ⅰ

1

--

0

無數據傳輸

掉電模式

0

--

--

--

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

圖3-7 蜂鳴器報警電路

3.4.2燈光報警
光報警電路路如圖3.5,由單片機的P2.1、P3.4、P3.5口進行控制,分別控制3個發光二極管,予以光報警,如圖所示。當監測到火災發生時,單片機控制的三個端口循環依次輸出低電平時,對應的信號燈便會循環閃爍發出光報警。

圖3-8 燈光報警電路

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

圖3-10  DS18B20內部結構

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

圖3-11 DS18B20溫度檢測電路設計

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

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

傳感器在感煙時,當監測電離室遇到可燃煙霧時,原來吸附的氧脫附,而由可燃煙霧以正離子狀態吸附在二氧化錫半導體表面;氧脫附放出電子,煙霧以正離子狀態吸附也要放出電子,從而使二氧化錫半導體導帶電子密度增加,電阻值下降[8]。而當空氣中沒有煙霧時,二氧化錫半導體又會自動恢復氧的負離子吸附,使電阻值升高到初始狀態。
3.7 火焰傳感器模塊介紹
火焰傳感器是專門用來檢測火源的傳感器,當然火焰傳感器也可以用來檢測光線的亮度,只是本傳感器對火焰特別靈敏。火焰傳感器利用紅外線對對火焰非常敏感的特點,使用特制的紅外線接受管來檢測火焰,然后把火焰的亮度轉化為高低變化的電平信號,輸入到中央處理器中,中央處理器根據信號的變化做出相應的程序處理。
3.7.1火焰傳感器用途
各種火焰、火源探測。
3.7.2火焰傳感器模塊特
1.可以檢測火焰或者波長在760納米~1100納米范圍內的光源,打火機測試火焰2.距離為80cm,對火焰越大,測試距離越遠;
3.探測角度60度左右,對火焰光譜特別靈敏;
4.靈敏度可調;
5.比較器輸出,信號干凈,波形好,驅動能力強,超過15mA;
6.配電位器調節靈敏度;
7.工作電壓3.3V-5V;
8.輸出形式 :數字開關量輸出(0和1);
9.使用寬電壓LM393比較器;
3.7.3火焰傳感器模塊使用
1.火焰傳感器對火焰最敏感,對普通光也是有反應的,一般用做火焰報警等用途;
2.小板輸出接口可以與單片機IO口直接相連;
3.傳感器與火焰要保持一定距離,以免高溫損壞傳感器。

圖3-13火焰傳感器原理圖

火焰傳感器利用紅外線對火焰非常敏感的特點,使用特制的紅外線發射管來檢測火焰,然后把火焰的亮度轉化為高低變化的電平信號,輸入到單片機,單片機根據信號的變化做出相應的程序處理。
3.6.3 MQ-2型傳感器的特性
a、MQ-2型傳感器的主要特點
MQ-2型傳感器主要有三個特點:
(1)對天然氣、液化石油氣等煙霧有很高的靈敏度,尤其對烷類煙霧更為敏感。
(2)具有良好的重復性和長期的穩定性。初始穩定,響應時間短,長時間工作性能好。
(3)具有良好的抗干擾性,可準確排除有刺激性非可燃性煙霧的干擾信息,例如酒精和煙霧等。

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

MQ-2型傳感器的基本特性包括靈敏度特性、初期穩定特性、加熱特性。
(1)靈敏度特性:煙霧傳感器在最佳工作條件下,接觸同一種煙霧,其電阻值RS隨氣體濃度變化的特性稱之為靈敏度特性,用K表示。K=RS / R0 (2-1)式中,R0為煙霧傳感器潔凈空氣條件下的電阻值[9],RS為煙霧傳感器在一定濃度的檢測煙霧中的電阻值 。
(2)初期穩定特性:半導體煙霧傳感器在不通電狀態存放一段時間后,再通電時,器件并不能立即投入正常工作。這是因為煙霧傳感器中的二氧化錫在不通電的狀態下會吸附空氣中的水蒸氣,當再次通電時需要預熱幾分鐘使水蒸氣蒸發后,氣敏電阻才能正常工作。再通電工作時氣敏電阻值達到穩定時所需要的時間,定義為初期穩定時間。一般情況下,不通電時間越長,初期穩定時間也越長,當不通電存放時間達到15天左右時,初期穩定時間一般需要5分鐘左右。
(3)加熱特性:半導體煙霧傳感器一般要在較高的溫度(200~450°C)下工作,所以需要對其加熱。由于傳感器一般工作在易燃易爆環境下,若加熱絲直接與電源相接,當加熱絲局部短路造成器件過熱或放電時,可能引發事故。所以必須使用傳感器生產廠家推薦的加熱電壓,使其工作在較安全的范圍內。MQ-2型煙霧傳感器加熱電壓為5±0.2V。當加熱絲斷路時,由于熱惰性緣故,煙霧傳感器的氣敏特性并不立即消失,此時檢測必出現較大的誤差。為避免出現這種情況,并及時發現氣敏元件的故障,需要設計加熱絲故障診斷報警電路。
c、MQ-2型傳感器的特性參數
(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電源穩壓模塊設計
3.8.1 5V電源穩壓
為了得到輸出穩定的直流電壓,經電源適配器輸出的直流電壓必須采取一定的穩壓措施才能適合電子設備的需要。
本設計選用固定式三端穩壓器。選用LM7805三端正電源穩壓電路,輸出穩定+5v電壓。它有一系列固定的電壓輸出,應用非常的廣泛。每種類型由于內部電流的限制,以及過熱保護和安全工作區的保護,使它基本上不會損壞。如果能夠提供足夠的散熱片,它們就能夠提供大于1.5A的輸出電流。雖然是按照固定電壓值來設定的,但是當接入適當的外部器件后,就能獲得各種不同的電壓和電流。

圖3-14 5V穩壓電路圖

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

圖3-15 3.3V穩壓電路圖



第4章 系統軟件設計
4.1系統軟件設計
4.1.1主程序設計
為了便于系統維護和功能擴充,采用了模塊化程序設計方法,系統各個模塊的具體功能都是通過子程序調用實現的。本系統主要包括主程序、溫度數據采集子程序、煙霧數據采集子程序、火焰信號采集子程序、火災判斷與報警子程序等。主程序首先對液晶初始化,對無線傳輸模塊進行配置,再驗證無線傳輸是否正常,若正常則可對采集數據無線傳輸,相應延時之后,對采集數據進行更新,液晶進行顯示。主程序的流程圖如圖4-1所示。

圖4-1主程序流程圖

4.1.2傳感器程序設計
傳感器程序設計流程圖如圖4-2所示。在主控程序完成初始化以后,傳感器首先對環境狀態進行采集,并將采集到的數據進行處理。程序對處理后的數據與當前設定的預警范圍進行比較,當采集值超出這一預警范圍后便會發出報警信號,主控程序對這一報警信號處理后發出聲光報警信息。

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

4.1.3無線傳輸程序設計
無線模塊之間進行通訊需要先對單片機進行相應的初始化,然后根據程序的處理要求進行實行。
      

圖 4-3無線傳輸程序流程圖


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

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

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


參考文獻

[1] 薛紀文等.C語言程序設計教程[M].北京:北京郵電大學出版社,2010年
[2] 康華光.電子技術基礎[M].北京:高等教育出版社,2006年
[3] 閻石.數字電子技術基礎[M].第五版.北京:高等教育出版社,2004年
[4] 溫宗周.單片機原理及接口技術[M].北京:中國電力出版社,2009年
[5]賴壽宏.微型計算機控制技術[M].北京:機械工業出版社,2009年
[6] 李建忠.單片機原理及應用[M].西安:西安電子科技大學,2002年
[7] 韓志軍等.單片機應用系統設計[M].北京:機械工業出版社,2004
[8] 周潤景等. Proteus在MCS-51&ARM7系統中的應用百例[M].電子工業出版社,2006年
[9] 馬忠梅等.單片機的C語言應用程序設計[M].北京航空航天大學出版社,2006年
[10] 劉樹中等.單片機和液晶顯示驅動器串行接口的實現[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


致  謝

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


西安工程大學

本科畢業設計(論文)

誠信聲明


稟承學校優良傳統學風,保持我校學生一貫誠信風尚,本人鄭重聲明:所呈交畢業設計(論文)是在指導老師的指導下獨立完成的,無抄襲和剽竊現象。

特此聲明。



學生簽名:

指導教師簽名:

日  期:




附  錄
系統整體原理圖

系統源程序
發送側部分程序:
  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())   //檢測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++)                                          //發送傳感器信號
  28.                                           Buff[i]=SENSOR_STA[i-15]+0x30;
  29.                             Buff[i]='';
  30.                             for(i=0;i<8;i++)                                                           //發送溫度數
  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. 接受測部分程序
  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())//檢測不到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鐘改變一次狀態


  95. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

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



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

使用道具 舉報

沙發
ID:460726 發表于 2019-1-5 11:18 來自手機 | 只看該作者
樓主能發一下頭文件嗎?急用
回復

使用道具 舉報

板凳
ID:460726 發表于 2019-1-7 21:03 來自手機 | 只看該作者
頭文件能發一下嗎,不然運行不出來
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产伦精品一区二区三区照片91 | 色综合视频在线 | 狠狠av| 午夜精品久久久久99蜜 | 在线午夜 | 欧美一区久久 | 精品欧美黑人一区二区三区 | 欧美激情一区二区三区 | 国产玖玖 | 91综合在线观看 | 国产福利91精品一区二区三区 | 伊人久久成人 | 亚洲一区二区在线视频 | 精品国产一区一区二区三亚瑟 | 精品中文字幕在线 | av中文字幕在线播放 | 欧美日韩成人一区二区 | 欧美日韩视频网站 | 国产精品久久久久无码av | 国产午夜精品一区二区三区四区 | 色网站视频 | 免费色网址| 欧美中文视频 | 久久精品亚洲精品国产欧美 | 黄色小视频大全 | 国产这里只有精品 | av在线一区二区三区 | 91精品久久久| 精品九九 | 亚洲视频区 | 美女在线视频一区二区三区 | 亚洲一区日韩 | 欧美八区| 午夜精品久久久久久久久久久久 | 91视频在线看 | av一区二区在线观看 | 男女污网站 | 久久999| 久久免费视频1 | 久久美国 | 精品综合久久 |