多按键检测装置及检测方法与流程

文档序号:11112051阅读:587来源:国知局
多按键检测装置及检测方法与制造工艺

本发明涉及按键检测技术领域,特别是涉及一种多按键检测装置及检测方法。



背景技术:

随着科技的日新月异,按键式输入装置广泛应用于电子产品中。常见的按键检测方式有三种:独立触发按键,扫描按键和A/D按键。独立按键的每一个按键占用一个I/O资源,按键数量较多的应用场合对控制器的I/O资源要求过高。扫描按键和A/D按键可利用较少的I/O资源设计出按键数量较多的应用电路,然而,这两种方法都存在按键冲突,即多个按键同时被按下时,会出现误触发现象。

为了避免误触发现象,传统的多按键检测方法是在扫描按键的每一个按键上串联一个二极管,利用二极管的单向导通性解决了扫描按键的多按键触发冲突。由于需要大量使用二极管,传统的多按键检测方法存在检测成本高的缺点。



技术实现要素:

基于此,有必要针对上述问题,提供一种检测成本低的多按键检测装置及检测方法。

一种多按键检测装置,包括控制器和内部下拉电阻,所述控制器包括多个测试端口和多个采集端口,所述控制器的测试端口用于分别连接按键模块中同一行的按键,所述控制器的采集端口内部分别设置有一所述内部下拉电阻,且用于分别连接所述按键模块中同一列的按键,

所述控制器通过各所述测试端口分别输出高电平至对应行的按键,控制所述采集端口均通过对应的内部下拉电阻接地处于下拉状态,并检测所述采集端口接收的对应列的按键输出的列信号;所述控制器在检测到存在列信号大于0伏时,保持列信号大于0伏的采集端口处于下拉状态,控制所述测试端口逐行输出高电平,分别检测处于下拉状态的采集端口再次接收的对应列的按键输出的列信号,并根据再次接收到的列信号得到按键检测结果。

一种多按键检测方法,包括以下步骤:

控制器通过各测试端口分别输出高电平至对应行的按键,控制采集端口均通过对应的内部下拉电阻接地处于下拉状态,并检测所述采集端口接收的对应列的按键输出的列信号;

所述控制器在检测到存在列信号大于0伏时,保持列信号大于0伏的采集端口处于下拉状态;

所述控制器控制所述测试端口逐行输出高电平,分别检测处于下拉状态的采集端口再次接收的对应列的按键输出的列信号,并根据再次接收到的列信号得到按键检测结果。

上述多按键检测装置及检测方法,控制器通过各测试端口分别输出高电平至对应行的按键,控制采集端口均通过对应的内部下拉电阻接地处于下拉状态,并检测采集端口接收的对应列的按键输出的列信号。控制器在检测到存在列信号大于0伏时,保持列信号大于0伏的采集端口处于下拉状态,控制测试端口逐行输出高电平,分别检测处于下拉状态的采集端口再次接收的对应列的按键输出的列信号,并根据再次接收到的列信号得到按键检测结果。结合测试端口和采集端口对按键模块进行扫描,控制器在接收列信号时控制对应的采集端口处于下拉状态,避免不同列的按键同时触发时发生冲突对信号检测造成干扰,避免误触发现象的同时降低了检测成本。

附图说明

图1为一实施例中多按键检测装置的结构图;

图2为一实施例中对按键模块任意两行两列按键进行检测的原理示意图;

图3为一实施例中对按键模块任意两行两列按键进行检测的等效示意图;

图4为一实施例中多按键检测方法的流程图。

具体实施方式

在一个实施例中,一种多按键检测装置,适用于电子乐器等类型的电子产品。如图1所示,该装置包括控制器110和内部下拉电阻,控制器110包括多个测试端口和多个采集端口,控制器110的测试端口用于分别连接按键模块200中同一行的按键,控制器110的采集端口内部分别设置有一内部下拉电阻,且用于分别连接按键模块200中同一列的按键。

