发明名称 遥控器信号接收方法
摘要 本发明涉及遥控技术。本发明解决了现有空调器遥控器信号接收可靠性不高的问题,提供了一种遥控信号接收方法,其技术方案可概括为:通过定时器timer0的应用及判定接收到的脉冲宽度时间,使遥控器信号接收能够对干扰信号进行有效处理和隔离。本发明的有益效果是,提升遥控器信号的接收效率和可靠性,适用于遥控器信号的接收。
申请公布号 CN102945596B 申请公布日期 2014.12.24
申请号 CN201210426353.9 申请日期 2012.10.31
申请人 四川长虹电器股份有限公司 发明人 陈跃
分类号 G08C19/16(2006.01)I 主分类号 G08C19/16(2006.01)I
代理机构 成都虹桥专利事务所(普通合伙) 51124 代理人 刘世平
主权项 遥控信号接收方法,其特征在于,包括以下步骤:步骤1、预设某一个外部中断INTx在下降沿或上升沿触发外部INTx中断,x为自然数;步骤2、等待遥控器输入信号引起的外部INTx中断发生;步骤3、若外部INTx中断发生,处理器执行中断服务程序,判断第一寄存器step的值是否为0,若不为0则进入步骤5,若为0则进入步骤4;步骤4、设置定时器timer0定时时间,启动定时器timer0开始计数,同时将第一寄存器step的值置为1,退出中断服务程序,回到步骤2;步骤5、读取定时器timer0的当前计数器时间值放入第二寄存器,计算得出定时器timer0从上次定时开始到当前计数器时间值所经历的时间,得出两次外部INTx中断之间的脉冲宽度时间放入第三个寄存器T0,再次设定定时器timer0的定时时间,重新启动定时器timer0开始计数;步骤6、判断第一寄存器step的值是否为1,若为1则进入步骤7,若不为1则进入步骤8;步骤7、根据第三寄存器T0的值判断输入信号是否为有效的引导码,若是则将第一寄存器step的值置为2,退出中断服务程序,回到步骤2,若不是则判定为干扰信号进入步骤13,所述根据第三寄存器T0的值判断输入信号是否为有效的引导码的方法为:当第三寄存器T0的值在引导码标准时间宽度一定的误差范围内时,判定为有效引导码,否则判定为无效引导码,所述引导码标准时间宽度记为T1,则引导码标准时间宽度一定的误差范围为[T1×(1‑n0%),T1×(1+n0%)],其中,n0为正数;步骤8、根据第三寄存器T0的值判断输入信号是否为串行数字信号“0”或“1”,若为串行数字信号“0”或“1”则移位处理为8bit的字节byte后存储到接收缓冲区,并进入步骤9,若不为串行数字信号“0”或“1”则判定为干扰信号进入步骤13,所述根据第三寄存器T0的值判断输入信号是否为串行数字信号“0”或“1”的方法为:当第三寄存器T0的值在串行数字信号“0”的标准时间宽度一定的误差范围内时,判定为串行数字信号“0”,当第三寄存器T0的值在串行数字信号“1”的标准时间宽度一定的误差范围内时,判定为串行数字信号“1”,其他情况判定为无效引导码,所述串行数字信号“0”的标准时间宽度记为T2,则串行数字信号“0”的标准时间宽度一定的误差范围为[T2×(1‑n1%),T2×(1+n1%)],其中,n1为正数,所述串行数字信号“1”的标准时间宽度记为T3,则串行数字信号“1”的标准时间宽度一定的误差范围为[T3×(1‑n2%),T3×(1+n2%)],其中,n2为正数;步骤9、判断是否所有字节都已接收完成,若是则进入步骤10,若不是则退出中断服务程序,回到步骤2;步骤10、判断接收到的数据的校验和是否正确,若是则进入步骤11,若不是则判定为干扰信号进入步骤13;步骤11、设置接收到遥控器信号标志,等待解码程序解码,本次遥控器信号接收完成,将第一寄存器step的值置为0,初始化第二寄存器及第三寄存器T0,初始化外部中断INTx及定时器timer0,停止定时器timer0,回到步骤2等待下次接收;步骤12、整个定时器timer0运行过程中,若定时器timer0计数值超过定时时间,则认为接收的是干扰信号直接进入步骤13;步骤13、删除已经接收的信息数据,本次遥控器信号接收完成,将第一寄存器step的值置为0,初始化第二寄存器及第三寄存器T0,初始化外部中断INTx及定时器timer0,停止定时器timer0,回到步骤2等待下次接收。
地址 621000 四川省绵阳市高新区绵兴东路35号