新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機技術的模擬2272軟件解碼

        基于單片機技術的模擬2272軟件解碼

        作者: 時間:2011-11-28 來源:網絡 收藏
        三、參考

        MCS51匯編程序

        ;程序(仿真PT2272) ;

        ;晶體頻率為11.0592Mhz ;

        ;本程序中的時間定位關系只適用于接3.3M振蕩電阻的PT2262 ;

        ;使用其它阻值電阻時,應將定位時間按電阻比例縮放

        ;下面的程序中

        ;REM 為信號輸入端 ;

        ;RECEIVE 檢測到有效信號標志位 ;

        ;ENABLE_DETE 連續按鍵標志 ;

        ;3AH,3BH用作定時器 ; ;

        ;PT2262共12根地址線 ;

        ;31H,32H:接收的前8 位地址編碼 ;

        ;33H,30H:接收的后4 位地址編碼(若最后4位用作數據端,則只須讀第33H單元的內容即可) ;

        ;當用作數據端時,PT2262對應腳懸空被認為是低電平。

        ;地址數據說明 ;

        ;以31H.0 和32H.0 為例 ;

        ; 懸空 : 31H.0=0 32H.0=1 ;

        ; 1: 31H.0=1 32H.0=1 ;

        ; 0: 31H.0=0 32H.0=0 ;

        ; 出錯 : 31H.0=1 32H.0=0 ; ; ;

        ; 說明:為了能可靠檢測到有效信號,建議每次接收至少檢測3次,然后比較3次檢測值

        ;3次值相同才認為收到了正確信號。可在主程序中如下處理:第1次檢測時調用REMOTE

        ;第2、3次檢測時調用REMOTES,請注意必需連續調用,否則得不到正確的數據 ; ;

        ;注意:將T1設定為16位定時器,允許中斷,否則將導致接收數據錯誤

        REMOTE: CLR RECEIVE ;;檢測50ms 內有沒有編碼接收 ;

        MOV 3AH,#55

        REMOTEA:MOV 3BH,#250

        REMOTEB:JB REM,REMOTE0;有碼發送則跳轉

        DJNZ 3BH,REMOTEB

        DJNZ 3AH,REMOTEA

        REMOTE_END_1:

        CLR ENABLE_DETE

        REMOTE_END:

        CLR REMOTING ;清除探頭檢測標志

        RET

        REMOTE0:JB ENABLE_DETE,REMOTE_END_1 ;按鍵沒有放開則返回

        REMOTES:MOV 34H,#12 ;接收12位編碼 ;解碼 ; ;先找出接收碼的開頭即10ms左右的高電平 ;

        MOV TH1,#00H ;;設置高電平時間為8~12ms ; ;檢測和等待8ms 的 低電平,70ms門限 ;

        CLR T_OVER

        MOV TL1,#00H

        SETB TR1

        REMOTE1:MOV 3AH,#50

        REMOTE2:MOV 3BH,#25

        REMOTE3:JB REM,REMOTE1

        JB T_OVER,REMOTE_END

        DJNZ 3BH,REMOTE3

        DJNZ 3AH,REMOTE2 ;; ;等待在4ms 內接收到的高電平 ;

        CLR T_OVER

        MOV TH1,#0F1H

        MOV TL1,#0F0H

        SETB TR1

        REMOTE_4:

        JB T_OVER,REMOTE_5

        JNB REM,REMOTE_4

        CLR TR1

        AJMP REMOTE6 ;;超出12ms 接收錯誤返回 ;

        REMOTE_5:

        AJMP REMOTE_END

        REMOTE6:MOV 3AH,#00 ;等待550us 后采集接收信號 ;

        DJNZ 3AH,$ ;;采集接收信號并記錄 ;

        MOV C,REM

        MOV A,33H

        RLC A

        MOV 33H,A

        MOV A,31H

        RLC A

        MOV 31H,A ;;等待第二個上升沿,限時1.5ms ;

        CLR T_OVER

        MOV TH1,#0FAH

        MOV TL1,#099H

        SETB TR1

        RM1: JB T_OVER,REMOTE_END

        JB REM,RM1

        CLR TR1 ;;

        CLR T_OVER

        MOV TH1,#0FAH

        MOV TL1,#099H

        SETB TR1

        RM2: JB T_OVER,REMOTE_END

        JNB REM,RM2

        CLR TR1 ;;等待550us 后采集接收信號 ;

        MOV 3AH,#00

        DJNZ 3AH,$

        MOV C,REM

        MOV A,30H

        RLC A

        MOV 30H,A

        MOV A,32H

        RLC A

        MOV 32H,A ;;等待第二個碼值的上升沿 ;

        CLR T_OVER

        MOV TH1,#0FAH

        MOV TL1,#099H

        SETB TR1

        RM3: JB T_OVER,RM5

        JB REM,RM3

        CLR TR1 ;;

        CLR T_OVER

        MOV TH1,#0FAH

        MOV TL1,#099H

        SETB TR1

        RM4: JB T_OVER,RM5

        JNB REM,RM4

        CLR TR1

        DJNZ 34H,REMOTE6 ;;把接收的編碼左移4 位將8 位密碼放在同一字節上

        MOV 34H,#4

        AJMP REMOTE7

        RM5: AJMP REMOTE_END

        REMOTE7:CLR C

        MOV A,33H

        RLC A

        MOV 33H,A

        MOV A,31H

        RLC A

        MOV 31H,A

        CLR C

        MOV A,30H

        RLC A

        MOV 30H,A

        MOV A,32H

        RLC A

        MOV 32H,A

        DJNZ 34H,REMOTE7 ;;把4 位數據編碼由高4 位移到低4 位上 ;

        MOV A,33H

        SWAP A

        MOV 33H,A

        MOV A,30H

        SWAP A

        MOV 30H,A

        SETB ENABLE_DETE

        SETB RECEIVE ;;

        AJMP REMOTE_END_1

        END

        四、硬件抗干擾

        在無線通訊中使用會對通訊系統造成嚴重的干擾,相信許多人員一定有過同樣的苦惱。如果硬件設計不當,會造成原先硬件解碼時通訊距離為200米,而用解碼后可能只有十幾米,因此解決硬件抗干擾問題在很大程度上可減少軟件解碼的誤碼率。

        1、收發模塊:早期常用的頻率為47MHz,在這種頻率下,很難有好的解決方法;建議采用目前國家允許無線遙控使用的頻率315 MHz。

        2、振蕩頻率:大量的MCS51教材中推薦大家使用的是12MHz及11.0592MHz的晶體,這些晶體在一般場合使用沒有問題,但在此卻不可以,它們在300MHz左右仍然能夠產生較大的干擾,為解決單片機運行速度與電磁干擾的矛盾,建議采用頻率為4MHz或3.58MHz的晶體。

        3、隔離:為了有效抑制單片機對接收模塊的電磁干擾,建議采用①電源隔離;②端口隔離;端口隔離可采用三極管或比較器。實踐表明采用隔離的效果非常明顯。

        五、結束語

        PT2262的軟件解碼在實際應用中有較好的用武之地。采用軟件解碼的系統,廠家再也無須對收發設備進行配套,以利于生產于保管;對客戶來說,使用軟件解碼無須求助,廠家只須再軟件中加入自動學習功能,用戶可自行使用該功能,只須輕按學習鍵即可學習新的通訊設備,如遙控器等。目前,該軟件解碼已經在某

        無線報警設備中采用,客戶反映使用簡便,效果良好。

        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 塘沽区| 云霄县| 安泽县| 焦作市| 恩施市| 称多县| 陆河县| 镇江市| 盐边县| 杭锦旗| 安仁县| 绩溪县| 玉树县| 邯郸县| 太仆寺旗| 禄丰县| 兴海县| 西乌珠穆沁旗| 镇巴县| 荥经县| 台中县| 腾冲县| 基隆市| 申扎县| 西平县| 广饶县| 西盟| 三原县| 临湘市| 乌拉特后旗| 庄河市| 泸定县| 正镶白旗| 吉木乃县| 孝昌县| 霸州市| 固镇县| 那坡县| 阿合奇县| 枣庄市| 吉首市|