红外遥控的编解码以及识别驱动
由于不同的遥控器的编码格式可能是不同的,这里只是目前我所用的这款遥控器的单片机识别程序以及可以对未知编码格式的红外遥控器进行解码的方法。
红外遥控器的编码一般由引导码、系统码、系统反码、功能码、功能反码、固定停止码或者校验码等组成。
1、实例 红外遥控器解码识别程序
作为例子的遥控器是属于一种空调遥控器的编码。(以后所说的T都是指400us的时间)其编码格式由引导码+固定头码+功能码+校验码组成。
引导码脉冲为8T的高电平和8T的低电平。
位1脉冲宽度为1T的高电平,3T的低电平。
位0脉冲宽度为1T的高电平,1T的低电平。
校验码为所有的数据和累加取反。
红外遥控的波形如下图所示:
我用到了stm8单片机中的定时器1,以及红外接收头所对应的中断,中断使用下降沿触发,主要通过检测和判断脉冲低电平的时间不同来区分不同的数据。定时器1来计算连续两次中断的间隔(其对应了相应脉冲的宽度)
根据上述条件ÿ