基于單片機的解碼器應用于安防系統(tǒng)
軟件流程圖如圖7所示。
5.1 初始化
將AT89C2051〔1〕的16位定時/計數器0設置為內部計數器方式。
5.2 編碼信號的采集
當輸入信號為“1”時,定時/計數器0開始計數,并將定時/計數器0的高八位存入內存緩沖區(qū)中。當輸入信號為“0”時,定時/計數器0也進行計數,同時判斷是否有大于8倍的內存緩沖區(qū)中的值。如不滿足條件,則繼續(xù)采集脈沖信號,否則對24個內存緩沖區(qū)中的數據進行處理。
5.3 解碼信號的處理
對24個內存緩沖區(qū)中的數據兩兩進行比較,如果不相等,則編碼信號不是本系統(tǒng)中的信號。如果相等,則將其值設為“0”或“1”。如果12組數據都相等,則得到8個“0”或“1”的地址位和4個“0”或“1”的數據位。
將高8位的地址位與E2PROM中地址碼表中的數據進行比較,如果不相等,則該編碼信號不是本系統(tǒng)中發(fā)射器的控制信號。如果相等,則將E2PROM中對應的房間號、單元號、樓棟號等數據,通過段控制P0口和位控制P1、P2口輸出到16位7段顯示屏,同時鳴響報警喇叭。數字鍵盤用于向E2PROM中鍵入編碼地址、房間號、單元號、樓棟號等數據。
假設某保安防盜系統(tǒng)中有32種地址的PT2262發(fā)射器,其地址為45H~64H,在AT89C2051的軟件中設定其地址碼表的值為45H、46H、47H、……、64H。如果當地址為50H的發(fā)射器按下了K10開關,則解碼系統(tǒng)所接收的高8位地址的值與軟件中地址表中50H的值相同,則輸出對應的4位A、B、C、D的值0010B;如果當地址為63H的發(fā)射器按下了K8開關,則解碼系統(tǒng)所接收的高8位地址的值與軟件中地址表中63H的值相同,則輸出對應的A、B、C、D的值1000B;……。該設計使用一片AT89C2051單片機,替代了32片PT2272解碼芯片。
故此,在實際應用中,PT2262的地址值可選00H~FFH共256個中的任意組合,從而實現了256個PT2262,至少256×4=1024個狀態(tài)的大容量的解碼功能。如果將PT2262的K8、K9、K10、K11任意組合,則可以有256×15=3840種狀態(tài)。
6 計算機的數據處理
Delphi是Borland公司推出的可視化開發(fā)工具,它提供了大量的組件,用戶可以輕松地開發(fā)出功能強大的應用程序,而且通過它編譯出來的可執(zhí)行文件的工作效率相當高。
建立一個用戶數據庫,包含有用戶的防盜主機的編號、姓名、詳細住址、電話、手機、傳呼等信息。
利用SPCOMM串口控件,接收AT89C2051發(fā)送的串口數據——防盜主機的編號,將該數據與數據庫中的所有防盜主機編號一一對比,再將數據相同的用戶記錄顯示在屏幕上,同時調用一個聲音播放控件,報警提示。
7 結束語
本設計方案已應用于保安防盜系統(tǒng)的接警中心,運行狀態(tài)良好。也適用于其它編碼系統(tǒng),如華智-茂矽公司的VD5026和HOLTEK公司的HT12A/12E、HT6012/6014/6016等編碼芯片。
評論