title
收藏本站
联系站长
关于本站
首页 信息发布 产品宣传 论坛交流 学习文章 技术人生 项目源码 技术资料 人才收录
 今天是: 2010年7月10日 星期 六
欢迎光临!单片机群号:25930265(新) 71062262 21829895 64584393 26583231(只限加一群)  
热门文章推荐


当前位置:首页>>>单片机学习文章>> 2272asm无线解码
2272asm无线解码
作者:micmic给他留言 [转载] 字体:
发表于:
2009-10-13 21:33:05

org 0000H
ljmp ppp
PT_dalay:
        MOV    B,#42                 ;pt2262振荡电阻r=4.7M,pt2260为 r="10M时的延时",
        DJNZ   B ,$                  ;其它电阻R= X(M) 时,B=42*X/4.7
 
        INC    R7
        RET
        NOP
 ;--------------------------------------------------------------------
ppp:
      pt2272_P    EQU    P3.6           ;可以使用任意I/O
pt2272:
        JB     pt2272_P,$+5
        RET
        NOP
       
;---------  测 同 步 码 ----------------   
        MOV    R7,#0                
syn :                   
        JNB    pt2272_P, syn0
                                     
        LCALL  PT_dalay
        MOV    A, R7
        ADD    A,#18
        JNC    syn
      ;  ajmp   exit
        NOP
syn0:      
        MOV    R7,#0
syn1:
        JB     pt2272_P,syn2
        LCALL  PT_dalay
        MOV    A,R7
        ADD    A,#100
        JNC    syn1
       ; ajmp   exit
        NOP
syn2:     
        MOV    A,R7
        SUBB   A,#22
        JNC    addr_data       ;同步码成功转测地址和数据
      ;  ajmp   exit            ;不成功退出
        NOP

 ;------ 测 地 址 和 数 据--------------------------------
addr_data:                   
        MOV    R6,#24
a_d_loop:
        MOV    R7,#0                
a_d_0:
        JNB    pt2272_P, a_d_1
                                     
        LCALL  PT_dalay
        MOV    A,R7
        ADD    A,#240
        JNC    a_d_0
       ; ajmp   exit
     ;   RET
        NOP
a_d_1:         ;1               
        MOV    A,R7
        SUBB   A,#2
        JNC    $+5
      ;  ajmp   exit
        NOP
        SUBB   A,#4
        JNC    a_d_2
        CLR    C
        SJMP   a_d_4
        NOP
a_d_2:
        SUBB  A,#1
        JNC   $+5
;       ajmp   exit
        NOP
        SETB   C
a_d_4:
        MOV    A,22h                  ;22h-- 数据
        RLC    A
        MOV    22h,A
        MOV    A,21h                  ;21h-- 地址 低8位
        RLC    A
        MOV    21h,A
        MOV    A,20h                  ;20h-- 地址 高8位
        RLC    A
        MOV    20h,A
        MOV    R7,#0
a_d_5:
        JB     pt2272_P,a_d_6
        LCALL  PT_dalay
        MOV    A,R7
        ADD    A,#240
        JNC    a_d_5
       ; ajmp   exit
        NOP
a_d_6:
        MOV    A,R7
        SUBB   A,#2
        JNC    $+5
       ; ajmp   exit
        NOP
        DJNZ   R6,a_d_loop

 ;---- 地址  由 3 进制数 转成 10 进制  -------
 
        NOP
        MOV    R5,#2                  
        MOV    R6,#1
        MOV    R7,#4
        MOV    R0,#20h
addr_loop:
        MOV    A,@R0
        MOV    R2,A
        MOV    R4,#0
addr_lp:
        MOV    A,R2
        ANL    A,#3
        MOV    B,A
        XRL    A,#2
        JNZ    $+5
        ajmp   exit
        NOP
        MOV    A,B
        XRL    A,#3
        JNZ    $+4
        DEC    B
        MOV    A,R6
        MUL    AB
        ADD    A,R4
        MOV    R4,A
        MOV    A,#3
        MOV    B,R6
        MUL    AB
        MOV    R6,A
        MOV    A,R2
        RR     A
        RR     A
        MOV    R2,A
        DJNZ   R7,addr_lp
        MOV    A,R4
        MOV    @R0,A
        MOV    R6,#1
        MOV    R7 ,#4
        INC    R0
        DJNZ   R5,addr_loop

 ;---- 数据  由 3 进制数 转成 10 进制  -------
 
        NOP
        MOV    R0,#22h                ;
        MOV    R6,#1
        MOV    R7,#4
        MOV    A,@R0
        MOV    R2,A
        MOV    R4,#0
data_loop:
        MOV    A,R2
        ANL    A,#3
        MOV    B,A
        XRL    A,#0
        JZ     data_0
        MOV    A,B
        XRL    A,#3
        JZ     $+5
        ajmp   exit
        NOP
        DEC    B
        DEC    B
data_0:
        MOV    A,R6
        MUL    AB
        ADD    A,R4
        MOV    R4,A
        MOV    A,R6
        RL     A
        MOV    R6,A
        MOV    A,R2
        RR     A
        RR     A
        MOV    R2,A
        DJNZ   R7,data_loop
        MOV    A,R4
        MOV    @R0,A
exit:
       ; ret
        nop
 ajmp pt2272
end


(本文引自www.mcujl.com/article.asp?conID=464)


---------------------------------------------------------------------------------------------------
[打印文章] [关闭本页] [返回顶部]
本网站部分资料转自网上,如有侵权请来信告明,我们会尽快删除  | 网站地图
Copyright @ 2007-2010 深圳单片机交流网.版权所有
网站创办者:詹长亮,周发辉,李林盛
网站支持:zcl843@163.com QQ:380476830 13723787271詹长亮