红外线遥控原理 1(3)

时间:2026-01-21

LJMP MAIN ;在正常无遥控信号时,一体化红外接收头输出是高电平,程序一直在循环。

;=================================================

; 解码程序

IR:

;以下对遥控信号的9000微秒的初始低电平信号的识别,波形见图5。 MOV R6,#10

IR_SB:

ACALL DELAY882 ;调用882微秒延时子程序

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(3).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219