基于紅外探測原理的多路無線安防系統設計
3.1 LCD顯示程序設計
系統上電后,首先需要對液晶初始化,12864顯示器分兩行,初始化時,第一行顯示“采集數據:單次”,第二行顯示“控制命令:等待”。當下位機單次數據采集時,第一行顯示單次采集的數據;當下位機連續采集數據時,12864顯示的采集的數據;第二行顯示PC機發出的命令,當PC機沒有發送命令時,顯示“等待”;當PC機發送命令后,顯示“命令”。可以直接使用MCU的總線方式讀寫液晶或者間接使用I/O軟件模擬LCD時序對液晶進行讀寫,本設計采用間接的方式,首先ATmega16對系統進行初始化,設置I/O的狀態,再初始化液晶,對液晶的顯示功能設置,通過寫命令控制寫入數據地址。其流程圖如圖9所示。
無線接收系統通過接收到的報警信號,將報警序號實時顯示在12864上,如果有多個報警數據,則需要循環顯示報警點序號,因此需要動態更新12864上顯示的數據。其流程圖如圖10所示。本文引用地址:http://www.104case.com/article/154724.htm
3.2 外部中斷服務程序設計
系統外部中斷觸發方式選用邊沿觸發方式檢測無線接收系統是否接收到報警信號,這種觸發方式如果相繼兩次采樣,一個周期采樣為高,下個周期采用為低,則置“1”中斷申請觸發器,直到CPU響應此中斷才清零。這樣不會丟失中斷,但輸入的負脈沖寬度至少需要保持12個時鐘周期,才能被CPU采樣到。當無線接收系統接收到報警數據時,單片機的外部中斷0產生外部中斷,接收報警數據,并關閉外部中斷0同時啟動定時器1開始計數,2 s后重新開外部中斷0,以接收下次的報警數據。中斷服務子程序流程圖如圖11所示。
3.3 定時中斷服務程序設計
本系統采用8 MHz的時鐘晶振,定時器1作為外部中斷響應報警數據的時間間隔計數器,避免一次報警信號使單片機產生多次中斷。定時器1是16為計數器初值為3CAFH,中斷5次后,開外部中斷。
定時器0作為聲光報警電路的脈沖發生控制器,設置初值為06H,每中斷500次,控制單片機的P4和P5口改變輸出電平狀態,即聲光報警電路發出周期為1 s的聲光報警信號。定時器0和定時器1的中斷子程序如圖12所示。
4 結束語
本系統根據紅外熱釋電傳感器原理,完成了多路無線安防系統的軟硬件開發。系統能夠完成15路報警點的報警信息,并且使用液晶顯示器循環顯示報警序號,通過發光二級管和蜂鳴器進行聲光報警,同時把得到的數據傳輸給上位機。系統具有易于操作維護、很強的實時性等優點,系統還可以對電磁干擾方面進行改進,使用單片機內部晶振可以減小系統本身的電磁干擾。
手機電池相關文章:手機電池修復
評論