51单片机红外遥控和接收过程


最初系统状态为0状态,开发板上的红外接收未收到红外光,它的引脚输出高电平,当你按下一个按键时就进入了中断(因为红外LED亮了,红外接收就变低电平就有一个下降沿),状态变为1,等待接收开始或者重复,遥控器上的红外灯闪烁,红外接收头把收到的红外脉冲转变为电脉冲,这时候通过对脉冲的解读来识别按下了什么按键、要执行什么、是开始信号还是重复信号,中断函数设置的是下降沿触发,根据开始信号的脉冲可以看出来,开始信号是由一个 由下降沿开始由下降沿结束的一个脉冲,这也就是中断函数为什么要配置成下降沿触发的原因,也就是说开始信号里面有2个下降沿而且是在开始和结束,那么就可以进入两次中断,计算两次中断的间隔时间就可以去判断是不是开始信号,如果是开始信号就置为状态2接收数据,在发送数据的那一段,数据是由010101这样二进制组成的,一个data有32位就是4字节(地址码,地址反码,命另码,命令反码),但是要注意这里的0101不是靠灯的闪烁来直接定的,它是设置了数据1和数据0,数据0和1的特征看下面我发的图,数据0和1它的波形里面都是有2个下降沿的,就可以用中断去计算它的时间,然后去判断是0还是1,通过这样判断,就可以得到1串32位的二进制数字了,再通过对这个二进制处理把命令码和地址码取出来
PS:如何判断是单发还是连发,这时候重复信号就起作用了,你一直按着到了重复信号那一段,这时候的(命令码和地址码已经有了),系统就会回到状态0,再重新开始,以此循环,地址码和命名码就一直是原来的那个,从而实现连发2903fb08057548b08e8d9df2890efce1.jpg

 

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Flamingo۶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值