单片机遥控解码的源代码详细说明

电子说

1.3w人已加入

描述

单片机遥控解码源代码核心代码

(仅供参考) 
  org 0300h
zh: push dph           ;将识别后的遥控信号转换成16位动作代码
    push dpl
    push acc
    push psw
    setb psw.3         ;进入区i
    clr psw.4
    mov r0,#2fh        ;转换2fh个单元
    mov r1,#07h        ;8位一小组
    jnb 00h,h01        ;允许转换否?
h0:inc r0             ;取第一组第一位
    cjne r0,#51h,h1      ;是否干扰?
    sjmp h00          ;是则返回
h1:jc h2
    sjmp h00
h2:cjne @r0,#03h,h0    ;开始转换第一组第一位
    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

;单片机遥控解码源代码
h3:jc h4
    sjmp h00
h4:inc r0              ;地址码正确则开始转换指令码
    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位指令码转换完否?
    setb 02h            ;设允许执行该动作标志位
    clr 01h               ;恢复转换标志位
h00:mov 08h,#2fh
    mov 09h,#07h
h01:pop psw
    pop acc
    pop dpl
    pop dph
    ret
责任编辑 LK

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分