导航:首页 > 操作系统 > 单片机红外解码原理

单片机红外解码原理

发布时间:2024-12-20 16:55:37

① 求单片机红外遥控解码识别长按和短按键的C语言例子

以NEC格式为例:
按键一次: 依次发送 引导码 + 地址 + 地址取反 + 数据 + 数据取反

长按键: 隔110ms左右发一次引导码(重复),并不带任何数据(全部为高电平)

所以根据这个特点可以识别长按键:
程序接收一帧数据后,提取出地址和数据,然后判断
......
//有地址和数据的,为一次按键
.....
//地址和数据为空的,为重复按键
if((ir_addr_code==0xffff)&&(ir_origin_data==0xff)&&(ir_data==0xff))
{
repeat=1;
key= last_key;

}

② 单片机如何红外遥控解码

用单片机的中断 测试低电平,载波是0.14ms,判断低电平时几个0.14ms,就能测出红外线的码值

③ 单片机控制红外遥控编码解码中定时器和外部中断的作用是什么红外遥控编码解码的大致步骤是什么

同时使用上定时器 跟 外中断 的红外程序,只有解码程序。而且该方式,只能解析 使用不同时间长度代表数据“0”、“1” 的波形(如数据‘1’的时间长度 2倍于数据‘0’的时间)。
解析原理:外部中断接 红外输入,当有 红外信号的时候,该引脚会有波形输入(N多下降沿),触发外部中断,通过记录 每2次中断的时间间隔,可以判断此段时间对应的数据(0/1)。一般“数据”长度为32位数据

注意点:
①初次产生外中断的时候,并无 时间记录,不需要进行时间判断;
②第二次中断与第一次中断 之间 的时间,是 红外的引导码,该时间一般多倍于数据时间(一般为ms级时间);
③第三次中断与第二次中断的时间,即为 第一个数据 的时间;
④第34次中断与第33次中断的时间间隔,即为 第32个数据的时间;
⑤后面 可能存在 停止位,是否存在,由遥控器决定;不过,一般都直接忽略该位,除非该位是由自己制作的遥控器 发出 的校验位;
⑥后面 可能存在 连发码,是否存在,由遥控器决定;
另外:一般红外数据的每个字节都是LSB在前,MSB在后的( 低位先发,高位后发)

软件要处理以下情况:
①干扰的处理,有些红外接收头不仅仅对38KHz频率光有反应,可能对人体红外、日光灯红外一样有反应,那就存在干扰。如果它只产生一次干扰,就会使系统卡在引导码接收阶段;
②引导码时间过短、过长 的处理;
③接收数据位数不足的处理;
④完成32位数据接收后,处理接收烂尾:后面不会有中断(如果需接收停止位、连发码,就增加对应数据长度),需要停止计时。
⑤进行数据校对,一般第一字节跟第二字节互为反码,第三字节跟第四字节互为反码,而且第一字节 代表 一个地址、一个密码,只有地址、密码正确,才能算合法的操作。

④ 谁能帮我解释一下这个有关51单片机的红外解码的部分程序

那个N大于30是因为已经超出了0和1代表的时间长度。0和1所代表的高低电平时间不一样。当高电平时长超过n=8时,代表1否则代表0.这个是和你红外设置的0,1代表时间长度有关系,请问你有时序图吗??那就一目了然了

阅读全文

与单片机红外解码原理相关的资料

热点内容
gcc编译消耗内存过多 浏览:279
昌邑网站制作源码 浏览:127
单片机的反向编译 浏览:463
subsample算法 浏览:899
苹果免费看书app哪个最好 浏览:885
c语言加密怎么弄 浏览:842
c语言编译的错误提示 浏览:767
验机苹果app哪个最好 浏览:666
光遇国际服安卓如何购买礼包 浏览:55
163app怎么下载 浏览:247
电脑程序员下场 浏览:45
编译原理ll1文法判断 浏览:727
qt用vs2015编译 浏览:553
结婚日子最好的算法 浏览:794
安卓怎么把数据传到苹果里 浏览:504
编译器标识 浏览:792
编程珠玑第三章 浏览:785
windows如何开启tftp服务器 浏览:110
欧姆龙plc编程指令表 浏览:189
程序员远程收入不稳定 浏览:863