研究內容
基于安卓的防火報警系統,主要檢測溫度和火焰,再通過單片機控制相應的報警和驅動負載。通過液晶顯示當前的是否有火焰和溫度值,通過LED和蜂鳴器做相應的提示,并通過藍牙串口發送到app顯示。
該項目主要是為了完成任務,包括:
(1)硬件部分:包括傳感器的選擇,顯示模塊的選擇,溫度轉換電路的設計,火焰感應電路的設計。
(2)軟件部分:包括微處理器控制程序的編制和原理圖的繪制。
(3)系統的綜合調試與分析:在軟硬件完成以后,要對系統進行綜合的測試與實驗,分析系統的可靠性與實用性,調整系統的不足。
2 防火報警的總體方案設計
本題目主要是實現火焰報警和火災發生時的報警及溫度控制,下面分別對系統功能要求、系統技術要求及系統實現方案總體闡述。
2.1系統的功能要求
本系統的研制主要包括以下幾項功能:
(1)火情探測功能:為了提高火災報警的準確性和及時性,火災報警系統需要使用各種方法進行火災探測。在實際使用中,根據不同的防火場所,用戶可以選用溫度探測法、可燃氣體檢測法及光照探測法等合適的火災探測方法,來有效的探測火災;
(2)溫度報警功能:當室內溫度過大、有火情產生、故障等異常情況發生時,報警器要進行燈光報警。當溫度超過最大設定值時,可以蜂鳴器報警。
2.2 系統的技術要求
在了解這個系統的工作原理以及功能之后,我們就可以基本確定系統的技術要求。系統采用的單片機處理器成本都比較低,可以滿足批量生產和各類工程的需求。對于完整的一個系統而言,為提高市場的競爭力,這個系統應符合體積小、功耗低、數傳性能可靠和成本低廉等技術要求。具體指標和參數如下:
(1)體積小:探測器的體積要盡可能的小,這樣占用的空間才能減少,使用和更換才會方便;
(2)功耗低:系統可以采用三節5號干電池供電或5v電源供電。
(3)可靠性高:由于不確定的電磁干擾可能存在在系統工作環境中,為了保證系統長時間的可靠工作,以及減少誤報次數,所以選擇多指示燈,指示不同的狀態。
2.3 系統的組成及方案設計
本設計主要由火焰傳感器電路、單片機、燈光報警電路、負載驅動電路、溫度檢測電路、控制程序和編解碼程序等組成。
系統的組成結構如下:

圖 2. 1
3 系統的硬件設計
原理圖

圖 3. 1
上圖3.1是由AD19所畫的。
實時顯示是否有火焰與溫度,共有三個報警值。檢測到火焰則LED1警告,低溫LED2警告,高溫先是LED3警告,超過最大值則蜂鳴器報警。
3.1 主控電路
C51單片機是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程Flash 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C51為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。 具有以下標準功能: 8k字節Flash,512字節RAM, 32位I/O 口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,三個16 位 定時器/計數器,一個6向量2級中斷結構,全雙工串行口。另外 STC89C51 可降至0Hz 靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35Mhz,6T/12T可選。本次使用的STC12C5A60S2繼承C51的全部功能,完美兼容C51單片機的所有程序。主要功能如表3.1所示,其DIP封裝如圖3.2所示
表3.1:STC89C51主要功能
STC89C52引腳介紹
① 主電源引腳(2根)
VCC(Pin40):電源輸入,接+5V電源
GND(Pin20):接地線
②外接晶振引腳(2根)
XTAL1(Pin19):片內振蕩電路的輸入端
XTAL2(Pin20):片內振蕩電路的輸出端
③控制引腳(4根)
RST/VPP(Pin9):復位引腳,引腳上出現2個機器周期的高電平將使單片機復位。
ALE/PROG(Pin30):地址鎖存允許信號
PSEN(Pin29):外部存儲器讀選通信號
EA/VPP(Pin31):程序存儲器的內外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內部程序存儲器讀指令。
④可編程輸入/輸出引腳(32根)
STC89C52單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。
P0口(Pin39~Pin32):8位雙向I/O口線,名稱為P0.0~P0.7
P1口(Pin1~Pin8):8位準雙向I/O口線,名稱為P1.0~P1.7
P2口(Pin21~Pin28):8位準雙向I/O口線,名稱為P2.0~P2.7
P3口(Pin10~Pin17):8位準雙向I/O口線,名稱為P3.0~P3.7
作頻率35Mhz,6T/12T可選。

