基于单片机的红外遥控信号解码方法、系统及计量装置制造方法及图纸

技术编号:23559696 阅读:33 留言:0更新日期:2020-03-25 04:54
本发明专利技术公开一种基于单片机的红外遥控信号解码方法、系统及计量装置,其中方法包括以下步骤:配置UART信息和定时器信息,开启UART中断并关闭定时器中断;通过UART接收一个字符的待解析的红外遥控信号后,关闭UART中断并开启定时器中断;当定时器中断触发时,启动定时器中断服务函数,对UART的电平状态进行采集,并根据所述电平状态和预设的解码规则生成解析结果;当完成对待解析的红外遥控信号的接收时,关闭定时器中断并开启UART中断,同时根据所有解析结果生成解码信息。本发明专利技术提出的解码方法无需占用外部中断资源。

Decoding method, system and measuring device of infrared remote control signal based on single chip microcomputer

【技术实现步骤摘要】
基于单片机的红外遥控信号解码方法、系统及计量装置
本专利技术涉及红外遥控解码领域,尤其涉及一种基于单片机的红外遥控信号解码方法、系统及计量装置。
技术介绍
现今红外遥控器得到广泛的应用,且红外遥控信号具有其专属的编码标准,目前红外遥控编码包括引导码和32位数据,其中引导码由9ms的低电平和4.5ms高电平组成数据由逻辑‘0’和逻辑‘1’组成。常见的解码方式有两种,一种是基于单片机的外部中断和定时器所进行的解码方式;另一种是基于UART所进行的解码方式。外部中断为单片机的稀缺资源,主要用于响应最高优先级的操作,如表计产品中,计量功能的优先级最高,当使用独立的计量芯片时,计量芯片的中断信号就需要占用单片机的外部中断资源,并以高优先级响应;故基于单片机的外部中断和定时器的软件解码算法的解码方式适用范围窄,故需要做进一步改进。
技术实现思路
本专利技术针对现有技术中的缺点,提供了无需占用单片机外部中断资源的一种基于单片机的红外遥控信号解码方法、系统及计量装置。为了解决上述技术问题,本专利技术通过下述技术方案得以解决:一种基于单片机的红外遥控信号解码方法,包括以下步骤:配置UART信息和定时器信息,开启UART中断并关闭定时器中断;通过UART接收一个字符的待解析的红外遥控信号后,关闭UART中断并开启定时器中断;当定时器中断触发时,启动定时器中断服务函数,对UART的电平状态进行采集,并根据所述电平状态和预设的解码规则生成解析结果;当完成对待解析的红外遥控信号的接收时,关闭定时器中断并开启UART中断,同时根据所有解析结果生成解码信息。作为一种可实施方式,对UART的电平状态进行采集,并根据所述电平状态和预设的解码规则生成解析结果的具体步骤为:在定时器中断未开启超时的条件下按照预设的采样规则判断是否进行采样,当判定结果为采样时,采集UART的电平状态;基于预设的解码规则对所述电平状态进行解析,获得解析结果。作为一种可实施方式,当完成对待解析的红外遥控信号的接收时,关闭定时器中断并开启UART中断,同时根据所有解析结果生成解码信息的具体步骤为:当启动定时器中断服务函数时,提取定时器中断的开启总时长,并将所述开启总时长与预设的开启超时阈值相比较,当开启总时长大于预设的开启超时阈值时,判定接收完成,否则判定接收未完成;当获得解析结果时记录解析数量,将所述解析数量与预设的解析数量阈值相比较,当所述解析数量达到解析数量阈值时,判定接收完成,否则判定接收未完成;当判定结果为接收未完成时,退出定时器中断服务函数等待下一次定时器中断触发,当判定结果为接收完成时,关闭定时器中断并开启UART中断,并根据所有解析结果生成解码信息。作为一种可实施方式:定时器信息包括定时间隔。作为一种可实施方式:所述定时间隔为70us、140us、280us或560us。作为一种可实施方式:所述UART信息包括波特率和字符格式,此时UART在所述波特率下接收一个字符的待解析的红外遥控信号的用时为其中Tbc为红外遥控信号引导码的时长。作为一种可实施方式:所述波特率为1000bps,所述字符为10bit,UART在所述波特率下接收一个字符的待解析的红外遥控信号的用时为10ms。为解决上述技术问题,本专利技术还提出一种基于单片机的红外遥控信号解码系统,包括:信息配置模块,用于配置UART信息和定时器信息,开启UART中断并关闭定时器中断;中断服务模块,用于通过UART接收一个字符的待解析的红外遥控信号后,关闭UART中断并开启定时器中断;还用于当定时器中断触发时,启动定时器中断服务函数,对UART的电平状态进行采集,并根据所述电平状态和预设的解码规则生成解析结果;解码信息生成模块,当完成对待解析的红外遥控信号的接收时,关闭定时器中断并开启UART中断,同时根据所有解析结果生成解码信息。作为一种可实施方式,所述中断服务模块包括UART中断服务单元和定时器中断服务单元,其中定时器中断服务单元包括采样解析子单元和接收判断子单元;所述采样解析子单元被配置为:当定时器中断触发时,启动定时器中断服务函数,在定时器中断未开启超时的条件下按照预设的采样规则判断是否进行采样,当判定结果为采样时,采集UART的电平状态;基于预设的解码规则对所述电平状态进行解析,获得解析结果;所述接收判断子单元被配置为:当启动定时器中断服务函数时,提取定时器中断的开启总时长,并将所述开启总时长与预设的开启超时阈值相比较,当开启总时长大于预设的开启超时阈值时,判定接收完成,否则判定接收未完成;当获得解析结果时记录解析数量,将所述解析数量与预设的解析数量阈值相比较,当所述解析数量达到解析数量阈值时,判定接收完成,否则判定接收未完成;当判定结果为接收未完成时,退出定时器中断服务函数等待下一次定时器中断触发,当判定结果为接收完成时,关闭定时器中断并开启UART中断,并根据所有解析结果生成解码信息。为解决上述技术问题,本专利技术还提出一种计量装置,包含单片机和红外接收器,所述红外接收器与单片机的UART相连,其特征在于,所述单片机执行时实现上述任意一项所述方法的步骤。本专利技术由于采用了以上技术方案,具有显著的技术效果:1、本专利技术通过对UART信息的设计,巧妙的通过UART信息,利用UART接收一个字符的用时实现精确定时,令定时器启动定时采样进行红外解码,此时无需占用外部中断资源,适用范围广,与无中断信号时利用定时采样进行红外解码的技术方案相比,无需要求很短很精确的定时间隔以快速发送红外遥控信号的引导码,与现有利用UART进行解码的方式相比,无需预先进行编码学习和大量的调试。2、本专利技术对定时器中断服务函数的设计,一方面通过采样规则进行采样,无需在每一次定时器中断被触发时都进行采样,另一方面能够直接根据采样获得的电平状态和解码规则获取解析结果(数据“0”或“1”),与现有利用UART进行解码的方式相比,无需对所接收的红外遥控信号的波形进行匹配分析,将其转换成对应的解码信息,且针对任意红外遥控信号都能输出相对应的解码信息。3、本专利技术通过对开启超时阈值的设计,能够防止意外干扰导致无法结束本次解码工作的异常情况,以便于在出现上述情况时恢复初始状态,重新接收待解析红外遥控信号。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一种基于单片机的红外遥控信号解码方法的流程示意图;图2是定时间隔为280us时基于红外遥控信号设置采样规则的第一原理示意图;图3是定时间隔为280us时基本文档来自技高网...

