全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

解析红外遥控模块的工作原理

时间:2023-10-08 17:16

人气:

作者:admin

标签:   红外  解析  遥控  模块 

导读:让红外线模块工作起来,首先你得给它供电,然后你得有个CPU来处理它发送数据,通过单片机处理以后,我们才能知道红外模块发送的是什么数据。...

红外线模块工作起来,首先你得给它供电,然后你得有个CPU来处理它发送数据,通过单片机处理以后,我们才能知道红外模块发送的是什么数据。红外接收端和CPU连接,红外接收端给CPU的数据,是一些PWM波,也就是一些高低电平组成连续波形。因此,我们需要CPU具有处理这些波形的能力。

CPU需要的功能:

1、定时功能:也就是计时用;

2、捕获功能:上升沿捕获,下降沿捕获;

3、中断功能:定时时间,上升沿捕获,下降沿捕获;

首先将CPU的捕获IO设置为上升沿捕获,等待上升沿到来,上升沿到来,定时器开始计时;然后将CPU的捕获IO口捕获设置为下降沿捕获,等待下降沿到来,下降沿到来,停止计时,计算这2个沿的时间Time,这个时间,也就是高电平的时间。

通过这个高电平时间来确定收到数据是0或者1,也有可能是重复码和引导码。

1、Time为0.56ms(高电平时间)时,收到的电平为0;

2、Time为1.685ms(高电平时间)时,收到的电平为1。

3、Time为2.25ms(高电平时间)重复码;重复码,就是重复按某一个键。

4、Time为4.5ms(高电平时间),引导码;

红外线发送的每一帧数据,除了引导码以外,有32位有效数据,每个字节为8位,一帧数据的有效数据也就是4个字节。

从高位到低位,高两个字节为地址码和地址反码,后面两个字节为数据码和数据反码。

得到32位数据后,需要对数据进行处理:

我们定义一个32位的变量RevData。

同时定义4个8位的变量,地址码AdrCode,地址反码AdrInv,数字码keyValue,数字反码keyIvalue。

将变量RevData右移24位后,将值赋给地址码AdrCode;

将变量RevData右移16位后,和0xff进行与运算后赋值给地址反码AdrInv。

如果将AdrCode取反后,等于AdrInv,说明接收的数据是正确的。

将变量RevData右移8位后赋值给数字码keyValue

直接将变量RevData赋予给数字反码keyIvalue

如果将keyValue取反后,与keyIvalue相等,说明接收到数据无误。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信