红外线遥控系统原理及软件解码实例

[09-13 21:15:22]   来源:http://www.88dzw.com  电子制作   阅读:8794

文章摘要: JB P2.2,IR_ERROR ;延时882微秒后判断P2.2脚是否出现高电平如果有就退出解码程序 DJNZ R6,IR_SB ;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序 ;识别连发码,和跳过4.5ma的高电平。 JNB P2.2, $ ;等待高电平避开9毫秒低电平引导脉冲 ACALL DELAY2400 JNB P2.2,IR_Rp ;这里为低电平,认为是连发码信号,见图6。 ACALL DE

红外线遥控系统原理及软件解码实例,标签:电子制作网,http://www.88dzw.com
        JB     P2.2,IR_ERROR  ;延时882微秒后判断P2.2脚是否出现高电平如果有就退出解码程序
        DJNZ   R6,IR_SB       ;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序
    
        ;识别连发码,和跳过4.5ma的高电平。
        JNB     P2.2, $       ;等待高电平避开9毫秒低电平引导脉冲
        ACALL  DELAY2400
        JNB     P2.2,IR_Rp    ;这里为低电平,认为是连发码信号,见图6。
        ACALL  DELAY2400      ;延时4.74毫秒避开4.5毫秒的结果码
    
        ;以下32数据码的读取 ,0和1的识别 请看图2
        MOV     R1,#1AH        ;设定1AH为起始RAM区
        MOV     R2,#4
    IR_4BYTE:
        MOV     R3,#8
    IR_8BIT: 
        JNB     P2.2,$         ;等待地址码第一位的高电平信号
        LCALL  DELAY882        ;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态
        MOV    C,P2.2          ;将P2.2引脚此时的电平状态0或1存入C中
        JNC     IR_8BIT_0      ;如果为0就跳转到IR_8BIT_0
        LCALL  DELAY1000
    IR_8BIT_0:
        MOV    A,@R1           ;将R1中地址的给A
        RRC    A               ;将C中的值0或1移入A中的最低位
        MOV    @R1,A           ;将A中的数暂时存放在R1中
        DJNZ   R3,IR_8BIT      ;接收地址码的高8位
        INC    R1              ;对R1中的值加1,换下一个RAM
        DJNZ   R2,IR_4BYTE     ;接收完16位地址码和8位数据码和8位数据,
                               ;存放在1AH/1BH/1CH/1DH的RAM中
        ;解码成功
        JMP    IR_GOTO

上一页  [1] [2] [3] [4] [5]  下一页


Tag:电子制作电子制作网电子制作 - 电子制作