一种按键操作功能的实现改进方法技术

技术编号:27005686 阅读:35 留言:0更新日期:2021-01-08 17:08
本发明专利技术涉及电子技术领域,具体涉及一种按键操作功能的实现改进方法,它包括如下步骤:按键的工作状态包括有效输入状态和无效输入状态,预设按键的单次有效状态操作阈值X1、第一连续有效操作阈值X2和第二连续有效操作阈值X3;固定周期检测MCU系统中I/O按键的输入状态;按键检测结果初始状态设置为无效状态,判断按键的输入状态,若为无效状态,按键有效计数器的值X如果>0则递减,如果为0则不变,而后结束操作;若为有效状态,按键有效计数器的值X递增,分别判断X与X1、X2的关系,执行不同操作;若有效输入状态下,按键有效计数器的值递减为0,则按键的输入状态设置为无效状态。本发明专利技术实现按键单次操作和连续操作的功能准确性高,处理速度快。

【技术实现步骤摘要】
一种按键操作功能的实现改进方法
本专利技术涉及电子
,特别是涉及一种按键操作功能的实现改进方法。
技术介绍
针对具有按键功能的MCU系统,实现I/O按键的操作功能,要实现按键的操作功能须先对按键状态进行检测,通常为:将I/O线与按键相连,I/O端口设置为输入,若无按键按下时需要将端口电平设置为高电平,则将按键对应的I/O端设置为上拉,对应的按键按下时I/O端口电平为低电平;若无按键时需要将端口电平设置为低电平,则将按键对应I/O端设置为下拉,对应的按键按下时I/O端口电平为高电平。目前,随着产品功能越来越丰富,按键的作用越来越多样化,同一个按键可以被赋予多种功能,即实现一个按键多种功能;现有按键检测时会由于按键按下或松开时会有抖动的情况,准确度不高;同时按键在进行按键连续操作功能实现时,通常采用系统扫描按键I/O口状态,当扫描到按键按下I/O口状态超过设定连续操作功能时间的阈值,就判定这次按键操作为“长按”操作,但每次连续操作功能的时间记录均是从开始至设定的时间阈值为止,检测繁琐,处理速度慢。鉴于此,为克服上述缺陷,本专利技术提供一种按键操作功能的实现改进方法。
技术实现思路
针对上述情况,为克服现有技术之缺陷,本专利技术之目的在于提供一种按键操作功能的实现改进方法,其具有准确性高,处理速度快的优点。本专利技术的上述技术目的是通过以下技术方案得以实现的:一种按键操作功能的实现改进方法,包括步骤1、步骤2、步骤3、步骤4、步骤5、步骤6、步骤7,具体步骤如下:步骤1:预设按键的工作状态为无效输入状态,按键有效计数器的值X设置为0;步骤2:预设按键有效单次操作阈值X1、第一连续有效操作阈值X2和第二连续有效操作阈值X3,其中,X2>X1,X2>X3>X1,所述单次有效操作阈值X1用于对应按键的单次有效操作功能,所述第一连续有效操作阈值X2用于对应按键的连续操作功能,所述第二连续有效操作阈值X3用于在按键执行完连续有效操作功能后仍处于按键工作状态为有效状态时再次执行连续操作功能;步骤3:利用固定周期检测MCU系统中I/O按键的状态,得到检测结果并保存,并执行步骤4;步骤4:判断当前按键工作状态,若按键的工作状态为有效状态,则执行步骤6,若按键的工作状态为无效状态,则执行步骤5;若按键的输入状态为无效状态,则执行步骤7;所述步骤5的具体方法为:步骤5.1:检测本次按键输入的状态,如输入状态为无效状态执行步骤7,若检测状态有效则执行步骤5.2;步骤5.2:按键有效计数器的值X递增,执行步骤5.3;步骤5.3:判断按键有效计数器的值X是否递增至X=X1,若不满足,执行步骤7,满足则执行步骤5.4;步骤5.4:将按键工作状态设置为有效状态,且执行按键单次按下的单次操作功能,执行步骤7;所述步骤6的具体方法为:步骤6.1:若按键的输入状态为有效状态,则执行步骤6.2,如若按键的输入状态为无效状态则执行步骤6.4;步骤6.2:按键有效计数器的值X递增,若满足且X≥X2,则执行步骤6.3,不满足执行步骤7;步骤6.3:执行按键的连续操作功能,并将按键有效计数器的值修改为X3,执行步骤7;步骤6.4:按键有效计数器的值X递减,执行步骤6.5;步骤6.5:若按键有效计数器的值X>0,则执行步骤7,若按键有效计数器的值X递减为0,则执行6.6;步骤6.6:则将按键工作状态设置为无效状态,执行步骤7;所述步骤7的具体方法为:I/O按键的检测及处理结束。进一步地,所述步骤3、步骤4中、步骤5中、步骤6中按键输入状态的判断方法具体为:如果按键的有效状态设置为低电平,则按键按下时输入状态为低电平,按键未按下则输入状态为高电平;如果按键的有效状态为高电平,则按键按下时输入状态为高电平,按键未按下则输入状态为低电平;按键检测结果为按键有效或无效。进一步地,所述步骤1和步骤2之间还包括如下步骤:所述MCU系统初始化时将按键工作状态设置为无效状态,并将按键有效计数器的值清零。进一步地,所述步骤2中,所述固定周期通过MCU内部定时器进行定时设置。综上所述,本专利技术具有以下有益效果:一、本专利技术方法中,系统间隔固定周期连续检测按键的输入状态,如果是在抖动期间则CPU检测到的按键输入的电平将在高低电平之间变化,当输入电平为无效状态,则连续记录按键有效状态的计数器递加,当输入电平为有效状态,则记录按键有效状态的计数器只有当按键有效状态稳定后,连续记录按键有效计数器值才会连续增加或连续递减,有效滤除按键按下时产生的抖动,检测按键和执行按键单次操作功能和连续操作功能更加准确;二、本专利技术在按键工作状态有效时,按键执行连续操作功能后将有效状态计数器的值修改为X3,若该按键仍然处于稳定有效状态,此时按键有效状态计数器的值从X3开始递增,增加到X2时再次执行按键的连续操作功能,X3开始递增至X2对应的计数时间小于按键有效状态计数器的值从零开始递增至X2对应的计数时间,处理速度快,从而实现连续按键操作的功能更快,操作者可以快捷可靠的实现连续按键功能;三、本专利技术在按键工作状态有效时,当按键有效状态计数器递减为0后,按键工作状态改变为无效状态,能够有效滤除按键的抖动;四、本专利技术在按键工作状态无效时,当按键有效状态计数器在0与X1之间变化时,按键工作状态不变,当按键有效状态计数器递增为X1后,按键工作状态改变为有效状态,能够有效滤除按键的抖动。附图说明此处所说明的附图是用来提供对本专利技术的进一步理解,构成本申请的一部分,但并不构成对本专利技术的不当限定,在附图中:图1为本专利技术实施例的方法流程图。具体实施方式有关本专利技术的前述及其他
技术实现思路
、特点与功效,在以下配合参考附图1对实施例的详细说明中,将可清楚的呈现。以下实施例中所提到的结构内容,均是以说明书附图为参考。下面将参照附图描述本专利技术的各示例性的实施例。实施例1:本专利技术为一种按键操作功能的实现方法,应用在按键检测过程中和按键操作功能实现过程中,本专利技术的按键操作功能包括按键的单次操作功能和连续操作功能,具体功能由用户自定义。参阅图1,本专利技术的按键操作功能的实现方法,步骤具体包括:步骤1:MCU系统初始化时将按键状态设置为无效状态,并将按键有效计数器的值清零;步骤2:预设按键的单次操作阈值X1、第一连续操作阈值X2和第二连续操作阈值X3,其中,X2>X1,X2>X3>X1;单次操作阈值X1用于对应按键的单次操作功能,第一连续操作阈值X2用于对应按键的连续操作功能,第二连续操作阈值X3用于在按键执行完连续操作功能后仍处于按下有效状态时再次执行连续操作功能;步骤3:固定周期检测MCU系统中I/O按键的状态,得到检测结果并保存,执行步骤3;具体实现时,检测按键状态的固定周期通过MCU内部定时器进行定本文档来自技高网
...

