红外遥控软件解码方法 【技术领域】
本发明涉及一种红外遥控解码技术,具体地说,涉及一种红外遥控软件解码方法。
背景技术
现有的红外遥控编码和解码技术大都是通过硬件来实现的,即由一对编码和解码的芯片来完成,这样即增加了硬件电路的成本,又使硬件电路复杂化,反而会降低电路性能的稳定性。
为此,人们一直在寻求一种更优化的技术解决方案。
【发明内容】
本发明针对现有技术的不足,提供了一种即可使硬件电路简化又可降低解码成本的红外遥控软件解码方法。
本发明所采用的技术方案如下:一种红外遥控软件解码方法,它包括以下步骤:
步骤1、将红外遥控接收器的输出端连接到嵌入式微处理器的中断输入引脚,以便于嵌入式微处理器通过中断输入引脚读取红外遥控接收器接收到的遥控编码脉冲信号;
步骤2、当红外遥控接收器接收到的遥控编码脉冲信号通过嵌入式微处理器的中断输入引脚时,则嵌入式微处理器启动预设的解码程序;
步骤3、测试每组遥控编码脉冲信号中的每一个脉冲信号的逻辑电平和脉冲宽度,并利用预先设定的解码规则对每组遥控编码脉冲信号进行解码,得到对应的红外遥控数字信号;
步骤4、从预先设定的多个特征值中搜索与该红外遥控数字信号相匹配的特征值,从而获取与该相匹配的特征值所对应的遥控命令;
步骤5、执行与该相匹配的特征值所对应的遥控命令。
基于上述,所述解码规则是:对于连续的两个脉冲信号,若第一个脉冲信号是低电平、第二个脉冲信号是高电平,且第一个脉冲信号的脉冲宽度是第二个脉冲信号的脉冲宽度的3倍,则将该连续的两个脉冲信号用数据位“1”表示;
对于连续的两个脉冲信号,若第一个脉冲信号是低电平、第二个脉冲信号是高电平,且第一个脉冲信号的脉冲宽度是第二个脉冲信号的脉冲宽度的1/3倍,则将该连续的两个脉冲信号用数据位“0”表示。
本发明相对现有技术具有突出的实质性特点和显著进步,具体说,该红外遥控软件解码方法采用软件解码技术替代了现有的硬件电路解码技术,即可使接收电路简单化,利于电路的稳定运行,又降低了解码成本;另外,针对不同的编码芯片,无需更改接收电路,只需修改相应的解码软件即可,降低了再次开发的周期,减少了再次开发的成本。
【具体实施方式】
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
一种红外遥控软件解码方法,包括以下步骤:
步骤1、将红外遥控接收器的输出端连接到嵌入式微处理器的中断输入引脚,以便于嵌入式微处理器通过中断输入引脚读取红外遥控接收器接收到的遥控编码脉冲信号。
采取将红外遥控接收器的输出端连接到嵌入式微处理器的中断输入引脚的连接方法,使软件解码既可工作于查询方式,也可工作于中断方式。
在本实施例中,遥控器中的红外按键编码电路采用PT2248芯片,通过PT2248芯片进行按键编码,产生编码脉冲,并驱动红外发射管输出红外遥控脉冲信号;红外遥控接收器接收并完成对红外遥控脉冲信号的放大、检波、整形,最终解调出遥控编码脉冲信号。
步骤2、当红外遥控接收器接收到的遥控编码脉冲信号通过嵌入式微处理器的中断输入引脚时,则嵌入式微处理器启动预设的解码程序;
具体的说,如果遥控器没有发送红外遥控脉冲信号,则红外遥控接收器的输出端保持高电平;
当红外遥控接收器接收到红外遥控脉冲信号时,红外遥控接收器将该信号解调下来并转换成脉冲序列,即遥控编码脉冲信号,然后,将遥控编码脉冲信号加到嵌入式微处理器的中断输入引脚,此时,中断输入引脚由高电平到低电平,嵌入式微处理器启动预设的解码程序。
步骤3、测试每组遥控编码脉冲信号中的每一个脉冲信号的逻辑电平和脉冲宽度,并利用预先设定的解码规则对每组遥控编码脉冲信号进行解码,得到对应的红外遥控数字信号;
具体的说,根据预先设定的中断方式,每一个脉冲信号有一次中断,用软件测试中断输入引脚的逻辑电平,同时启动T计时器,分别测量该中断输入引脚在高电平和低电平情况下的时间值,即启动T计时器测出每一个脉冲信号的脉冲宽度,存储起来,然后进行分析;
基于前述,所述解码规则是:对于连续的两个脉冲信号,若第一个脉冲信号是低电平、第二个脉冲信号是高电平,且第一个脉冲信号的脉冲宽度是第二个脉冲信号的脉冲宽度的3倍,则将该连续的两个脉冲信号用数据位“1”表示;
对于连续的两个脉冲信号,若第一个脉冲信号是低电平、第二个脉冲信号是高电平,且第一个脉冲信号的脉冲宽度是第二个脉冲信号的脉冲宽度的1/3倍,则将该连续的两个脉冲信号用数据位“0”表示。
在本实施例中,所述红外遥控数字信号包括12位二进制编码,其中,前6位编码是用户辨识码,其不随按键的不同而变化,它是为了表示特定用户而设置的一个辨识标志,以区别不同机种和不同用户发射的遥控信号,防止误操作;后6位编码是按键识别码,其随按键的不同而改变,即不同的按键编码是和遥控器上不同的按键一一对应。
步骤4、从预先设定的多个特征值中搜索与该红外遥控数字信号相匹配的特征值,从而获取与该相匹配的特征值所对应的遥控命令;
具体的说,预先设定的每一个特征值均对应一个遥控命令,当搜索到与该红外遥控数字信号相匹配的特征值时,即找到了与该红外遥控数字信号所对应的遥控命令。
步骤5、执行与该相匹配的特征值所对应的遥控命令,即执行了与该红外遥控数字信号所对应的遥控命令。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。