按键模块200为m行×n列(m和n为正整数)矩阵扫描按键,其中,按键S(m,n)为按键模块200中第m行第n列的按键,每个按键均一端连接对应的测试端口,另一端连接对应的采集端口。测试端口和采集端口的具体类型并不唯一,本实施例中,测试端口为I/O(input/output,输入/输出)端口,采集端口为A/D(Analog to Digital,模拟量向数字量转换)端口。I/O端口可以输出高/低(1/0)逻辑电平和识别外部输入的高/低逻辑电平,A/D端口用于采集和识别外部输入的模拟电压信号。按键模块200的行信号连接至控制器110的I/O端口,列信号连接至控制器110的A/D端口,通过A/D端口结合I/O端口对按键模块200进行扫描检测。

具体地,I/O端口包括端口I/O1、端口I/O2、…、端口I/Om,A/D端口包括端口AD1、端口AD2、…、端口ADn。每个I/O端口分别连接对应同一行的按键,每个A/D端口分别连接对应同一列的按键。例如,端口I/O1连接按键模块200中第1行的按键S(1,1)、按键S(1,2)、…、按键S(1,n),端口AD1连接按键模块200中第1列的按键S(1,1)、按键S(2,1)、…、按键S(m,1)。

对矩阵键盘产生冲突的原因进行分析,从矩阵按键电路中任意选出两行两列。举例说明,HA和HB为任意两个行信号,Va和Vb为任意两个列信号,按键1和按键2与行信号HA连接,按键3和按键4与行信号HB连接,键1和按键3与列信号Va连接,按键2和按键4与列信号Vb连接。当其中任意3个按键同时按下时,会引起冲突。例如按键1、按键2、按键3被同时按下,此时,行信号HB和列信号Vb信号通过按键的导通作用被连接到一起,而行信号HB和列信号Vb信号短接等效于4按键被按下,因此,按键控制器无法正确判断4的状态。

继续参照图1,控制器110通过各测试端口分别输出高电平至对应行的按键,控制采集端口均通过对应的内部下拉电阻接地处于下拉状态,并检测采集端口接收的对应列的按键输出的列信号。控制器110在检测到存在列信号大于0伏时,保持列信号大于0伏的采集端口处于下拉状态,控制测试端口逐行输出高电平,分别检测处于下拉状态的采集端口再次接收的对应列的按键输出的列信号,并根据再次接收到的列信号得到按键检测结果。

控制器110控制所有测试端口输出高电平,并控制所有采集端口处于下拉状态,采集按键电压。若检测到有采集端口接收的列信号有大于0伏的电压时,说明该列信号(一列或多列)对应有按键按下。控制器110控制列信号大于0伏的采集端口继续处于下拉状态,控制测试端口逐行输出高电平再次采集按键电压。逐行输出高电平指控制行信号逐行输出高电平1,即每一次按顺序只有一行输出高电平1,其它行信号输出低电平0。控制器110此时检测处于下拉状态的采集端口接收的列信号是否大于0伏,若是,则说明该行该列对应的按键被按下,直至扫描完所有的行,完成一次按键检测过程,得到按键检测结果。控制器110可根据按键检测结果执行相应的操作。

在一个实施例中,多按键检测装置还包括内部上拉电阻,控制器110的测试端口内部分别设置有一内部下拉电阻和一内部上拉电阻,测试端口在通过对应的内部上拉电阻接入电源时输出高电平,在通过对应的内部下拉电阻接地时输出低电平。控制器110可根据需要改变测试端口与内部下拉电阻和内部上拉电阻的连接关系,从而控制测试端口对应输出高电平和低电平。

具体地,在一个实施例中,控制器110包括控制电路、测试端口开关电路和采集端口开关电路,测试端口开关电路的数量与测试端口的数量相同,采集端口开关电路的数量与采集端口的数量相同。控制电路连接测试端口开关电路和采集端口开关电路,测试端口开关电路连接对应的测试端口,并通过对应的内部下拉电阻接地,以及通过对应的内部上拉电阻连接电源接入端。采集端口开关电路连接对应的采集端口,并通过对应的内部下拉电阻接地。

控制电路通过测试端口开关电路改变测试端口与内部下拉电阻和内部上拉电阻的连接关系,当测试端口开关电路将内部上拉电阻与测试端口连接时,测试端口输出高电平,当测试端口开关电路将内部下拉电阻与测试端口连接时,测试端口输出低电平,完成行信号的输出控制。当需要采集列信号时,控制电路通过采集端口开关电路将内部下拉电阻与采集端口连接,避免不同列的按键同时触发时发生冲突。