【技术保护点】
1.一种基于单片机的红外遥控信号解码方法,其特征在于包括以下步骤:/n配置UART信息和定时器信息,开启UART中断并关闭定时器中断;/n通过UART接收一个字符的待解析的红外遥控信号后,关闭UART中断并开启定时器中断;/n当定时器中断触发时,启动定时器中断服务函数,对UART的电平状态进行采集,并根据所述电平状态和预设的解码规则生成解析结果;/n当完成对待解析的红外遥控信号的接收时,关闭定时器中断并开启UART中断,同时根据所有解析结果生成解码信息。/n

【技术特征摘要】
1.一种基于单片机的红外遥控信号解码方法,其特征在于包括以下步骤:
配置UART信息和定时器信息,开启UART中断并关闭定时器中断;
通过UART接收一个字符的待解析的红外遥控信号后,关闭UART中断并开启定时器中断;
当定时器中断触发时,启动定时器中断服务函数,对UART的电平状态进行采集,并根据所述电平状态和预设的解码规则生成解析结果;
当完成对待解析的红外遥控信号的接收时,关闭定时器中断并开启UART中断,同时根据所有解析结果生成解码信息。


2.根据权利要求1所述的基于单片机的红外遥控信号解码方法,其特征在于,对UART的电平状态进行采集,并根据所述电平状态和预设的解码规则生成解析结果的具体步骤为:
在定时器中断未开启超时的条件下按照预设的采样规则判断是否进行采样,当判定结果为采样时,采集UART的电平状态;
基于预设的解码规则对所述电平状态进行解析,获得解析结果。


3.根据权利要求1所述的基于单片机的红外遥控信号解码方法,其特征在于,当完成对待解析的红外遥控信号的接收时,关闭定时器中断并开启UART中断,同时根据所有解析结果生成解码信息的具体步骤为:
当启动定时器中断服务函数时,提取定时器中断的开启总时长,并将所述开启总时长与预设的开启超时阈值相比较,当开启总时长大于预设的开启超时阈值时,判定接收完成,否则判定接收未完成;
当获得解析结果时记录解析数量,将所述解析数量与预设的解析数量阈值相比较,当所述解析数量达到解析数量阈值时,判定接收完成,否则判定接收未完成;
当判定结果为接收未完成时,退出定时器中断服务函数等待下一次定时器中断触发,当判定结果为接收完成时,关闭定时器中断并开启UART中断,并根据所有解析结果生成解码信息。


4.根据权利要求1至3任一所述的基于单片机的红外遥控信号解码方法,其特征在于:
定时器信息包括定时间隔。


5.根据权利要求4所述的基于单片机的红外遥控信号解码方法,其特征在于:
所述定时间隔为70us、140us、280us或560us。


6.根据权利要求1至3任一所述的基于单片机的红外遥控信号解码方法,其特征在于:
所述UART信息包括波特率和字符格式,此时UART在所述波特率下接收一个字...

【专利技术属性】
技术研发人员:张青松卜俭青黄志武李双全朱程鹏
申请(专利权)人:杭州海兴电力科技股份有限公司宁波恒力达科技有限公司南京海兴电网技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1