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

让红外线模块工作起来,首先你得给它供电,然后你得有个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相等,说明接收到数据无误。

利用TCP/IP协议构建卫星IP网络及实现视频的远程传输应用
科大讯飞与涂鸦智能达成深度合作
bga返修台的作用
谋合作、创新境 - 百度参观图为科技生产全链路
三星2020年增加可折叠机的销量,计划推出500万至600万部
解析红外遥控模块的工作原理
酒店智能照明物联网云平台解决方案
iPhone8发布时间确认:iPhone8配置、价格曝光,史上最贵iPhone8果真名副其实
世界上遍布着人眼看不见的视觉信息
之江实验室量子精密测量大科学装置
变频器的作用是什么
移动数据流量保持增长 运营商“5G+”为生活添彩增色
单片机的种类有哪些
美国发布“终极禁令”,华为这次还能坚持下去吗
基于模拟CMOS图像传感器分类器的设计
新唐科技NAU8822L解码器简介
mos管可以用来转电源极性吗?
FOXBORO-DCS系统与螺杆式冷水机组通信解决案例
分享一种MOS管及其外围电路设计方案
变频器的端子功能与接线