圖 3. 2 單片機DIP封裝圖
最小系統包括單片機及其所需的必要的電源、時鐘、復位等部件,能使單片機始終處于正常的運行狀態。電源、時鐘等電路是使單片機能運行的必備條件,可以將最小系統作為應用系統的核心部分,通過對其進行存儲器擴展、A/D擴展等,使單片機完成較復雜的功能。
STC12C5A60S2是片內有ROM/EPROM的單片機,因此,這種芯片構成的最小系統簡單﹑可靠。用STC12C5A60S2單片機構成最小應用系統時,只要將單片機接上時鐘電路和復位電路即可,結構如圖2-3所示,由于集成度的限制,最小應用系統只能用作一些小型的控制單元。

圖 3. 3 最小系統原理框圖
(1) 時鐘電路
STC12C5A60S2單片機的時鐘信號通常有兩種方式產生:一是內部時鐘方式,二是外部時鐘方式。內部時鐘方式如圖2-4所示。在STC12C5A60S2單片機內部有一振蕩電路,只要在單片機的XTAL1(18)和XTAL2(19)引腳外接石英晶體(簡稱晶振),就構成了自激振蕩器并在單片機內部產生時鐘脈沖信號。圖中電容C1和C2的作用是穩定頻率和快速起振,電容值在5~30pF,典型值為30pF。晶振CYS的振蕩頻率范圍在1.2~12MHz間選擇,典型值為12MHz和6MHz。

圖 3. 4 內部時鐘電路
(2) 復位電路
當在STC12C5A60S2單片機的RST引腳引入高電平并保持2個機器周期時,單片機內部就執行復位操作(若該引腳持續保持高電平,單片機就處于循環復位狀態)。
最簡單的上電自動復位電路中上電自動復位是通過外部復位電路的電容充放電來實現的。只要Vcc的上升時間不超過1ms,就可以實現自動上電復位。
除了上電復位外,有時還需要按鍵手動復位。本設計就是用的按鍵手動復位。按鍵手動復位有電平方式和脈沖方式兩種。其中電平復位是通過RST(9)端與電源Vcc接通而實現的。

圖 3. 5 復位電路圖
(3) STC89C51中斷技術概述
中斷技術主要用于實時監測與控制,要求單片機能及時地響應中斷請求源提出的服務請求,并作出快速響應、及時處理。這是由片內的中斷系統來實現的。當中斷請求源發出中斷請求時,如果中斷請求被允許,單片機暫時中止當前正在執行的主程序,轉到中斷服務處理程序處理中斷服務請求。中斷服務處理程序處理完中斷服務請求后,再回到原來被中止的程序之處(斷點),繼續執行被中斷的主程序。
圖3.6為整個中斷響應和處理過程。

圖 3. 6中斷響應和處理過程
如果單片機沒有中斷系統,單片機的大量時間可能會浪費在查詢是否有服務請求發生的定時查詢操作上。采用中斷技術完全消除了單片機在查詢方式中的等待現象,大大地提高了單片機的工作效率和實時性。
3.2 火焰傳感器電路的設計

圖 3. 7 火焰傳感器
如圖3.7所示,通電之后,把數據口接到單片機,單片機判斷火焰傳感器的數據傳輸電平高低來實現對火焰的感應。
3.2.1 火焰傳感器的介紹
1、可以檢測火焰或者波長在760納米心1100納米范圍內的光源;
2、探測角度60度左右,對火焰光譜特別靈敏3靈敏度可調(圖中藍色數字電位器調節);
3、對火焰的探測距離:跟靈敏度和火焰強度有關,一般1m以內適用(以打火機火焰測試,半米內能夠觸發傳感器);
4、工作電壓3.3V-5V;
5、輸出形式:
a模擬量電壓輸出
b數字開關量輸出(0和1)。
3.2.2火感原理

