專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)遙控解碼源代碼

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時間:2007年08月27日   【字體:

我寫的單片機(jī)遙控解碼源代碼核心代碼
(僅供參考)
  org 0300h
zh: push dph           ;將識別后的遙控信號轉(zhuǎn)換成16位動作代碼
    push dpl
    push acc
    push psw
    setb psw.3         ;進(jìn)入?yún)^(qū)i
    clr psw.4
    mov r0,#2fh        ;轉(zhuǎn)換2fh個單元
    mov r1,#07h        ;8位一小組
    jnb 00h,h01        ;允許轉(zhuǎn)換否?
h0:inc r0             ;取第一組第一位
    cjne r0,#51h,h1      ;是否干擾?
    sjmp h00          ;是則返回
h1:jc h2
    sjmp h00
h2:cjne @r0,#03h,h0    ;開始轉(zhuǎn)換第一組第一位
    inc r0
    cjne @r0,#03h,h0
    inc r0
    cjne @r0,#03h,h0
    inc r0
    cjne @r0,#01h,h0
    inc r0
    cjne @r0,#01h,h0
    inc r0
    cjne @r0,#01h,h0
    inc r0
    cjne @r0,#03h,h0
    inc r0
    cjne @r0,#01h,h0
    cjne r0,#59h,h3      ;地址碼正確否?
    sjmp h00

;單片機(jī)遙控解碼源代碼
h3:jc h4
    sjmp h00
h4:inc r0              ;地址碼正確則開始轉(zhuǎn)換指令碼
    mov a,@r0
    jb acc.1,h5
    clr 08h
    sjmp h6
h5:setb 08h
h6:mov a,21h
    rl a
    mov 21h,a
    djnz r1,h4           ;8位指令碼轉(zhuǎn)換完否?
    setb 02h            ;設(shè)允許執(zhí)行該動作標(biāo)志位
    clr 01h               ;恢復(fù)轉(zhuǎn)換標(biāo)志位
h00:mov 08h,#2fh
    mov 09h,#07h
h01:pop psw
    pop acc
    pop dpl
    pop dph
    ret

關(guān)閉窗口

相關(guān)文章