当前位置:首页 >> 信息与通信 >>

所有红外遥控器的解码方法


所有红外遥控器的解码方法 已经完成了 DS1302,18B20,RS232 通讯,24C02 存储,红外遥控等.现只将红外遥控的解码方法贴出,希望 能与大家交流,起到抛砖引玉的作用. 我的开发环境是 IAR FOR AVR 5.11, CPU 为 M8,晶振 11.0592. 红外遥控解码原理是通过 AVR 的输入捕获功能,捕获信号后进行宽度判断,并通过串口在电脑中显示出 来.下面是捕获的程序,数据未经处理,只是捕获后进行编码的解码.通过这个捕获程序,原则上能解所有线 外遥控编码,我已经解了格力和中星九 B 的遥控编码,代码未优化,只是测试.

#include <iom8.h> #include "MyDelay.h" //在此未提供 我的延时程序,如果有需要的我再贴出 #include "MyUSART.h"//在此未提供 我的串口配置程序,如果有需要的我再贴出 #ifndef uchar #define uchar unsigned char #endif #ifndef uint #define uint unsigned int #endif void ini(void) { //配置输入捕获 TCCR1A = 0x00;//普通端口模式,OC1A/B 未连接 TCCR1B = 0x81;//位 7 与位 6 是输入捕获允许和触发方式,BIT2-0,分频选择 TCNT1H = 0x00;//计数器起始值高 8 位 TCNT1L = 0x00;//计数器起始值低 8 位 ICR1 = 0x0000;//输入捕获发生时,将该值写入 TCNT TIMSK |= 0x20;//输入捕捉中断使能 BIT5 =1 TIFR &= 0xdf;//输入捕捉标志,外部引脚 ICP1 出现捕捉事件时 ICF1 置位 } #pragma vector = TIMER1_CAPT_vect //定时器 0 溢出中断入口 __interrupt void TimeINT0(void) { uint r; uchar h,l; r = ICR1;//接收时序 if(TCCR1B &= 0x40) //更改触发方式 TCCR1B = 0x81; //下降沿触发 else TCCR1B = 0xc1;//上升沿触发 TCNT1H = 0x00;//计数器起始值高 8 位 TCNT1L = 0x00;//计数器起始值低 8 位 TIFR |= 0x20;//输入捕捉标志,外部引脚 ICP1 出现捕捉事件时 ICF1 置位 h = (uchar)(r>>8); l = (uchar)r; USART_Send(h); //串口显示高八位 USART_Send(l);//串口显示低八位 } void main(void) { ini();

} 以下是由串口调试助手显示的数据.

说明: 1.时间未用,我的程序也通过串口显示了, 2.前两个字节无意义,是因为捕获到低电平后,16 位计数器一直在计数,所以,前面的计数值无用. 3.编码原理不管是曼彻斯特_码/日立的通用红外编码/PT2272 码等,差不多都由(异步) 码头+引导+编码+ 停止位组成,大同小异,所以根据这个原理,解出了上述数据的码头,引导和键编码.再根据解出的码画出频 率图. 4.计算时要将显示的数据转换成 10 进制再计算. 5.未知部分估计是停止位,不过只要能检测到码头,引导和编码就可以了. 6.解码后,可以将该数据进行处理, 这时,这个遥控器就可以赋与功能,和开发板互动了.呵呵, 7.为什么选中九 B,因为中 9B 的遥控器不用花钱,中 9 老是升级,好多客户都不用了,所以又省了 10 元钱, 一块敷铜板的钱,哈哈哈. 8.题外话,中 9 想升级的可以和我交流,我已经升了很多了. 9.好,希望该方法可以帮助需要的朋友.


相关文章:
基于51单片机的红外遥控器解码设计论文
基于51单片机的红外遥控器解码设计论文_工学_高等...掉电保护方式下,RAM 内容被保存,振荡器被冻 结,...从红外线接收到输出与 TTL 电平信号兼容的所有工作,...
遥控器解码知识
在 NEC 编码格式中“0”,“1”的表示方法(脉宽调制)如下: 遥控发射码“0”...就能完成从红外线接收到输出与 TTL 电平信号 兼容的所有工作,比如:VS_1838b,...
一种红外遥控器的编解码仿真
一种红外遥控器的编解码仿真_电子/电路_工程科技_专业资料。本文主要研究红外遥控器编解码问题。首先对红外遥控器作了详细介绍,接着讲述了红外遥控器的组成和工作原...
红外线遥控器解码程序
红外线遥控器解码程序_计算机硬件及网络_IT/计算机_专业资料。红外线遥控器解码...方式为脉冲负边沿触发 SETB EX0 ;打开 INT0 中断请求 ;以下对单片机的所有引脚...
红外遥控器信号的接收和转发
本文介绍一种用单片机对红外遥控器信号接收和转发的方法,由于只关心发射信号波形 ...一、红外信 号的接收和波形测量所有红外遥控器的输出都是用编码后串行数据对 ...
红外遥控器信号接收和显示的设计实现
而且体积和普通的塑封三极管大小一样, 它适合于各种红外线遥控和 红外线数据传输...因为我们只需检测到它的发射编码,然后用软件方式来对 它进行处理, 从而得到所...
万能红外遥控解码芯片YiRX01参考设计
万能红外遥控解码芯片 YiRX01 应用笔记 一、 YiRX01 芯片简介万能红外遥控解码芯片 YiRX01 由三叶电子科技研发, 用来适配目前几乎所有的家 电红外遥控器发出的...
智能红外遥控器的设计 (毕业论文)
红外解码方面,传统方法采用单片机中断或者查询方式采集红外信号,环境不 理想情况...家中各种红外遥控器发射的控制信号进行识别、 存储和再现的智能型红外 遥控器,用...
遥控器红外解码数码管显示
遥控器红外解码数码管显示 论坛:www.doflye.net 编写:jcl 日期:2010.5 修改:...(void)//定时器 0 初始化 { TMOD=0x02;//定时器 0 工作方式 2,TH0 ...
红外遥控解码系统
有众多的厂家在专业生产红外遥控器,也有众多的遥控器方案 开发公司在专业开发各种...编码采用脉冲位置调制方式(PPM)。利用脉 冲之间的时间间隔来区分“0”和“1”...
更多相关标签: