1 引言
采用AT89C20單片機" title="51單片機" target="_blank">51單片機,,實現(xiàn)了PT2262的大容量解碼功能。本設計能解決一片PT2272只能對一種地址的PT2262的15種狀態(tài)進行解碼,,對于較大的編解碼保安防盜控制系統(tǒng),,常使用多片PT2272組合解碼,滿足不了大中型安防系統(tǒng)的設計要求,。
2 PT2262的編碼原理
PT2262的工作原理如圖1所示,,圖中K0~K7為地址端,應該預置其狀態(tài);K8~K11為數(shù)據(jù)端,,按下按鈕開關K8~K11后,,PT2262就在第17腳輸出一串行編碼脈沖。開關K0~K11為12個位碼開關,,其0或1的狀態(tài)值組合出不同的編碼結果,,每傳送一組編碼都自動連發(fā)四次字碼。4M7電阻為PT2262的外接振蕩電阻,。MPSH10為315MHz的高頻振蕩三極管,。圖2~圖5表示了PT2262的編碼原理。圖2是PT2262的字碼結構,,圖3是PT2262的位碼信號,,圖4是PT2262的同步位信號,,圖5是PT2262的幀碼結構。
3 解碼的實現(xiàn)
3.1 位編碼信號的檢測方法
根據(jù)PT2262的編碼原理,,其輸出的每個0位或1位編碼信號由二組脈沖組成,,因此可以使用單片機進行解碼。本設計使用了ATMEL半導體公司生產(chǎn)的AT89C51單片機,,利用“定時/計數(shù)器0”進行脈寬的計時,,并判斷該脈寬的高字節(jié)是否相同,相同則為PT2262的0或1位(本設計只考慮了“0”和“1”狀態(tài),,其每個位的二組脈沖是相同的),。AT89C51對0或1位編碼信號必須進行12次判斷,如果全部正確,,則該PT2262編碼器就是本系統(tǒng)的信號之一,。
3.2 SYNC同步信號的檢測方法
PT2262的SYNC同步編碼信號如圖4所示。該位脈沖的低電平長達124個機器周期,,因此只需判斷其脈寬時間是否大于8倍的“0”位或“1”位的脈寬,。
3.3 解碼信號的處理
將12位解碼數(shù)據(jù)(可參閱htpp://www.princeton.com.tw)中的高8位與E2PROM中地址碼表的地址數(shù)據(jù)進行比較,如果相同,,則將E2PROM中對應的房間號,、單元號、樓棟號等數(shù)據(jù),,通過P0,、P1、P2口輸出到16位7段顯示屏,。
4 硬件電路
本設計的解碼,、安防接警中心電路原理圖如圖6所示,將經(jīng)高頻接收模塊變頻處理的數(shù)字脈沖信號送入AT89C2051(可參閱http://www.atmel.com)的P3.4 I/O口進行解碼,,再將滿足E2PROM中地址碼條件的數(shù)據(jù)通過RS232接口輸出到計算機,。圖中省略了數(shù)字鍵盤和報警喇叭驅動電路部分。
5 軟件設計
軟件流程圖如圖7所示,。

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