【技术保护点】
1.一种按键操作功能的实现改进方法,其特征在于,包括步骤1、步骤2、步骤3、步骤4、步骤5、步骤6、步骤7,具体步骤如下:/n步骤1:预设按键的工作状态为无效输入状态,按键有效计数器的值X设置为0;/n步骤2:预设按键有效单次操作阈值X1、第一连续有效操作阈值X2和第二连续有效操作阈值X3,其中,X2>X1,X2>X3>X1,所述单次有效操作阈值X1用于对应按键的单次有效操作功能,所述第一连续有效操作阈值X2用于对应按键的连续操作功能,所述第二连续有效操作阈值X3用于在按键执行完连续有效操作功能后仍处于按键工作状态为有效状态时再次执行连续操作功能;/n步骤3:利用固定周期检测MCU系统中I/O按键的状态,得到检测结果并保存,并执行步骤4;/n步骤4:判断当前按键工作状态,若按键的工作状态为有效状态,则执行步骤6,若按键的工作状态为无效状态,则执行步骤5;/n所述步骤5的具体方法为:/n步骤5.1:检测本次按键输入的状态,如本次按键输入状态为无效状态执行步骤7,若检测状态有效则执行步骤5.2;/n步骤5.2:按键有效计数器的值X递增,执行步骤5.3;/n步骤5.3:判断按键有效计数器的值X是否递增至X=X1,若不满足,执行步骤7,满足则执行步骤5.4;/n步骤5.4:将按键工作状态设置为有效状态,且执行按键单次按下的单次操作功能,执行步骤7;/n所述步骤6的具体方法为:/n步骤6.1:若按键的输入状态为有效状态,则执行步骤6.2,如若按键的输入状态为无效状态则执行步骤6.4;/n步骤6.2:按键有效计数器的值X递增,若满足且X≥X2,则执行步骤6.3,不满足执行步骤7;/n步骤6.3:执行按键的连续操作功能,并将按键有效计数器的值修改为X3,执行步骤7;/n步骤6.4:按键有效计数器的值X递减,执行步骤6.5;/n步骤6.5:若按键有效计数器的值X>0,则执行步骤7,若按键有效计数器的值X递减为0,则执行6.6;/n步骤6.6:则将按键工作状态设置为无效状态,执行步骤7;/n所述步骤7的具体方法为:/nI/O按键的检测及处理结束。/n...

