×
嵌入式 > 嵌入式开发 > 详情

红外遥控接收器使用

发布时间:2023-12-13 发布时间:
|
目前大多使用的是一体化红外接收头,它将红外接收二极管、放大、解调、整形等电路做在一起,只有三个引脚.分别是+5V电源、地、信号输出。所以只需要关心接收头的输出编码格式。

[1]指令格式:前导码 + 地址码 + 地址码反码 + 数据 + 数据码反码

 

[2]指令编码:脉宽调制编码

[3]识别算法:每两次信号的下降沿表示1位数据,根据两次下降沿之间的间隔时间,就可以判断出是前导码,还是数据1或数据0。

A、前导码: 9ms

B、数据“1”:2.25ms

C、数据“0”:1.12ms


注意:[1]虽然0和1的占用时间长度不同,但因为同时其反码的存在,所以整条指令的总长度是固定的。

[2]前导码是固定格式,也是红外指令的识别码

[4]硬件电路:


[5]编程流程:

  • 一体化红外接收头的输出脚接到外部硬件中断I/O上,并设置成下降沿触发。
  • CPU上电,初始化定时器,初值为0。
  • 每次触发中断,停止定时器,读取定时器值,判断定时器值,9ms表示前导码,2.25ms表示1,1.12ms表示0。送入数据缓冲,并对数据队列计数,初始化定时器,重新计时。
  • 判断数据队列长度,除前导码外,接收到32位数据,表示指令接受完成。
  • 指令校验,就是将数据和数据反码,地址和地址反码做加法处理,如果得到的结果是0xFF,表示校验通过,否则,校验失败,丢弃数据。
  • 指令解读,根据规则解读。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
avr和arduino之间有什么关系?avr单片机和arduino的优点分析