红外的解码和发送

一、NEC 协议说明
NEC 协议特点:8位地址和8位命令为提高可靠性,地址和命令都传输2次,脉冲间隔调制38kHz 载波频率

(1)NEC 的0和1的脉冲定义

在发送端:
①每一位时间为1.12mS(560us+560个低电平)或2.25ms(560us+1680us),调制采用脉冲间隔时间长短调制每一位。
②每一个脉冲都是由560uS 长度的38kHz 载波脉冲构成的,占空比为1/4或1/3(约21个周期)。逻辑1:2.25mS 逻辑0:1.12mS而在接收端:没有脉冲的时候为高电平,接收到脉冲的时候为低电平,故逻辑1为560us 低+1680us 高,逻辑0变为560us 低+560us 高。(因为560us 是载波脉冲,故为低了,剩余的没有脉冲,故为高了,从而根据接收到的高电平的脉宽可以区分0与1);由这里我们可以得出在0与1之间,1高电平持续时间为1.68ms,0吃血的时间为0.56ms.
(2)NEC 协议


上图是NEC 协议的一个典型脉冲发送图。此协议LSB 最低位先传送,所以接收的时候最先接收的是低位。
此图传送的地址是$59、命令是$16.
协议说明:
①一个信息发送是由9mS 的AGC 自动增益控制脉冲开头,在早期的IR 红外接收器中用来设置增益。接着是4.5mS 空闲,然后是地址、命令。
②地址和命令都传送2次,第二次的地址和命令是反码,可以用来校验接收到的信息。总的传输时间是固定的,因为每一位都有反码传送。
③一个命令只发送一次,即使遥控器上的按键一直按着。但是会每110mS 发送一次代码,此代码是重复码(在④中解释),直到遥控器按键释放。
④重复码比较简单:一个9mS 的AGC 脉冲、2.25mS 间隔、560uS脉冲。
由以上可知:在接收端高电平持续最长的时间为4.5ms,表示为引导码。高电平时间持续为2.25ms 为重复码。由此我们在一个5ms 的时间内的脉冲的高电平持续时间,从而判断是引导码、重复码、还是1和0。高/ 低电平时间4.5/9ms 2.25/9ms 1.68/0.56ms0.56/0.56ms码类型引导码重复码1 0在5ms 只要是上面的任意码,都会出现高低电平的变化的,如果超过5ms 都没有出现变化,则这个码就是无效码。四个方框就构成了编程的基础。在看上面的电平,在接收端都是先接收到低电平,再接收到高电平,以一旦接收到低电平,就要进入中断,等待高电平的到来。

 

一般的红外有三个脚,分别是:

+5v电源

0v地

数据线

 

stm8用定时器加普通io口得双边中断就可以实现。

发送用stm8的定时器加普通io口就可以实现。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值