AVR学习笔记--红外遥控接收器使用
时间:11-23
来源:互联网
点击:
目前大多使用的是一体化红外接收头,它将红外接收二极管、放大、解调、整形等电路做在一起,只有三个引脚.分别是+5V电源、地、信号输出。所以只需要关心接收头的输出编码格式。
[1]指令格式:前导码 + 地址码 + 地址码反码 + 数据 + 数据码反码
[2]指令编码:脉宽调制编码
[3]识别算法:每两次信号的下降沿表示1位数据,根据两次下降沿之间的间隔时间,就可以判断出是前导码,还是数据1或数据0。
注意:[1]虽然0和1的占用时间长度不同,但因为同时其反码的存在,所以整条指令的总长度是固定的。
[4]硬件电路:
[5]编程流程:
- 一体化红外接收头的输出脚接到外部硬件中断I/O上,并设置成下降沿触发。
- CPU上电,初始化定时器,初值为0。
- 每次触发中断,停止定时器,读取定时器值,判断定时器值,9ms表示前导码,2.25ms表示1,1.12ms表示0。送入数据缓冲,并对数据队列计数,初始化定时器,重新计时。
- 判断数据队列长度,除前导码外,接收到32位数据,表示指令接受完成。
- 指令校验,就是将数据和数据反码,地址和地址反码做加法处理,如果得到的结果是0xFF,表示校验通过,否则,校验失败,丢弃数据。
- 指令解读,根据规则解读。
[6]实例代码:
等待补充
AVR学习笔记红外遥控接收 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)