红外遥控(外部中断)

1.简介

红外遥控:利用红外光进行通信的设备,由红外LED将调制后的信号发出,由专用的红外接收头进行解调输出(到 IO口)

通信方式:单工,异步

LED:发出红外光

波长:940nm

接收器:包含红外接收器;滤波器,放大器等等的一个集成电路(解调)我们不用解调,直接接收数据就可以了

(异步:没有单独的时钟线进行应答之类的,需要双方约定时间,我拉低几毫秒表示什么的(单总线类似))

通信协议标准:NEC标准

2.硬件部分

开发板上面并没有,发送电路,我们通过遥控器进行发送数据;主要进行接收部分的,进行解码,读取键码值;

(1)发送电路

第一个电路由两个PNP型三极管和一个红外LED组成,IN的位置是我们输入的PWM波形;

如果想使红外灯亮,必须要在IN的低电平下,让38KHz的方波,在低电平;我们输入的方波频率肯定没有38KHz大;

所以在IN低电平情况下,红外LED会以38KHz的频率进行闪烁(低电平够38KHz方波几个周期)

(在熄灭的情况下,由于IN是直接是高电平,不会导通三极管,所以直接第二个三极管就不会导通,LED就不会亮!!!上面的波形都进不去和IN波形进行叠加)

原因:为了抗干扰效果好(太阳会发出很强的红外光,会影响这个通信)我们让它亮的时候以38KHz闪着亮,太阳光不会闪着亮,只会持续

接收电路,再通过电路将38KHz之外的频率滤除;剩下这38KHz的频率,再进行放大,再将38KHz滤除,就可以在很强红外光中,将信号进行传输!!!

(2)此种接收电路,需要在IN的端口,通过程序直接输出:高电平就持续,低电平以38KHz的频率进行亮的波形

(3)(4)会直接将信号处理完毕(接收38KHz频率,放大,滤除38KHz,输出IN的波形)

由于,我们按下按键后,方波会很快的执行完(几十毫秒内),我们需要将解调后的信号接收在外部中断引脚上!!!一旦产生下降沿,我们就立马进行处理(红外灯要闪烁了)(计时处理)响应就会很及时。

3.基本发送与接收

空闲状态:红外LED不亮,接收头输出高电平

发送低电平:红外LED以38KHz频率闪烁发光,接收头输出低电平(是 38KHz就输出低)

发送高电平:红外LED不亮,接收头输出高电平

4.NEC编码(IN)

低位在前,高位在后

发送DATA,地址码+地址反码+Command+Command反码

32位的数据

地址码:遥控器的标识符(我选择哪个遥控器进行通信)

反码:进行前面数据验证,防止错误

Command:就是我们的键码,按下哪个按键

发送0:低电平560us,再高电平560us(封装了38KHz,其实低电平发送这样以后,接收到低电平是38KHz的频率)

发送1:低电平560us,再高电平1690us

一帧数据:110ms,接收以后,解码后,会变成正常的高低电平(没有38KHz在)然后分析这些01,就知道地址码和命令码

repeat:按键按下不松手,就会反复发送repeat,也就是长按连加功能解码这个,收到一个repeat信号就加1(110-110-110)

repeat:低电平9ms,高电平2.25ms(110ms)

(我们红外遥控的地址码就是00000000)

这里的码是unsigned char,无符号的一般都是,所以反码直接取反即可

当我们发送完数据之后,我们必须将这个逻辑进行终止,我们需要下降沿,有了下降沿我们才知道这个高电平的时间,从而判断1或者0,然后低电平96us之后,我们一直高电平,直到有信号又要发送!!!

第二个键:0x46

5.外部中断

STC89C52有4个外部中断

触发方式:下降沿触发,低电平触发

外部中断:直接接单片机引脚!!!

INT0:接1,下降沿触发;接0,低电平触发(通过一个非门)

总体编码

状态机(0)空闲状态,接收到下降沿将计时器打开开始计时,然后将状态机(1)转为寻找状态(寻找头部信号,Start/Repeat信号)然后判断是Start还是Repeat状态,如果是起始信号就会将状态机(2)转化为解码状态,解码32位;如果是Repeat信号,就将重发标志位置1,表示是重发信号,再将状态机切换回空闲状态(0)

(2)状态判断出来1 0 再将数据保存下来(然后接收32位之后,停止接收;然后对数据进行验证)验证成功之后,会将将收到数据标志位置1,再将状态切换为(0)空闲状态

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值