新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 將基于51單片機的解碼器應用于安防系統

        將基于51單片機的解碼器應用于安防系統

        作者: 時間:2011-10-26 來源:網絡 收藏
        1 引 言
          目前,我國應用極廣的編器是Princeton公司生產的具有531441(312)種狀態的PT2262芯片和與之配套的PT2272芯片。但一片PT2272只能對一種地址的PT2262的15種狀態進行,對于較大的編解碼保安防盜控制系統,常使用多片PT2272組合解碼,但仍遠遠滿足不了大中型安防系統的設計要求。因此,采用AT89C2051單片機,實現了PT2262的大容量解碼功能。
        2 PT2262的原理
          PT2262的工作原理如圖1所示,圖中K0~K7為地址端,應該預置其狀態;K8~K11為數據端,按下按鈕開關K8~K11后,PT2262就在第17腳輸出一串行脈沖。開關K0~K11為12個位碼開關,其0或1的狀態值組合出不同的編碼結果,每傳送一組編碼都自動連發四次字碼。4M7電阻為PT2262的外接振蕩電阻。MPSH10為315MHz的高頻振蕩三極管。圖2~圖5表示了PT2262的編碼原理。圖2是PT2262的字碼結構,圖3是PT2262的位碼信號,圖4是PT2262的同步位信號,圖5是PT2262的幀碼結構。

        3 解碼的實現
        3.1 位編碼信號的檢測方法
          根據PT2262的編碼原理,其輸出的每個0位或1位編碼信號由二組脈沖組成,因此可以使用單片機進行解碼。本設計使用了ATMEL半導體公司生產的AT89C51單片機,利用“定時/計數器0”進行脈寬的計時,并判斷該脈寬的高字節是否相同,相同則為PT2262的0或1位(本設計只考慮了“0”和“1”狀態,其每個位的二組脈沖是相同的)。AT89C51對0或1位編碼信號必須進行12次判斷,如果全部正確,則該PT2262編碼器就是本系統的信號之一。
        3.2 SYNC同步信號的檢測方法
          PT2262的SYNC同步編碼信號如圖4所示。該位脈沖的低電平長達124個機器周期,因此只需判斷其脈寬時間是否大于8倍的“0”位或“1”位的脈寬。
        3.3 解碼信號的處理
          將12位解碼數據(可參閱htpp://www.princeton.com.tw)中的高8位與E2PROM中地址碼表的地址數據進行比較,如果相同,則將E2PROM中對應的房間號、單元號、樓棟號等數據,通過P0、P1、P2口輸出到16位7段顯示屏。
        4 硬件電路
          本設計的解碼、安防電路原理圖如圖6所示,將經高頻接收模塊變頻處理的數字脈沖信號送入AT89C2051(可參閱http://www.atmel.com)的P3.4 I/O口進行解碼,再將滿足E2PROM中地址碼條件的數據通過RS232接口輸出到計算機。圖中省略了數字鍵盤和報警喇叭驅動電路部分。

        5 軟件設計
          軟件流程圖如圖7所示。
        5.1 初始化
          將AT89C2051〔1〕的16位定時/計數器0設置為內部計數器方式。
        5.2 編碼信號的采集
          當輸入信號為“1”時,定時/計數器0開始計數,并將定時/計數器0的高八位存入內存緩沖區中。當輸入信號為“0”時,定時/計數器0也進行計數,同時判斷是否有大于8倍的內存緩沖區中的值。如不滿足條件,則繼續采集脈沖信號,否則對24個內存緩沖區中的數據進行處理。


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

        參考文獻

        1 張毅剛,等著.MCS-51單片機應用設計.哈爾濱:哈爾濱工業大學出版社,1990
        2 吳旭東,等著.Delphi3.0/4.0多媒體和數據庫編程.北京:清華大學出版社,2001
        3 王 輝,等譯.Delphi從入門到精通.北京:電子工業出版社,2000


        關鍵詞: 編碼 解碼 接警中心

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东兰县| 绥芬河市| 寻乌县| 元谋县| 洪湖市| 新泰市| 澜沧| 林州市| 三江| 博爱县| 津南区| 仪征市| 临武县| 奎屯市| 健康| 玉龙| 西吉县| 山阳县| 工布江达县| 临沭县| 吉安市| 漯河市| 繁昌县| 新巴尔虎左旗| 临朐县| 日照市| 泰宁县| 烟台市| 桐城市| 武宁县| 沈阳市| 河津市| 左贡县| 宝丰县| 高清| 邓州市| 清徐县| 封丘县| 横山县| 万荣县| 宿松县|