[发明专利]一种基于模拟捕获的红外解码方法在审
申请号: | 202010158704.7 | 申请日: | 2020-03-09 |
公开(公告)号: | CN111427416A | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 胡晓;罗伟;梁广柱;吴灿阳 | 申请(专利权)人: | 深圳市锐同技术有限公司 |
主分类号: | G06F1/14 | 分类号: | G06F1/14;G06F15/78;G08C23/04 |
代理公司: | 北京联瑞联丰知识产权代理事务所(普通合伙) 11411 | 代理人: | 郭堃 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模拟 捕获 红外 解码 方法 | ||
本发明涉及红外解码技术领域,特别涉及一种基于模拟捕获的红外解码方法,设置单片机的外部中断优先级高于定时器,设置该外部中断采用上升沿触发;初始化时间t微秒产生中断的定时器,并初始化一个计数变量tick,用于计数该定时器产生的中断次数;当产生外部中断后,判断触发方式是下降沿还是上升沿,进而读取定时器的计数变量值tick或开启定时器;判断计数变量值tick是否大于/等于第一预设公式所得出的值,判断是否收到前导码;收到前导码后进一步判断计数变量值tick是否大于/等于第二预设公式所得出的值,获得数据bit1或数据bit0;将外部中断的触发方式取反,退出中断。该解码方法可以适用于价格相对低廉的单片机,降低产品成本。
技术领域
本发明涉及红外解码技术领域,特别涉及一种基于模拟捕获的红外解码方法。
背景技术
目前电子产品所用到的红外遥控器大多数的采用的是NEC编码。如图1所示NEC编码的 一帧(通常按一下遥控器按钮所发送的数据)由引导码、地址码及数据码组成。
NEC协议对于引导码、数据1、数据0的定义如图2所示,通过对比分析,可以发现,数据1和数据0的不同在于高电平脉宽。因此,单片机红外解码的原理一般为利用定时器的捕获功能测量高电平的脉宽,进而判断是数据1还是数据0.
定时器捕获原理:开启捕获功能,设置为上升沿触发中断。当接收到红外头发射来的信 号,开始计数,并把触发方式改为下降沿。当再一次发生中断时,读取定时器的计数值,通 过计数值来判断数据1还是数据0。
但是很多低端的单片机并没有捕获功能,例如一些配置比较低的51内核的单片机。如果 用传统的外部中断加延时的方法,将会影响实时性。如何使用低端单片机做红外解码,又不 影响实时性,这将是我们需要解决的问题。
发明内容
为了克服现有技术的上述缺陷,本发明提供一种基于模拟捕获的红外解码方法,以解决 上述背景技术中提出的问题。
本发明解决现有技术中的问题所采用的技术方案为:一种基于模拟捕获的红外解码方法, 设置单片机的外部中断优先级高于定时器,并且设置该外部中断采用上升沿触发;
初始化一个时间t微秒产生中断的定时器,并初始化一个计数变量tick,用于计数该定时 器产生的中断次数;
当产生外部中断后,判断触发方式是下降沿还是上升沿,进而读取定时器的计数变量值 tick或开启定时器;
判断计数变量值tick是否大于/等于第一预设公式所得出的值,若计数变量值tick大于/等 于该第一预设公式所得出的值,则判断为收到前导码;
收到前导码后进一步判断计数变量值tick是否大于/等于第二预设公式所得出的值,若计 数变量值tick大于/等于第二设公式所得出的值,则判断为数据bit1,否则数据bit0;
将外部中断的触发方式取反,退出中断。
作为本发明的优选方案,所述计数变量值tick的计数方法具体包括初始化一个时间t微 秒产生中断的定时器,t取尽可能小的正整数值,计数器根据每一时间t微秒加一。
作为本发明的优选方案,第一预设公式为:(4500/t–r1),r1为一个随机数,并且r1的 取值范围是100~300。
作为本发明的优选方案,第二预设公式为:(1690/t–r2),r2为一个随机数,并且r2的取 值范围是100~300。
与现有技术相比,本发明具有以下技术效果:
本发明中一种基于模拟捕获的红外解码方法,该解码方法可以适用于价格相对低廉的单 片机,降低产品成本,并提高软件质量,同时让具有红外功能的产品性价比更高,提高产品 的核心竞争力。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市锐同技术有限公司,未经深圳市锐同技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010158704.7/2.html,转载请声明来源钻瓜专利网。