红外遥控解码

NEC编码,uPD6121G

引导码+用户码+用户反码+按键码+按键反码+连发码

其中引导码为9ms的高电平和4.5ms低电平组成

用户码和按键码都是8位,加上两个反码一共32位

连发码由起始码9ms和结束码2.25ms组成

用户码和按键码中的数值表示:

0: 0.56ms低电平+0.565ms高电平

1: 0.56ms低电平+1.685ms高电平

编程思想:采用定时器计时,统计高低电平的时间,通过时间区间的判断,识别出起始码/用户码/按键码以及连发码。如果接收到信号是1,则ircom[i] =ircom[i] |0x80>>1,高位置1,右移。如果接收到信号是0,则直接右移>>1,高位自动补0,则得到与接收信号头尾相反的码值,但已可使用。

摘抄两段话:

uPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多128种不同组合的编码。

当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发码)将仅由起始码(9ms)和结束码(2.25ms)组成。(实际上人手的动作是很慢的,即使你快速的按下按键,可能对于芯片来说还是超过108ms,所以如何处理连发码是很关键的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值