用ME300B单片机开发的1602液晶显示红外遥控键值解码器
[09-14 01:30:25] 来源:http://www.88dzw.com 电子制作 阅读:8934次
文章摘要:编码O:低电平的宽度0.56ms+高电平的宽度O.56ms。编码1:低电平的宽度0.56ms+高电平的宽度1.68ms。编码“O”和“1”的定义如图5和图6所示。我们可以发现“O”和“1”低电平的宽度是固定的为0.56ms,不同的是两者高电平的宽度不同,“O”为O.56ms,“1”为1.68ms。因此可以根据高电平的宽度,来确定接收的编码是“0”还是“1”。 四、解码程序的编程与说明 IR译
用ME300B单片机开发的1602液晶显示红外遥控键值解码器,标签:电子小制作,http://www.88dzw.com编码O:低电平的宽度0.56ms+高电平的宽度O.56ms。
编码1:低电平的宽度0.56ms+高电平的宽度1.68ms。
编码“O”和“1”的定义如图5和图6所示。我们可以发现“O”和“1”低电平的宽度是固定的为0.56ms,不同的是两者高电平的宽度不同,“O”为O.56ms,“1”为1.68ms。因此可以根据高电平的宽度,来确定接收的编码是“0”还是“1”。
四、解码程序的编程与说明
IR译码子程序主要工作为等待红外信号出现,跳过前引导信号(一个9ms的低电平和一个4.5mS的高电平),然后开始收集32位的编码数据,并存入以IRCOM为首地址的4个连续的内存单元中。
IR译码子程序;R0——存放IR接收数据;R2——高电平宽度的计数值;R3——一字节需接收8位。BIT位计数。
;IRIN—P3.2
IR_IN:
MOV R0,#IRCOMMOV R4.#30IR_IN1:
CALL DEL ;延时4ms去干扰后,再确认IR信号是否出现DJNZ R4.IR_IN1JB IRIN,IR_END:如果IRIN=1没有IR信号出现。则退出WAIT_H:
JB IRIN,WAIT_Hl:等IR变为高电平避开9毫秒低电平引导脉冲CALL DELJMP WAIT-HWAIT_H1:
MOV R3,#0:8位数清为OWAIT_L=JNB IRIN,WAILH2:等IR变为低电平,跳过4.5ms的前导高电平信号CALL DELJMP WAIT_LWAIT_H2:
JB IRIN,IR_COUN;等IR变为高电平CALL DELJMP WAIT_H2IR_COUN:
MOV R2,#0:对高电平进行0.14ms计数IR_COUN1:
CALL DELJB IRlN,IR_COUN2;等IR变为高电平:IR=0,检查R2中的计数值MOV A,#8CLR C :清借位标志SUBB A,R2:判断高低位,C=0,则解码为“0” :C=1,则解码为“1”
MOV A,@R0:取出原先的数据RRC A :将借位标志C移入AMOV@R0,A;处理完一位,将数据写入INC R3;接收字节计数加1CJNE R3,#8,WAIT_L:需处理完8位MOV R3,#0INC R0:存放IR数据单元值加1CJNE R0,#1RCOM+4,WAIT_L;收集到4字节了?
JMP IR_END;JMP IR_SHOWIR_C0UN2:
INC R2CJNE R2,#20,IR_COUN1:O.14ms计数过长,则自动离开IR_END:REI;
;延时0.14ms;IR解码使用;晶振:11.0592MHz DEL: MOV R7,#64DJNZ R7,$RET解码的关键是如何识别“0”和“1”。程序中设计一个O.14ms的延时时间作为单位时间,对脉冲维持高电平的时间进行计数,并把此计数值存入R2。若计数值为4.(O.1 4ms×4=0.56ms)表示脉冲高电平的宽度为0.56mS;若计数值为12,(O.14ms×12=1.68ms)表示脉冲高电平的宽度为1.68ms。因此可以直接判断高电平的宽度的计数值是4或是12,来决定编码为O或是1。在程序中把0.1 4ms×8=1.12ms作为判断“0”和“1”的分界点,使用减法指令SUBB A,R2来完成判断。
MOV A,#8 :A寄存器设为8CLR C :清借位标志SUBB A,R2 :R2为计数值
●当“8-R2”有借位产生,借位标志C=1,则解码为“1”。
●当“8-R2”无借位产生,借位标志C=0,则解码为“O”。
当“8-R2”有借位产生,说明脉冲维持高电平的时间>1.12ms(>0.56ms),则解码为“1”。当“8-R2”无借位产生,说明脉冲维持高电平的时间小于1.12ms(<1.68ms),则解码为“O”。另外当高电平计数≥20时(0.14ms×20=2.8ms)有错误程序退出。
- 上一篇:用增强型51实验板实现红外线遥控
《用ME300B单片机开发的1602液晶显示红外遥控键值解码器》相关文章
- › 用ME300B单片机开发的1602液晶显示红外遥控键值解码器
- 在百度中搜索相关文章:用ME300B单片机开发的1602液晶显示红外遥控键值解码器
- 在谷歌中搜索相关文章:用ME300B单片机开发的1602液晶显示红外遥控键值解码器
- 在soso中搜索相关文章:用ME300B单片机开发的1602液晶显示红外遥控键值解码器
- 在搜狗中搜索相关文章:用ME300B单片机开发的1602液晶显示红外遥控键值解码器
编辑推荐
- · 自制教室照明节电控制器
- · 双色音乐彩灯的制作
- · 三相交流电机缺相保护器
- · 声光控节能灯的制作
- · 同线电话转呼及互通器电路
- · 超低频信号发生器的制作
- · 自制热转印电路板
- · 警笛发声生器电路
- · 一款节能电路
- · 利用太阳能充电的旅行充电器