AD按键确认方法和装置以及电子产品
技术领域
本发明涉及AD按键技术领域,尤其涉及一种AD按键确认方法和装置以及电子产品。
背景技术
现在开发的很多电子产品,按键都是使用AD按键。AD按键相对于IO按键节省了芯片的IO口,但在同时按下两个AD按键的时候,两个电阻并联之后会重新组成一个按键。而新组成的这个按键可能会和之前的按键相同,进而导致按键的误触发。
发明内容
基于此,有必要提供一种能够防止或减少按键误触发的AD按键确认方法和装置以及电子产品。
一种AD按键确认方法,包括以下步骤:
获取一次按键过程中的AD按键采样值;
计算所获取的AD按键采样值中的最大值和最小值的差值;
将计算得出的差值与预设阈值比较,若所述差值大于所述预设阈值,则判定被按下的AD按键的个数大于一个,并根据AD按键采样组合值确定对应的AD按键;否则,判定被按下的AD按键的个数为一个,并根据AD按键采样组合值确定对应的AD按键;
其中,所述AD按键采样组合值为所述一次按键过程中的所有AD按键均被按下后的AD按键采样值。
在其中一个实施例中,设定无AD按键被按下时,AD按键采样值为第一采样值,对应的电力参数为第一电力参数;所述获取一次按键过程中的AD按键采样值的方法为:
AD按键被按下时,获取对应的电力参数,并根据电力参数与AD按键采样值的比例关系,确定AD按键采样值;
其中,电力参数与AD按键采样值的比例关系由所述第一电力参数和所述第一采样值得出;
所述电力参数为电阻或电压。
在其中一个实施例中,电力参数与AD按键采样值的比例关系为线性关系。
在其中一个实施例中,所述AD按键采样值与AD按键的对应关系存储在AD按键采样值集合中;所述AD按键采样值集合包括第一AD按键采样值集合和第二AD按键采样值集合;其中:
所述第一AD按键采样值集合对应一次按键过程中被按下的按键个数为一个的AD按键确定过程;
所述第二AD按键采样值集合对应一次按键过程中被按下的按键个数为两个以上的AD按键确定过程。
本发明还公开一种AD按键确认装置,包括按键采样值模块、差值计算模块和按键确定模块;
所述按键采样值模块,用于获取一次按键过程中的AD按键采样值;
所述差值计算模块,用于计算所获取的AD按键采样值中的最大值和最小值的差值;
所述按键确定模块,用于将计算得出的差值与预设阈值比较,若所述差值大于所述预设阈值,则判定被按下的AD按键的个数大于一个,并根据AD按键采样组合值确定对应的AD按键;否则,判定被按下的AD按键的个数为一个,并根据AD按键采样组合值确定对应的AD按键;
其中,所述AD按键采样组合值为所述一次按键过程中的所有AD按键均被按下后的AD按键采样值。
在其中一个实施例中,设定无AD按键被按下时,AD按键采样值为第一采样值,对应的电力参数为第一电力参数;
所述按键采样值模块在AD按键被按下时,获取对应的电力参数,并根据电力参数与AD按键采样值的比例关系,确定AD按键采样值;
其中,电力参数与AD按键采样值的比例关系通过所述第一电力参数和所述第一采样值得出;
所述电力参数为电阻或电压。
在其中一个实施例中,电力参数与AD按键采样值的比例关系为线性关系。
在其中一个实施例中,还包括存储模块;所述存储模块,用于存储所述AD按键采样值和对应的AD按键;所述存储模块中存储有第一AD按键采样值集合和第二AD按键采样值集合;其中:
所述第一AD按键采样值集合对应一次按键过程中被按下的按键个数为一个的AD按键确定过程;
所述第二AD按键采样值集合对应一次按键过程中被按下的按键个数为两个以上的AD按键确定过程。
在其中一个实施例中,所述AD按键确认装置为具有模数转换功能的单片机。
本发明还公开一种电子产品,包括上述任意一种AD按键确认装置。
上述AD按键确认方法和装置以及电子产品,获取一次按键过程中的AD按键采样值,然后计算所获取的AD按键采样值中的最大值和最小值的差值,并将计算得出的差值与预设阈值比较:若差值大于所述预设阈值,则判定被按下的AD按键的个数大于一个,并根据AD按键采样组合值确定对应的AD按键;否则,判定被按下的AD按键的个数为一个,并根据AD按键采样组合值确定对应的AD按键。因此,上述AD案件确认方法和装置以及电子产品,能够分辨出一次按键过程中被按下的AD按键的个数,从而可以防止或减少按键的误触发。
附图说明
图1为本发明AD按键确认方法一个实施例的流程示意图;
图2为本发明AD按键确认装置一个实施例的结构示意图;
图3为本发明AD按键确认装置一个实施例中的电路示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明AD按键确认方法和装置以及电子产品的具体实施方式进行说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,一个实施例中,AD按键确认方法可以包括以下步骤:
S101,获取一次按键过程中的AD按键采样值。
具体的,可以首先设定无AD按键被按下时,获取到的AD按键采样值为第一采样值,对应的电力参数为第一电力参数。然后在AD按键被按下时,获取对应的电力参数,并根据电力参数与AD按键采样值的比例关系,确定本次按键过程中的AD按键采样值。其中,电力参数与AD按键采样值的比例关系可以通过第一电力参数和第一采样值得出。本实施例中,电力参数可以为电阻或电压。一个实施例中,电力参数与AD按键采样值的比例关系可以为线性关系。
一般的,每个AD按键均会对应一个电路。即,AD按键被按下后,可以通过相关仪器检测或获取该电路对应的电力参数。而所述的AD按键采样值即为与电力参数对应的数值。在此对AD按键采样值的具体形式不再限制。
S102,计算所获取的AD按键采样值中的最大值和最小值的差值。
其中,当两个以上的AD按键在一次按键过程中均被按下时,由于用户操作的原因,按下各个AD按键的时间上通常存在一定的时差。因此,在获取一次按键过程中的AD按键采样值时,会获得大小相差较多的两个以上的AD按键采样值。此时,可以先将所获取的AD按键采样值中的最大值和最小值分别保存在两个预设存储空间中。然后计算AD按键采样值中的最大值和最小值的差值,并用于步骤S103。
若在一次按键过程中只有一个AD按键被按下,则获取到的AD按键采样值会比较平稳,即不会获取到大小相差较多的AD按键采样值。当然也会存在最大值和最小值。因此,步骤S102对于一次按键过程中只有一个AD按键被按下的情况同样适用。
S103,将计算得出的差值与预设阈值比较,若差值大于预设阈值,则判定被按下的AD按键的个数大于一个,并根据AD按键采样组合值确定对应的AD按键;否则,判定被按下的AD按键的个数为一个,并根据AD按键采样组合值确定对应的AD按键。
其中,本步骤中所用到的差值即为步骤S102中计算得出的差值。由于一次按键过程中只有一个AD按键被按下时,获取到的AD按键采样值是比较稳定的,即AD按键采样值的最大值和最小值的差值是比较小的。因此,若差值大于预设阈值,则说明此次按键过程中,被按下的AD按键的个数是多于一个的;若差值小于等于预设差值,则说明此次按键过程中,被按下的AD按键的个数是一个。
本实施例中,AD按键采样值与AD按键的对应关系存储在AD按键采样值集合中。AD按键采样值集合包括第一AD按键采样值集合和第二AD按键采样值集合。其中,第一AD按键采样值集合对应一次按键过程中被按下的AD按键个数为一个的AD按键确定过程。第二AD按键采样值集合对应一次按键过程中被按下的AD按键个数为两个以上的AD按键确定过程。
在差值大于预设阈值时,在第二AD按键采样值集合中,根据AD按键采样组合值确定对应的AD按键。其中,AD按键采样组合值为:本次按键过程中的所有AD按键均被按下后的AD按键采样值。第二AD按键采样值集合中,一个AD按键采样值对应两个以上AD按键。同理,在差值小于等于预设阈值时,在第一AD按键采样值集合中,根据AD按键采样组合值确定对应的AD按键。第一AD按键采样值集合中,一个AD按键采样值对应一个AD按键。
需要说明的是,可以根据具体需要对预设阈值进行调整。通常情况下,一种电子产品对应一个预设阈值。不同的电子产品对应的预设阈值一般不同。
上述AD按键确认方法,获取一次按键过程中的AD按键采样值,然后计算所获取的AD按键采样值中的最大值和最小值的差值,并将计算得出的差值与预设阈值比较:若差值大于所述预设阈值,则判定被按下的AD按键的个数大于一个,并根据AD按键采样组合值确定对应的AD按键;否则,判定被按下的AD按键的个数为一个,并根据AD按键采样组合值确定对应的AD按键。因此,上述AD案件确认方法能够分辨出一次按键过程中被按下的AD按键的个数,从而可以防止或减少按键的误触发。
基于统一发明构思,本发明还提出一种AD按键确认装置。该AD按键确认装置可以通过上述AD按键确认方法进行实施,故重复之处不再赘述。
参见图2,一个实施例中,包括按键采样值模块100、差值计算模块200和按键确定模块300。按键采样值模块100,用于获取一次按键过程中的AD按键采样值。差值计算模块200,用于计算所获取的AD按键采样值中的最大值和最小值的差值。按键确定模块300,用于将计算得出的差值与预设阈值比较:若差值大于预设阈值,则判定被按下的AD按键的个数大于一个,并根据AD按键采样组合值确定对应的AD按键;否则,判定被按下的AD按键的个数为一个,并根据AD按键采样组合值确定对应的AD按键。其中,AD按键采样组合值为一次按键过程中的所有AD按键均被按下后的AD按键采样值。
进一步的,可以预先设定无AD按键被按下时,AD按键采样值为第一采样值,对应的电力参数为第一电力参数。按键采样值模块300在AD按键被按下时,获取对应的电力参数,并根据电力参数与AD按键采样值的比例关系,确定AD按键采样值。其中,电力参数与AD按键采样值的比例关系可以通过第一电力参数和第一采样值得出。本实施例中,电力参数可以为电阻或电压。一个实施例中,电力参数与AD按键采样值的比例关系可以为线性关系。
一个实施例中,AD按键确认装置还可以包括存储模块400。存储模块400用于存储AD按键采样值和对应的AD按键。具体的,存储模块400中可以存储有第一AD按键采样值集合和第二AD按键采样值集合。其中,第一AD按键采样值集合对应一次按键过程中被按下的AD按键个数为一个的AD按键确定过程。第二AD按键采样值集合对应一次按键过程中被按下的AD按键个数为两个以上的AD按键确定过程。
一个实施例中,AD按键确认装置可以为具有模数转换功能的单片机。单片机的模数转换引脚与AD按键连接,采集被按下的AD按键对应的电力参数,并转换为数字信号。然后,单片机计算所获取的AD按键采样值中的最大值和最小值的差值,并将计算得出的差值与预设阈值比较以确定被按下的AD按键。
参见图3,阻值为零的电阻对应0V电压,电阻R3对应着0.4V电压,电阻R4对应着0.7V电压,电阻R5对应着1.0V电压,电阻R6对应着1.3V电压,电阻R7对应着1.7V电压,电阻R8对应着2.0V电压,电阻R9对应着2.3V电压。本实施例中,单片机的采样精度是8位的,采样回来的数值3.3V对应着AD采样值1024,因此:0.0v的AD采样值是X1=0.0/3.3*1024=0;0.3V的AD采样值是X2=0.3/3.3*1024=93;0.7V的AD采样值是X3=0.7/3.3*1024=217;1.0V的AD采样值是X4=1.0/3.3*1024=310。其他电压对应的AD采样值以此类推计算得出。
没有按键按下来的时候,AD按键口处于悬空状态,此时AD按键采样值是一个接近于1024的值。当AD按键采样值接近于1024的时候就认为AD按键处于悬空状态,没有AD按键被按下来。按键的类型一般有几种:短按抬起、长按、长按抬起和超长按不放。
现有的一种方法是检测到定时器定时扫描AD按键采样值,检测到AD按键采样值符合按键要求的时候就认为是有AD按键下来了。当符合要求的AD按键采样值连续出现n次之后就认为这个AD按键是有效的,然后等待按键抬起。如果用户没有放开按键就会发出长按的消息。这种方法是IO按键最常用的消抖动方法,也非常有效。当只有一个AD按键按下来的时候能准确判断出是哪一个AD按键按下来。但是在两个AD按键按下来的情况下,例如按键S3和按键S5同时按下来的时候,电阻R4和电阻R5并联之后的电阻会很接近电阻R3。其中,电阻R4的阻值为6.2KΩ,电阻R5的阻值为9.1KΩ,电阻R3的阻值为3KΩ。所以按键S3和按键S5同时按下来的时候,系统会误认为是按键S2被按下,导致按键的误触发。
一个实施例中,AD按键确认方法和装置首先开辟两个存储空间:第一个存储空间存储一次按键过程中的AD按键采样值的最小值,第二个存储空间存储一次按键过程中的AD按键采样值的最大值。当最小值和最大值的差值大于一个预设阀值的时候,则判定为处于非单按键按下的状态,再从对应的第一AD按键采样值集合种查询出对应的AD按键,即被按下的AD按键。例如按键S3和按键S5同时按下,获取的AD按键采样值是3.5KΩ电阻对应的AD按键采样值。则根据获取的AD按键采样值,从第二AD按键采样值集合中查询出对应的AD按键。
上述AD按键确认装置,获取一次按键过程中的AD按键采样值,然后计算所获取的AD按键采样值中的最大值和最小值的差值,并将计算得出的差值与预设阈值比较:若差值大于所述预设阈值,则判定被按下的AD按键的个数大于一个,并根据AD按键采样组合值确定对应的AD按键;否则,判定被按下的AD按键的个数为一个,并根据AD按键采样组合值确定对应的AD按键。因此,上述AD案件确认方法能够分辨出一次按键过程中被按下的AD按键的个数,从而可以防止或减少按键的误触发。
本发明还公开一种电子产品,包括AD按键,还包括上述任意一种AD按键确认装置,AD按键确认装置与各个AD按键连接。上述电子产品具有上述AD按键确认装置所具有的优点。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。