基于AT89C2051的解碼器設計
在編碼信號的采集時,如果輸入信號為“1”,則定時/計數(shù)器0將開始計數(shù),同時將定時/計數(shù)器0的高8位存入內存緩沖區(qū)。而當輸入信號為“0”時,定時/計數(shù)器0也進行計數(shù),同時判斷是否有大于8倍的內存緩沖區(qū)中的值。如不滿足條件,則繼續(xù)采集脈沖信號;否則將對24個內存緩沖區(qū)中的數(shù)據(jù)進行處理。
解碼信號的處理過程實際上是對24個內存緩沖區(qū)中的數(shù)據(jù)進行倆倆比較。如果不相等,則認為編碼信號不是本系統(tǒng)中的信號。如果相等,則將其值設為“0”或“1”。而如果12組數(shù)據(jù)都相等,則可得到8個“0”或“1”的地址位和4個“0”或“1” 的數(shù)據(jù)位。此時便可將高8位的地址位與程序中地址碼表中的數(shù)據(jù)進行比較。如果不相等,則認為該編碼信號不是本系統(tǒng)中發(fā)射器的控制信號。如果相等,則將其低 4位的數(shù)據(jù)位輸出到P1.0~P1.3口,同時輸出一個高脈沖VT信號到P0.6口。
假設某保安防盜系統(tǒng)中有32種地址的PT2262發(fā)射器,其地址從45H~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個中的任意組合,因而通過該方案可實現(xiàn)256個PT2262,即至少256×4=1024個狀態(tài)的大容量的解碼功能。如果將PT2262的K8、K9、K10、K11任意組合,則其解碼容量還可以達到256×15=3840種狀態(tài)。
4結束語
本文所設計的單片機解碼方案已應用于某保安防盜系統(tǒng),實際運行表明:運行狀態(tài)良好。同時,該方案也適用于其它編碼系統(tǒng),如華智茂矽公司的VD5026和HOLTEK公司的HT12A/12E、HT6012/6014/6016等編碼芯片。
參考文獻
1.PT2262 Data Sheet
2.PT2272 Data Sheet
3.AT89C2051 Data Sheet
4.謝筑森.單片機開發(fā)與典型應用設計.北京航 空航天大學出版社
評論