一种多线按键判断系统的制作方法

文档序号:17548317发布日期:2019-04-30 18:01阅读:276来源:国知局
一种多线按键判断系统的制作方法

本发明涉及一种多线按键判断系统,属于电子科学技术领域。



背景技术:

现有技术矩阵式按键扫描方案1为:m+n个io口组成m*n个按键扫描矩阵。此示例中,m=3,n=4,共可实现3*4=12个按键,其中io1~io3为扫描输出口,io4~io7为输入口。扫描时,io1~io3依次输出低电平,同时在io4~io7读取电平值,即可判断按键矩阵中哪个按键被按下。其缺点在于io口利用率低,实现相同数量按键占用的io口较多。如上例采用7个io口实现了12个按键。

现有技术梯形式按键扫描方案2为:n个io口与vss口共同组成n(n+1)/2个按键扫描矩阵。此示例中,n=5,共可实现5*(5+1)/2=15个按键,其中io1~io5为扫描输入输出双向io口。扫描时,先读取所有io口的电平状态,以判断与vss口相连的按键;再将io1~io5依次输出低电平,同时其他io读取电平值,判断按键。相比方案1,方案2一定程度上提高了io口的使用效率。如上例,采用5个io即可实现15个按键。

为进一步提高io口的利用率,本发明旨在现有技术的方案2基础上进行了改进。现有技术都是通过2根io口线进行判键识别,本发明除了实现2根io口线的判键外,增加了3根io口线的判键。通过物理实践验证,采用现有制造工艺即很容易实现3根io线的物理按键,并未过多增加物理实现的复杂度和成本。



技术实现要素:

本发明的目的为进一步提高io口的利用率,在现有技术的方案2基础上进行了改进。现有技术都是通过2根io口线进行判键识别,本发明除了实现2根io口线的判键外,增加了3根io口线的判键。通过物理实践验证,采用现有制造工艺即很容易实现3根io线的物理按键,并未过多增加物理实现的复杂度和成本。

本发明是这样实现的:

n个io口可以组成n(n-1)/2+c3n个按键扫描矩阵,其中c3n为从n根线中选取3根的组合数。

以附图3为例,n个io口与vss口共同组成n(n+1)/2+c3(n+1)个按键扫描矩阵。此示例中,n=3,共可实现3*(3+1)/2+4=10个按键,其中c3(n+1)为从n+1根线中选取3根的组合数。io1~io4为扫描输入输出双向io口。扫描时,先读取所有io口的电平状态,以判断与vss口相连的按键;再将io1~io4依次输出低电平,同时其他io读取电平值,判断按键。

与现有方案二不同的是,现有方案二,在判键时读到哪根线为低电平,则可判定输出口线与读到低电平的口线的交叉处按键被按下,如果同时读到多根线为低电平,则可判定多个按键被同时按下。

本发明首先排除多个按键被同时按下的假设,因此当判断时读到2根口线同时为低电平,则可判定这2根口线与输出线组成的3线按键被按下。实际应用中,由于人手同时按下多个按键一般至少会有几十ms的时间差,系统即可通过算法简单区分3线按键和多按键。

本发明的优点:

与现有技术方案相比,本发明在不过多增加制造复杂度和成本的基础上,进一步提高了判键io口的利用率。可以明确,当io口数增加时,io口的组合数快速增加,例如c35=10,c36=20,c37=35......

以常见的5个io口加vss口为例,矩阵式按键扫描方案可以做3*3=9个按键;采用梯形按键扫描方案可以做5*(5+1)/2=15个按键;采用本发明的按键扫描方案可以做5*(5+1)/2+20=35个按键,比矩阵按键扫描方案多做26个按键,比梯形按键扫描方案20个按键。

目前大部分按键数量在50个以内,如果采用矩阵按键扫描方案需要14个io口;采用梯形按键扫描方案要10个io口;采用本发明的按键扫描方案只需要6个io口,比矩阵式按键扫描方案节约8个口,比梯形按键扫描方案节约4个口。

附图说明

图1为现有技术矩阵式按键扫描方案示例图,m+n个io口组成m*n个按键扫描矩阵。此示例中,m=3,n=4,共可实现3*4=12个按键,其中io1~io3为扫描输出口,io4~io7为输入口。扫描时,io1~io3依次输出低电平,同时在io4~io7读取电平值,即可判断按键矩阵中哪个按键被按下。

图2为现有技术`按键扫描方案示例图,n个io口与vss口共同组成n(n+1)/2个按键扫描矩阵。此示例中,n=5,共可实现5*(5+1)/2=15个按键,其中io1~io5为扫描输入输出双向io口。扫描时,先读取所有io口的电平状态,以判断与vss口相连的按键;再将io1~io5依次输出低电平,同时其他io读取电平值,判断按键。

图3为本发明的示例图,n个io口与vss口共同组成n(n+1)/2+c3(n+1)个按键扫描矩阵。此示例中,n=3,共可实现3*(3+1)/2+4=10个按键,其中c3(n+1)为从n+1根线中选取3根的组合数。io1~io4为扫描输入输出双向io口。扫描时,先读取所有io口的电平状态,以判断与vss口相连的按键;再将io1~io4依次输出低电平,同时其他io读取电平值,判断按键。

具体实施方式

下面详细描述本发明的实施例,所述实施例仅用于解释本发明,而不能理解为对本发明的限制。

实施例

以附图3为例,n个io口与vss口共同组成n(n+1)/2+c3(n+1)个按键扫描矩阵。此示例中,n=3,共可实现3*(3+1)/2+4=10个按键,其中c3(n+1)为从n+1根线中选取3根的组合数。io1~io4为扫描输入输出双向io口。扫描时,先读取所有io口的电平状态,以判断与vss口相连的按键;再将io1~io4依次输出低电平,同时其他io读取电平值,判断按键。

与现有方案二不同的是,现有方案二,在判键时读到哪根线为低电平,则可判定输出口线与读到低电平的口线的交叉处按键被按下,如果同时读到多根线为低电平,则可判定多个按键被同时按下。

本发明首先排除多个按键被同时按下的假设,因此当判断时读到2根口线同时为低电平,则可判定这2根口线与输出线组成的3线按键被按下。实际应用中,由于人手同时按下多个按键一般至少会有几十ms的时间差,系统即可通过算法简单区分3线按键和多按键。

本发明的优点:

与现有技术方案相比,本发明在不过多增加制造复杂度和成本的基础上,进一步提高了判键io口的利用率。可以明确,当io口数增加时,io口的组合数快速增加,例如c35=10,c36=20,c37=35......

需要说明的是,以上所述仅为本发明的优选具体的实施例,

若依本发明的构想所作变动,其产生的功能作用,仍未超出说明书所涵盖的精神时,均应在本发明的范围内。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

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