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

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


所有红外遥控器的解码方法 已经完成了 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.好,希望该方法可以帮助需要的朋友.


相关文章:
单片机定时器捕获模式解码红外遥控器的方法
搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS 百度文库 专业资料 ...单片机定时器捕获模式解码红外遥控器的方法_专业资料。龙源期刊网 http://www.qikan...
红外遥控解码器
2 红外遥控解码器 2.1 红外遥控解码器的原理图 图 2.1(1) 单片机最小系统电路 单片机最小系统,是指用最少的元件组成的单片机可以工作的系统。对 51 系列...
红外遥控器软件解码及其应用
笔者以 TC9012 芯片遥控器为对象,采集了所有按键编程脉冲波形,并且对同 一按键...本文虽然是用 MCS-51 系列 MCU 对 TC9012 红外遥控器软件解码研究, 但其方法...
红外线遥控器解码程序
红外线遥控器解码程序 2006-12-23 10:33 这里我们以红外线遥控编码芯片为 LC7461 等芯片为例来说明用单片机 实现红外遥控解码的详细过程, 站长琢磨这个解码程序花...
用单片机解码红外遥控器
用单片机解码红外遥控器 用单片机解码红外遥控器 遥控器使用方便,功能多.目前已...接收电路 红外遥控接收可采用较早的红外接收二极管加专用的红外处理电路的方法。...
红外遥控器的单片机解码方法
红外遥控器的单片机解码方法_信息与通信_工程科技_专业资料。红外遥控器的单片机解码...至此 32 位代码已全部接收完成,并存放在 1AH~1DH 中, ;依次为低 8 位...
51单片机红外遥控解码程序(自己修改过的)
51单片机红外遥控解码程序(自己修改过的)_电子/电路_工程科技_专业资料。51 单片机红外遥控解码程序 类别:单片机/DSP 阅读:1182 编者按:以下是网友编写的遥控解码程序...
红外遥控器解码程序
红外遥控器解码程序_信息与通信_工程科技_专业资料。红外遥控器解码程序红外...框图 4 是目前所有红外遥控器发射电路的功能组成,其中的编码器即调制信号, 按...
红外遥控芯片BA5104的软件解码方法探讨
红外遥控芯片 BA5104 的软件解码方法探讨摘要:根据红外遥控芯片 BA5104 的编码格式,探讨使用 AVR 单片机 ATmega16 进 行软件解码的两种方法: 外部中断解码法和输入...
通用红外遥控解码器的设计
通用红外遥控解码器的设计_专业资料。龙源期刊网 http://www.qikan.com.cn 通用红外遥控解码器的设计 作者:余东峰 刘强 刘虎生 孙兆林 来源:《现代电子技术》2011...
更多相关标签:
红外遥控器解码 | 红外遥控器解码程序 | 红外解码 | 红外球解码板 | 红外解码程序 | stm32红外解码程序 | 红外解码芯片 | 红外解码原理 |