【技术特征摘要】
1.一种按键操作功能的实现改进方法,其特征在于,包括步骤1、步骤2、步骤3、步骤4、步骤5、步骤6、步骤7,具体步骤如下:
步骤1:预设按键的工作状态为无效输入状态,按键有效计数器的值X设置为0;
步骤2:预设按键有效单次操作阈值X1、第一连续有效操作阈值X2和第二连续有效操作阈值X3,其中,X2>X1,X2>X3>X1,所述单次有效操作阈值X1用于对应按键的单次有效操作功能,所述第一连续有效操作阈值X2用于对应按键的连续操作功能,所述第二连续有效操作阈值X3用于在按键执行完连续有效操作功能后仍处于按键工作状态为有效状态时再次执行连续操作功能;
步骤3:利用固定周期检测MCU系统中I/O按键的状态,得到检测结果并保存,并执行步骤4;
步骤4:判断当前按键工作状态,若按键的工作状态为有效状态,则执行步骤6,若按键的工作状态为无效状态,则执行步骤5;
所述步骤5的具体方法为:
步骤5.1:检测本次按键输入的状态,如本次按键输入状态为无效状态执行步骤7,若检测状态有效则执行步骤5.2;
步骤5.2:按键有效计数器的值X递增,执行步骤5.3;
步骤5.3:判断按键有效计数器的值X是否递增至X=X1,若不满足,执行步骤7,满足则执行步骤5.4;
步骤5.4:将按键工作状态设置为有效状态,且执行按键单次按下的单次操作功能,执行步骤7;
所述步骤6的具体方法为:
步骤6.1:若按键的输入状态为有效状态,则...

【专利技术属性】
技术研发人员:王恩亮董天天陈洁
申请(专利权)人:江苏信息职业技术学院
类型:发明
国别省市:江苏;32

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

1