[发明专利]一种基于定时器的延时的按键处理方法及应用在审

专利信息
申请号: 201811077435.0 申请日: 2018-09-15
公开(公告)号: CN109286400A 公开(公告)日: 2019-01-29
发明(设计)人: 孙宇翔 申请(专利权)人: 孙宇翔
主分类号: H03M11/20 分类号: H03M11/20;G06F3/023
代理公司: 暂无信息 代理人: 暂无信息
地址: 225300 江苏*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 定时器 按键处理 延时 标志位 计时 查询按键 按键 并置 程序周期 复位按键 技术效果 时间判断 系统运行 延时函数 延时判断 实时性 复位 轮询 应用 键盘 响应 检查
【权利要求书】:

1.一种基于定时器的延时的按键处理方法,其特征在于,包括:

按键检查:查询按键是否被轻触并置复位按键标志位;

定时器轮询:查询按键标志位并置复位计时标志位以及形成计时时间;

去抖处理:通过计时时间判断确定按键是否有效。

2.根据权利要求1所述的一种基于定时器的延时的按键处理方法,其特征在于,所述查询按键是否被轻触并置复位按键标志位包括判断按键是否轻触,若按键轻触,则置位按键标志位,否则,则复位按键标志位;

所述查询按键标志位并置复位计时标志位以及形成计时时间包括设置轮询定时器和计时定时器,在轮询定时器中断中判断按键标志位是否被置位,若按键标志位被置位,则触发计时定时器且在计时定时器中断中累计计时变量形成计时时间,若按键标志位被复位,则锁定计时定时器且置位计时完成标志;

所述通过计时时间判断确定按键是否有效包括若计时完成标志被置位,则若计时时间大于判定阈值,则按键有效,否则按键无效。

3.根据权利要求2所述的一种基于定时器的延时的按键处理方法,其特征在于,所述判定阈值为20ms。

4.根据权利要求2所述的一种基于定时器的延时的按键处理方法,其特征在于,所述计时时间为计时变量乘以计时时间片。

5.根据权利要求2所述的一种基于定时器的延时的按键处理方法,其特征在于,所述触发计时定时器包括启动触发计时定时器且置位计时标志位,所述锁定计时定时器包括关闭触发计时定时器且复位计时标志位。

6.根据权利要求2所述的一种基于定时器的延时的按键处理方法,其特征在于,所述计时定时器中断中累计计时变量包括若计时定时器产生中断,则若计时标志位置位,则在计时定时器中断服务程序中计时变量自增1个计时时间片,若计时标志位复位,则停止计时变量自增且锁定。

7.根据权利要求2所述的一种基于定时器的延时的按键处理方法,其特征在于,所述轮询定时器的最小时间片为10ms,所述计时定时器的计时时间片为10ms。

8.根据权利要求2所述的一种基于定时器的延时的按键处理方法,其特征在于,所述判断按键是否轻触包括采用外部中断方式或扫描方式检查按键是否轻触,所述扫描方式检查包括定时器检查或程序扫描检查。

9.根据权利要求2所述的一种基于定时器的延时的按键处理方法,其特征在于,所述检查按键是否轻触包括判断按键相应的IO端口是否被拉低,若按键相应的IO端口被拉低,则确定按键轻触。

10.一种基于定时器的延时的按键处理应用,其特征在于,包括:按键处理模块;

所述按键处理模块用于:

判断按键是否轻触,若按键轻触,则置位按键标志位,否则,则复位按键标志位;

设置轮询定时器和计时定时器,在轮询定时器中断中判断按键标志位是否被置位,若标志位被置位,则触发计时定时器且在计时定时器中断中累计计时变量形成计时时间,若按键标志位被复位,则锁定计时定时器;

若计时时间大于判定阈值,则按键有效,否则按键无效。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于孙宇翔,未经孙宇翔许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811077435.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top