此外,控制器110的采集端口内部分别设置有一内部上拉电阻,采集端口开关电路通过对应的内部上拉电阻连接电源接入端。当不需要采集列信号时,可通过采集端口开关电路将内部上拉电阻与采集端口连接。

在一个实施例中,多按键检测装置还包括限流电阻,限流电阻的数量与按键模块的按键数量相同,各限流电阻分别与对应一按键串联。

具体如图1所示,限流电阻包括电阻R(1,1)、电阻R(1,2)、…、电阻R(m,n)。以限流电阻R(m,n)为例,限流电阻R(m,n)与按键S(m,n)串联,限流电阻R(m,n)另一端连接端口I/Om,按键S(m,n)另一端连接端口ADn。通过对按键模块200中每个按键均串联一个限流电阻,当有按键被按下,对应行信号输出为高电平1时,通过串联电阻与控制器110中对应列信号的A/D端口的内部下拉电阻形成分压,该A/D端口将采集到大于0伏的电压,确定被按下的按键。

如图2所示,两行两列按键包括按键S1、按键S2、按键S3和按键S4,分别串联电阻R1、电阻R2、电阻R3和电阻R4,两行两列按键对应的测试端口包括端口I/OA和端口I/OB,采集端口包括端口ADa和端口ADb。端口Ada设置有对应的下拉电阻RΛda,端口ADb设置有对应的下拉电阻RΛdb。当其中任意3个按键被按下时,例如按键S1、按键S2、按键S3被同时按下,此时等效电路如图3所示,检测按键S4的状态:控制器110的端口I/OB输出高电平1,其余I/O(包括I/OA)端口输出低电平0,检测端口ADb的电压值,如果按键S4没被按下,端口ADb的采样电压等于0伏;如果按键S4被按下,采样电压大于0V伏,能够正确判断按键S4的状态。由此说明,上述多按键检测装置能够有效解决多按键同时按下时的冲突问题。

在一个实施例中,多按键检测装置还包括连接控制器110的供电装置。供电装置用于给控制器110供电。

进一步地,供电装置包括电池和稳压电路,电池连接稳压电路,稳压电路连接控制器110。稳压电路对电池输出的电压进行稳压处理后输出至控制器110,提高供电可靠性。

上述多按键检测装置,结合测试端口和采集端口对按键模块进行扫描,控制器在接收列信号时控制对应的采集端口处于下拉状态,避免不同列的按键同时触发时发生冲突对信号检测造成干扰,避免误触发现象的同时降低了检测成本。

在一个实施例中,一种多按键检测方法,基于上述多按键检测装置实现,适用于电子乐器等类型的电子产品。如图4所示,该方法包括以下步骤:

步骤S110:控制器通过各测试端口分别输出高电平至对应行的按键,控制采集端口均通过对应的内部下拉电阻接地处于下拉状态,并检测采集端口接收的对应列的按键输出的列信号。

控制器控制所有测试端口输出高电平,并控制所有采集端口处于下拉状态,采集按键电压。

步骤S120:控制器在检测到存在列信号大于0伏时,保持列信号大于0伏的采集端口处于下拉状态。

若检测到有采集端口接收的列信号有大于0伏的电压时,说明该列信号(一列或多列)对应有按键按下。控制器控制列信号大于0伏的采集端口继续处于下拉状态。

步骤S130:控制器控制测试端口逐行输出高电平,分别检测处于下拉状态的采集端口再次接收的对应列的按键输出的列信号,并根据再次接收到的列信号得到按键检测结果。

控制器控制测试端口逐行输出高电平再次采集按键电压。逐行输出高电平指控制行信号逐行输出高电平1,即每一次按顺序只有一行输出高电平1,其它行信号输出低电平0。控制器110此时检测处于下拉状态的采集端口接收的列信号是否大于0伏,若是,则说明该行该列对应的按键被按下。直至扫描完所有的行,完成一次按键检测过程,得到按键检测结果。控制器可根据按键检测结果执行相应的操作。

上述多按键检测方法,结合测试端口和采集端口对按键模块进行扫描,控制器在接收列信号时控制对应的采集端口处于下拉状态,避免不同列的按键同时触发时发生冲突对信号检测造成干扰,避免误触发现象的同时降低了检测成本。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1