一、红外遥控(IR)
红外遥控是利用红外光进行通信,红外LED将调制后信号发出,由专门红外接收头进行解调接收。通信协议:NEC标准。
二、红外接收原理图
因为端口高低电平变换太快,所以OUT接外部中断。外部中断有四个(Int0、Int1、Int2、Int3),触发方式可以配置为下降沿触发和低电平触发。
外部中断结构图和相关寄存器:
三、NEC编码
开始(Start):先拉低9ms,然后再拉高4.5ms。
数据(Data):0:先拉低560us,再拉高560us
1:先拉低560us,再拉高1690us。( 低位在前,高位在后)
重发(Repeat):先拉低9ms,再拉高2.25ms。(按住不放手)
结束(Stop):拉低560us。
四、红外遥控键码
五、实验
1.红外遥控
实验现象:LCD1602第一行显示“ADD CMD NUM”,第二行显示“00 00 00 ”。显示的是红外遥控地址,按键值,按下VOL+,Num++,按下VOL-,Num--。
用到LCD1602模块
Int0.c
Int0.h
Timer0.c
Timer.h
IR.c
IR.h
main.c
2.红外遥控电机调速
实验现象:按下红外遥控按键0、1、2、3,直流电机转速改变,且在数码管显示相应的速度挡位。
Int0.c
Int0.h
Timer0.c
Timer0.h
IR.c
IR.h
Timer1.c
Timer1.h
Motor.c
Motor.h
Nixie.c
Nixie.h
Delay.c
Delay.h
main.c