原创 RC-6 遥控器解码

2010-1-3 04:39 2609 4 4 分类: MCU/ 嵌入式

纠结了好长时间的RC-6红外遥控器参考了"yw912"的这篇贴子《http://blog.ednchina.com/YW912/273130/message.aspx》后解码成功,在此对yw912的无私奉献精神表示感谢.先说一下解码思路:


/*****************philipsRC-6解码思路如下***************************
1、  如果低电平是窄的,且B_bitOver=1,那么B_bitOver=0,当前位为1,R_irBit++。


2、  如果低电平是窄的,且B_bitOver=0,那么B_bitOver=1,其它不做处理。


3、  如果低电平是宽的,且B_bitOver=1,是错误码。


4、  如果低电平是宽的,且B_bitOver=0,那么B_bitOver=0,当前位为1,R_irBit++。


5、  如果高电平是窄的,且B_bitOver=1,那么B_bitOver=0,当前位为0,R_irBit++。


6、  如果高电平是窄的,且B_bitOver=0,那么B_bitOver=1,其它不做处理。


7、  如果高电平是宽的,且B_bitOver=1,是错误码。


8、  如果高电平是宽的,且B_bitOver=0,那么B_bitOver=0,当前位为0,R_irBit++。


9、  奇偶校验位的电平宽度是其他位电平宽度的2倍,在程序中单独处理。
关键参数:
高电平时间:R_Htime
低电平时间:R_Ltime
位变量:    B_bitOver 指示一位数据是否处理完。
位计数器:  R_irBit
把红外信号接至外部中断INT0,外部中断后关外部中断,开Timer0中断,定时中断设置成200us中断,
在中断程序中扫描I/O(p3.2),测量遥控信号低电平和高电平的时间.
mcu:89s52 12M
//外部中断进入红外解码,进入后关外中断开启定时器T0进行中断定时解码


在此也发出来供大家参考,先上一张时序图:点击看大图


下面贴出代码:


点击看大图


点击看大图


点击看大图


点击看大图


点击看大图


点击看大图


点击看大图


 


 


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条