AVR学习笔记--红外遥控接收器使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AVR学习笔记--红外遥控接收器使用
目前大多使用的是一体化红外接收头,它将红外接收二极管、放大、解调、整形等电路做在一起,只有三个引脚.分别是+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,表示校验。

相关文档
最新文档