圖 3. 8 火感原理圖
火焰傳感器利用紅外線對火焰非常敏感的特點,使用特制的紅外線接收管來檢測火焰,然后把火焰的亮度轉化為高低變化的電平信號,輸入到中央處理器,中央處理器根據信號的變化做出相應的程序處理。
3.3溫度檢測電路的設計

圖 3. 9 DS18B20
3.5報警電路設計

圖 3. 12 蜂鳴器報警電路

圖 3. 13 LED報警電路
蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標準用“FM”、“LB”、“JD”等)表示。三極管Q1起開關作用,其基極的低電平使三極管飽和導通,使蜂鳴器發聲;而基極高電平則使三極管關閉,蜂鳴器停止發聲。
LED英文單詞的縮寫,主要含義:LED = Light Emitting Diode,發光二極管,是一種能夠將電能轉化為可見光的固態的半導體器件,它可以直接把電轉化為光;它改變了白熾燈鎢絲發光與節能燈三基色粉發光的原理,而采用電場發光。據分析,LED的特點非常明顯,壽命長、光效高、輻射低與功耗低。
本次實訓通過這兩個模塊實現報警功能。
3.6HC-05藍牙模塊設計
圖 3. 14 藍牙模塊
基本實現過程概述,用USB轉TTL的CH340模塊連接HC-05,通過電腦配置波特率、從機模式、藍牙連接密碼、用戶名稱等。將配置好的HC-05連接單片機,TXD與RXD跟單片機的交叉相連,實現通信。再由安卓手機藍牙配對,實現實時防火報警功能。
3.6.1HC-05介紹
ATK-HC05V1l是一款高性能的主從一體藍牙串口模塊,可以同各種帶藍牙功能的電腦、藍牙主機、手機、PDA、PSP等智能終端配對,該模塊支持非常寬的波特率范圍:4800~-1382400,并且模塊兼容5V或3.3V單片機系統。
若使用HC-05與手機配對通信,需進行以下設置:
- 、AT+NAME=<WFAGLY>
- 、AT+CMODE=1
- 、AT+UART=9600,0,0
- 、AT+PSWD=<1234>
經過配置,即可實現藍牙模塊與單片機之間的通信。便于實時監控溫度、火情等,從而實現基于安卓的防火報警。
3.6.2HC-05與手機通信
經配置好的內容,如下圖

圖 3. 15 HC-05配置
經上圖的相關配置,用手機安卓串口助手,實現實時通信

圖 3. 16 手機顯示數據
4 實訓的軟件設計
4.1 軟件介紹
Keil C51是Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。KeilC51如下如所示

圖 4. 1 keilC51界面
4.2 實訓程序流程圖

5防火報警的調試及結論




5.1 調試
首先,檢驗程序與電路的相關接口是否相符,電路是否能實現預期的效果,不能實現的原因是什么等等。期間,所遇到的最大的難題就是DS18B20溫度的獲取及LCD1602的顯示問題。結果是沒有添加中斷,使得內存出現混亂的緣故。除此之外也沒什么問題,起初得到題目的時候,先等待所需的元器件。設計思路就是,把各個模塊都分別實現,然后進行整體的整合。我主要負責這個,原理圖跟流程圖由另外兩個同學完成。我則負責補充。
5.2 結論
本設計的防火報警由傳感器電路與無線通信電路兩大部分構成。控制處理器是以管腳資源豐富的STC12C5A60S2為核心,實現對探測器寫入信號和對信號進行編譯等人機交互功能。應用程序以C語言編寫,充分利用芯片的內部資源,提高了代碼執行效率,減小了代碼的容量。但是,由于本人在各方面的知識不夠全面,再加上時間緊迫以及實驗條件的限制,該報警器還有較多需要提高的地方。比如:自行調節報警值,煙霧傳感探測,藍牙的局限性等。作品是不斷完善的,想要做得更好,就應該根據不同的場景設計不同模塊的功能,對防火報警進行更好的監控,防患于未然。
b200620
單片機代碼:
Keil代碼.7z
(1.09 MB, 下載次數: 88)
2022-11-14 18:34 上傳
點擊文件名下載附件