发明内容
为此,需要提供一种按键检测的方案,解决现有按键扫描耗电、按键解锁繁琐等的问题。
为实现上述目的,发明人提供了一种按键检测设备,包括如下模块:
参考电压模块、电压比较模块、电压模数转换模块和处理模块,所述参考电压模块与电压比较模块、处理模块连接,所述电压比较模块与处理模块连接,所述电压模数转换模块与处理模块连接;其中:
参考电压模块用于接受处理模块的参考电压的设置后输出参考电压到电压比较模块;
电压比较模块用于在比较得到输入的按键的电压大于参考电压的情况时输出按键按下信号到处理模块;
电压模数转换模块用于将输入的按键模拟电压转为按键数字电压;
处理模块用于设置参考电压模块的参考电压、用于接收电压比较模块的按键按下信号和读取电压模数转换模块的按键数字电压以及根据按键数字电压和预设的按键功能和按键电压的对应关系响应按键功能。
进一步地,电压比较模块比较的输入的按键的电压为输入的按键模拟电压,所述电压比较模块用于与按键连接,所述参考电压模块用于输出参考模拟电压。
进一步地,电压比较模块比较的输入的按键的电压为输入的按键数字电压,所述电压比较模块与电压模数转换模块连接,所述参考电压模块用于输出参考数字电压。
进一步地,所述处理模块用于在休眠状态时接收按键按下信号后,退出休眠状态并进入读取按键数字电压状态。
进一步地,所述处理模块具有中断处理单元,所述中断处理单元与电压比较模块连接,所述中断处理单元用于接收到电压比较模块的按键按下信号后产生中断信号,所述处理模块用于在接收到中断信号后进入读取按键数字电压状态。
进一步地,所述处理模块还用于在接收到参考电压设置信号后设置参考电压模块的参考电压,所述参考电压设置信号为按键输入预设的按键数字电压。
进一步地,所述参考电压设置信号为按键输入预设的按键数字电压的持续时间大于预设的按键时间。
进一步地,还包括耳机接口模块,所述的按键为耳机按键,所述耳机接口模块与电压模数转换模块连接。
进一步地,所述处理模块还用于获取用户输入的按键设置信号后改变按键功能和按键电压的对应关系。
以及发明人还提供一种按键检测方法,包括如下步骤:
获取参考电压设置信号;
设置参考电压;
获取按键输入的电压大于参考电压的按键按下信号;
读取按键输入的电压;
根据按键输入的电压和预设的按键功能和按键电压的对应关系响应按键功能。
进一步地,所述获取按键输入的电压大于参考电压的按键按下信号以及读取按键输入的电压包括如下步骤:在休眠状态时,获取按键输入的电压大于参考电压的按键按下信号,退出休眠状态,读取按键输入的电压。
进一步地,获取按键输入的电压大于参考电压的按键按下信号包括:获取按键输入的电压大于参考电压的按键按下信号的中断信号。
进一步地,所述的获取参考电压设置信号包括:获取的参考电压设置信号为按键输入预设的按键数字电压。
进一步地,所述获取的参考电压设置信号为按键输入预设的按键数字电压的持续时间大于预设的按键时间。
进一步地,还包括如下步骤:获取用户输入的按键设置信号;
根据按键设置信号改变按键功能和按键数字电压的对应关系。
区别于现有技术,上述技术方案通过参考电压的设置可以屏蔽掉部分不需要响应的按键,且这部分不需要响应的按键的数量是可控的,避免了按键的误操作,避免了读取和处理这部分按键所需的资源和功耗。以及通过按键按下信号的中断信号的检测,避免了不停地读取按键造成功耗大的问题,以及设备可以进入休眠状态后可以对按键进行检测和处理。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,本实施例提供了一种按键检测设备,用于检测按键的电压后得到按键的按键值。按键的形式可以是如图1的按键形式,包含有三个按键,不同的按键按下后会在按键电压输出端输出不同的电压,如按键SW1按下所对应的电压为0.75VCC,按键SW2按下所对应的电压为0.5VCC,按键SW3按下所对应的电压为0.25VCC。则当检测设备检测到0.25VCC时,根据按键功能和按键电压的对应关系,可以获知按键SW3被按下,从而可以对按键SW3的功能进行响应。按键SW1和SW2同时被按下时,为1/3VCC,据此还可以检测出不同的按键组合。在实际应用时,可以根据用户的不同需要设定不同的按键数量和不同的按键电压。
在按键设置在耳机上时,可以是如图2的一种形式,不同的按键一端与地线相连,另一端接一个不同阻值的电阻,这些电阻再与麦克风连接。麦克风信号通过一个电容接到麦克风电压输出端,由于麦克风信号是交流信号,则麦克风信号可以经过电容输出,同时麦克风信号的电压幅值较小,不会对按键电压产生多大影响。当图2中的不同的按键按下时,同样会产生不同的电压,如按键SW1被按下时,电压为0.5VCC。按键SW1和SW3同时被按下时,为3/7VCC,据此还可以检测出不同的按键组合。在实际应用时,图2的电路也可以根据用户的不同需要设定不同的按键数量和不同的按键电压。
如图3或图4所示,本实施例提供一种按键检测设备1,用于通过按键电压输出端获取按键电压,包括如下模块:参考电压模块10、电压比较模块11、电压模数转换模块12和处理模块13,参考电压模块10与电压比较模块11、处理模块13连接,电压比较模块11与处理模块13连接,电压模数转换模块12与处理模块13连接。其中:参考电压模块10用于接受处理模块13的参考电压的设置后输出参考电压到电压比较模块11。电压比较模块11用于在比较得到输入的按键的电压大于参考电压的情况时输出按键按下信号到处理模块,按键按下信号用于表明有按键电压值大于参考电压的按键被按下,在某些实施例中,按键按下信号可以是电压比较模块11在比较得到输入的按键的电压小于或者等于参考电压的情况时才被输出。电压模数转换模块12用于将输入的按键模拟电压转为按键数字电压。以及处理模块13用于设置参考电压模块的参考电压、用于接收电压比较模块11的按键按下信号和读取电压模数转换模块12的按键数字电压以及根据按键数字电压和预设的按键功能和按键电压的对应关系响应按键功能。
本实施例在使用时,由于按键电压由低到高具有多个值,如上述图1中,具有0.25VCC,0.5VCC和0.75VCC三个值。处理模块13可以根据需要设置参考电压模块10输出不同的电压值,如0.4VCC。则当按键SW3按下时,所输出的电压值为0.25VCC,由于0.25VCC小于0.4VCC,则电压比较模块11不会产生按键按下信号,则处理模块13不会获取到按键按下信号,则不用对按键进行读取、判断和识别,实现了对按键的锁定,又节省了处理模块13读取、判断和识别这些按键的能耗。根据不同的需要,处理模块13也可以设置其他的参考电压,以达到对不同按键数量锁定的目的,解决了现有使用一个锁定键在锁定时只有这个锁定键才能被检测到、要使用其他键必须先按下锁定键而造成操作繁琐的问题。
本实施例将以一个使用场景和图2详细说明本方案的应用方向。如听音乐场景中,有三个音乐控制按键,下一首键SW1,上一首键SW2,播放暂停键SW3,分别对应4V,3V,2V的按键电压,处理模块13也预设有按键电压和按键功能的对应关系。用户想一直听歌,想锁定播放暂停键SW3,则可以通过处理模块13对参考电压进行设置,处理模块13获取到设置信号后设置参考电压模块10输出2.5V的参考电压。则即使播放暂停键SW3被按下,电压比较模块11在按键电压(2V)小于参考电压2.5V情况下不输出按键按下信号,则处理模块13不会检测到播放暂停键,即播放暂停键被锁定。处理模块13也不用为检测、判断播放暂停键而消耗电能和资源。而在下一首键SW1或上一首键SW2被按下时,由于下一首键SW1和上一首键SW2分别对应为4V和3V,大于参考电压2.5V,则电压比较模块11输出按键按下信号,处理模块13检测按键的电压后,根据预设的按键电压和按键功能的对应关系,实现按键功能。如按下下一首键SW1就将歌曲切换到下一首。
上述方案在具体实施时,电压比较模块11比较的输入的按键的电压为输入的按键模拟电压或者按键数字电压。在电压比较模块11为按键模拟电压的情况下,如图3所示,电压比较模块11用于与按键连接,可以获取到按键模拟电压,参考电压模块10用于输出参考模拟电压。电压比较模块11的实现形式可以是个电压比较芯片,电压比较芯片在比较两个模拟电压时,如果一个电压大于另一个电压,会输出一个结果信号(如高电平),这个结果信号可以作为按键按下信号。比较参考电压模块10可以是数模转换芯片、电源管理单元(PMU),这些元件在接受到设置时可以保持输出一个模拟的参考电压。本实施例在具体实施时,可以不对处理模块13(如MCU、CPU等)进行改变,只需在外部电路上增加电压比较模块11、参考电压模块10、电压模数转换模块12即可,电路简单,调试容易。
而在电压比较模块11比较的输入的按键的电压是按键数字电压时,如图4所示,电压比较模块11与电压模数转换模块12连接,参考电压模块10用于输出参考数字电压。数字电压即电压的数值,如可以将0V-5V对应为0-255的数值,需要表示不同电压时,输出不同的数值。如需要2.5V电压,参考电压模块10可以输出128来表示。参考电压模块10可以是个数字锁存模块,这样,处理模块13可以将不同的数字电压输到参考数字锁存模块后锁存起来,则数字锁存模块即可保持数字电压的输出。电压比较模块11可以是个数字逻辑比较电路,可以有FPGA、CPLD等逻辑芯片进行实现对数字信号大小的比较,在需要输出按键按下信号时可以直接输出一个高电平。不管在本实施例还是其他实施例中,电压模数转换模块12可以是模数转换芯片。本实施例的实施具有如下优点:使用数字电压和数字电路可以降低其他电路对本实施例模块的干扰,使得获取到的按键结果更加准确。在某些实施例中,本实施例中的数字电路可以集成在一个芯片内部进行实现。
为了节省设备的能耗,处理模块13可以进入休眠状态。休眠状态是指为了节省能耗,处理模块关闭部分硬件、只能接收或处理某些特定信号的状态。可以将按键按下信号作为处理模块13在休眠状态下可以接收和处理的信号,则在处理模块13在休眠状态时,接收按键按下信号后,处理模块13退出休眠状态并进入读取按键数字电压状态,即处理模块13从休眠状态中被唤醒进入了正常的工作状态。
本方案并不限定处理模块13获取按键按下信号的方式,可以是定时扫描方式获取或者中断方式获取。在本实施例中,处理模块13采用中断获取按键按下信号,处理模块13具有中断处理单元130,中断处理单元130与电压比较模块11连接,中断处理单元130用于接收到电压比较模块11的按键按下信号后产生中断信号,处理模块13用于在接收到中断信号后进入读取按键数字电压状态。使用中断方式在按键没有按下时,处理模块13完全不用去对按键进行处理,只有在有按键电压值大于按键电压的情况下才需要对按键电压进行读取和处理,大大节省了处理模块13的处理资源。以及上述休眠的实施例可以结合本实施例,即可以使用本实施例的中断进行休眠状态的唤醒。
处理模块13在接收到参考电压设置信号后设置参考电压模块的参考电压,这里的参考电压设置信号可以是用户从其他输入模块输入的参考电压设置信号,如从触摸屏输入、键盘输入、鼠标输入、程序预设输入等。在为触摸屏输入时,结合上述听音乐场景,具体的方式可以是:用户在触摸屏上点击一个播放暂停键锁定按钮,处理模块13根据这个播放暂停键锁定按钮,设置参考电压为2.5V。在为程序预设输入时,可以是程序在某一事件发生(如锁屏事件)时自动设置。而在某些实施例中,参考电压设置信号为按键输入预设的按键数字电压。如在上述听音乐场景中,还包含一个锁定按键,这个锁定按键的按键电压为5V,同时预设的按键数字电压为5V,当锁定按键被按下时,处理模块13检测到按键输入了预设的按键数字电压5V,进入对参考电压的设置,设置成2.5V,通过这样的按键可以快速完成对按键的锁定。在某些实施例中,预设的按键数字电压可以是一个按键组合的电压,如图1中的1/3VCC,则当按键SW1和SW2被同时按下时,处理模块13才会设置参考电压模块10的参考电压。参考电压设置信号中设置的参考电压过低的话,可能在信号有干扰时,电压比较模块11就会由于干扰信号大于参考电压而输出按键按下信号,导致处理模块要去处理该干扰信号而造成资源的浪费。参考电压设置信号中设置的参考电压过低的话过高可能大于了参考电压模块10的输出能力,导致参考电压模块10的输出的参考电压与参考电压设置信号中设置的参考电压不一致,从而造成设备1可以设置过高的参考电压却无法输出该参考电压的问题,给用于造成困扰,最终降低了用户体验。为了避免参考电压设置信号中设置的参考电压过低或过高的情况,设备1可以预设有一个参考电压最大值或参考电压最小值,在参考电压设置信号被输入时,设备1检测参考电压设置信号中的参考电压值是否大于最大值或小于最小值,如果大于最大值,则调整参考电压设置信号中的参考电压值为最大值,如果小于最小值,则调整参考电压设置信号中的参考电压值为最小值。而在按键锁定状态时,还可以包含有按键解锁过程,这个解锁过程和设置参考电压模块的参考电压后进入按键锁定过程类似,可以是触摸屏输入、键盘输入、鼠标输入或按键输入,处理模块13检测到解锁过程的输入后,设置参考电压小于所有按键的按键电压值,之后处理模块13可以检测到所有的按键。
为了进一步避免上述锁定按键被误按下的情况,则参考电压设置信号为按键输入预设的按键数字电压的持续时间大于预设的按键时间。即锁定按键要按下一段大于预设的按键时间后,处理模块13才会进行参考电压的设置。如预设的按键时间时1秒,则处理模块13检测到锁定按键,即预设的按键数字电压对应的按键被按下后,开始计时,当计时达到1秒时,则进行参考电压的设置,否则不进行参考电压的设置。
本方案的设备1所检测的按键的形式可以是设置在设备1上的多个按键或者是耳机上的按键。如果按键是设置在设备1上的,可以将按键直接与电压模数转换模块12或者电压比较模块11直接连接。如果按键是耳机上的按键时,为了使得本方案的设备1可以检测到耳机上的按键,设备1还包括耳机接口模块14,如图3或图4所示,则按键为耳机按键,耳机接口模块14与电压模数转换模块12连接。耳机接口模块14用于接受耳机按键的插入,使得电压模数转换模块12可以与耳机进行连接并获取耳机按键电压值。
在某些应用场景中,用户虽然也想锁定一部分按键,但是这部分按键的功能可能不是他所想要的。所上述听音乐场景中,本实施例将结合图2说明。如图2中有三个音乐播放控制按键,分别是下一首键SW1,上一首键SW2,播放暂停键SW3,分别对应的按键电压为4V,3V,2V,有些用户不想锁定播放暂停键SW3,但是想锁定上一首键SW2。由于上一首键电压SW2为3V,锁定上一首键SW2(按键电压为3V)的所需要的参考电压要大于3V,则会将播放锁定键SW3(按键电压为2V)一起锁定。为了解决这个问题,在本实施例中,处理模块13还用于获取用户输入的按键设置信号后改变按键功能和按键电压的对应关系,即处理模块通过改变按键功能和按键电压的对应关系改变按键的功能。如前述场景中,用户可以将对应关系中的播放暂停键和上一首键的按键电压互相调换,将对应关系中上一首键改变为2V,播放暂停键改变为3V,即互换后按键SW2的功能为播放暂停,按键SW3的功能为上一首,所以对应关系中上一首键改变为按键电压为2V的按键SW3,播放暂停键改变为按键电压为3V的按键SW2。则处理模块在接收到按键SW2按下的3V的按键电压时,根据对应关系,认为所按下的为播放暂停键,实现播放或暂停功能。用户要实现播放暂停功能时,需要按下原先的上一首键。通过这样的设置,用户可以对需要的任意按键的功能进行设置为锁定或是非锁定的状态。
以及发明人还提供一种按键检测方法,如图5所示,包括如下步骤:S101获取参考电压设置信号,参考电压设置信号用于触发参考电压设置功能。而后步骤S102设置参考电压,参考电压用于与按键输入的电压做比较,参考电压所需要设置的电压值可以是在参考电压设置信号中指定或是存储在存储模块中预设的值。以及在步骤S103获取按键输入的电压大于参考电压的按键按下信号,按键输入的电压大于参考电压的按键按下信号可以由一个比较模块比较按键输入的电压和参考电压后发出,而在按键输入电压小于等于参考电压时不发出按键按下信号。以及步骤S104读取按键输入的电压,不同的按键输入电压对应不同的按键功能。以及在步骤S105根据按键输入的电压和预设的按键功能和按键电压的对应关系响应按键功能,这个预设的对应关系可以存储在存储模块的一个对应表,而后对对应表检索即可得到按键功能,对按键功能进行响应。本实施例通过设置不同的参考电压,可以使得不同数量的按键在按下时可以发出按键按下信号,剩下的按键在按下时不发出按键按下信号,则这些剩下的按键即被锁定住,可以满足用户需要锁定不同数量的按键的需求。同时只需在大于参考电压的按键按下时,才需要对按键进行检测处理,没有大于参考电压的按键按下时不需要处理,节省了处理资源和处理功耗。
进入休眠状态时可以节省功耗,则在休眠状态下对按键的检测和处理可以采用如下方式:获取按键按下信号以及读取按键输入的电压包括如下步骤:在休眠状态时,获取按键输入的电压大于参考电压的按键按下信号,退出休眠状态,读取按键输入的电压。退出休眠状态后,进入正常处理状态,则可以读取到按键输入的电压。
使用中断进行按键按下信号检测,可以避免了按键没有按下时对按键按下信号的检测,节省了检测的处理资源和处理功耗。则获取按键输入的电压大于参考电压的按键按下信号的步骤包括:获取按键输入的电压大于参考电压的按键按下信号的中断信号。在休眠状态时,也可以采用中断进行唤醒,则在检测到按键按下信号的中断信号退出休眠状态,读取按键输入的电压。
如前所述,参考电压的设置信号形式可以是多样,可以使用检测到的按键电压来实现。即获取参考电压设置信号包括:获取的参考电压设置信号为按键输入预设的按键数字电压。则当这个预设的按键数字电压对应的按键(可以称为锁定按键)被按下时,可以检测到这个按键数字电压,即可对参考电压进行设置。在按键锁定状态时,还可以包含有按键解锁过程,检测到锁定按键的再次输入后,设置参考电压小于所有对应关系中的按键电压,之后可以检测到所有的按键。
在有预设的按键数字电压对应的按键,即锁定按键的情况下,为了避免误操作,采用如下的方式:获取的参考电压设置信号为按键输入预设的按键数字电压的持续时间大于预设的按键时间。则锁定按键被按下时并不会直接进行参考电压设置,而是在锁定按键被按下一段大于预设的按键时间后才会进行参考电压设置,能更好地防止锁定按键被误按的情况。
进一步地,如图5所示,还包括如下步骤:S106获取用户输入的按键设置信号,按键设置信号用于改变对应关系,则在步骤S107根据按键设置信号改变按键功能和按键数字电压的对应关系。改变对应关系后,对原本按键电压相对较低的按键功能可以变为按键电压较高进行实现,则不用对硬件电路进行改进即可以实现对任意按键的锁定。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。