一种按键扫描方法及系统技术方案

技术编号:16042126 阅读:30 留言:0更新日期:2017-08-20 00:26
本发明专利技术提供了一种按键扫描方法及系统,包括主控制模块、至少一个扫描端口、IO线组、定时脉冲信号发送单元、按键扫描单元和按键上报单元;定时脉冲信号发送单元,用来发送按键检测所需的脉冲信号;按键扫描单元,用于对脉冲信号进行扫描,确定按键的行列值;按键上报单元,当扫描到按键被按下时,用于向主芯片上报所述触摸按键,以使所述主芯片处理所按下的按键。本发明专利技术所述的按键扫描方法及系统,使用较少的扫描端口,扫描较多的按键,同时在一定程度上降低了IO占用资源和软件资源。

【技术实现步骤摘要】
一种按键扫描方法及系统
本专利技术属于实体按键扫描
,尤其是涉及一种按键扫描方法及系统。
技术介绍
现有矩阵键盘扫描软件实现方式一般采用接线方式为行列接线法。即将IO线以行列的方式排列,每个交叉点接一个按键。如果是20跟IO线,分4行x5列连接,则有20个交叉点,可识别最大20个按键。但实际用到的IO口只有9个。具体包括三种方法:行扫描法,行列反转法,行列扫描法。行扫描法的工作原理是:CPU首先向所有行输出低电平,如果没有按键按下,则所有列线输出为高电平。如果有某一键按下,则该键所在的列因为与行线低电平短路,该列线变为低电平。CPU在此时通过读取列线的值,即可判断有无键按下。在有按键按下的情况下,CPU再来确定是哪一个键按下,采用的方法是行扫描法。先向第0行输出低电平,其余行输出高电平,然后读取所有列线的电平值,如果有某一列为低电平,则说明0行和该跨接位置的那个键被按下了。确定了键的位置就可以退出扫描了。如果列线全为高电平。说明本行没有键按下,则继续将下一行输出低电平,其余行输出高电平,然后读取所有列线的的电平值。依此类推,直到找到按下键的位置则退出扫描。找到按下键的位置,即该键的行号和列号,就可以获取键的键码。这种通过行列位置标示的键码称为行列码或扫描码,也称为键盘扫描码。行列反转法也是常用的识别闭合键的方法。其原理是:首先对所有行线输出低电平,列行线输出高电平,同时读列线。如果有键按下,则该键盘所在的列线为低电平,而其他列线为高电平,由此获得列号。然后向所有列线输出低电平,行线输出高电平,读行线,确定按键的行号。通过行号和列号确定按键的位置和编码。行列扫描法也是键盘使用的主要键码识别方法,其工作原理如下:首先向每一行依次输出低电平,其余各行为高电平,每扫描一行,读取一次列线。如果列线全为高电平,说明没有键按下,如果有一列为低电平,则说明有键按下,此时可以确定行号和列号,行扫描完。接下来依次向每一列输出低电平,读行线,再次确定按键的行号和列号,两次获得的行号和列号相同,则键码正确,即获得按下键的行列扫描码。在现有技术的按键扫描技术中,普遍存在资源利用率不高的问题。
技术实现思路
有鉴于此,本专利技术旨在提出一种按键扫描方法及系统,用以在一定程度上适当降低IO占用资源和软件资源。为达到上述目的,本专利技术的技术方案是这样实现的:一种按键扫描系统,包括:主控制模块、至少一个扫描端口、IO线组、定时脉冲信号发送单元、按键扫描单元和按键上报单元;每个扫描端口都可以作为输入或输出端口;所述IO线组具有下拉电阻或外接下拉电阻,并与所述扫描端口信号连接,该IO线组中的IO线分别与按键矩阵中的按键连接,所述IO线的条数至少与按键矩阵的行数或列数相同,且该按键矩阵的每一行或者每一列均与一条IO线连接,按键按下时,对应连接组合被短接,松开后恢复断开状态;定时脉冲信号发送单元,与所述按键的行或列对应连接,用以发送按键检测所需脉冲信号,该定时脉冲信号发送单元定时发送脉冲信号①,且在按键按下时发送脉冲信号②,每行或者每列的脉冲信号①与脉冲信号②之间的时间间隔不同;按键扫描单元,与所述按键的行或列对应连接,用以对按键的脉冲信号进行扫描,确定按键的行列值;按键上报单元,与所述按键扫描单元信号连接,接收按键扫描单元扫描的行列值并进行初步判断,判断该行列值中有脉冲信号②时,将该行列值及按键扫描单元的扫描时间输入主控制模块。进一步的,所述IO线的条数与按键矩阵的行数相同,定时脉冲信号发送单元每行的脉冲信号①与脉冲信号②之间的时间间隔不同,此时该按键矩阵中的每一行按键对应与一条IO线连接,该IO线与所述扫描端口一一对应连接。进一步的,所述IO线的条数与按键矩阵的列数相同,定时脉冲信号发送单元每列的脉冲信号①与脉冲信号②之间的时间间隔不同,此时该按键矩阵中的每一列按键对应与一条IO线连接,该IO线与所述扫描端口一一对应连接。进一步的,所述按键扫描系统还包括扫描终止单元,所述扫描终止单元分别与所述主控制模块、定时脉冲信号发送单元、按键扫描单元和按键上报单元信号连接,用以接收所述主控制模块的扫描终止控制信号,并向所述定时脉冲信号发送单元、按键扫描单元和按键上报单元发送。一种基于以上所述按键扫描系统的按键扫描方法,包括以下步骤:(1)设置扫描端口的输出,该输出的扫描端口为与每一行连接的IO线组所对应的扫描端口时进行步骤(2),该输出的扫描端口为与每一列连接的IO线组所对应的扫描端口时进行步骤(3);(2)当有按键按下时,首先定时发送的脉冲信号①发送至行里的扫描端口中,行里的扫描端口收到脉冲信号①后,启动每列的计数器,每列的计数器设置值是不同的,当倒计时到零时,每个列端口开始发送脉冲信号②,由于每列的脉冲信号①和②之间的时间间隔不同,故在按键按下导通时,主控制模块根据该行收到的脉冲信号②的时间确定按键的行列值,然后进行步骤(4);(3)当有按键按下时,首先定时发送的脉冲信号①发送至列里的扫描端口中,列里的扫描端口收到脉冲信号①后,启动每行的计数器,每行的计数器设置值是不同的,当倒计时到零时,每个行端口开始发送脉冲信号②,由于每行的脉冲信号①和②之间的时间间隔不同,故在按键按下导通时,主控制模块根据该列收到的脉冲信号②的时间确定按键的行列值,然后进行步骤(4);(4)主控制模块根据按键行列值处理所述按键,并执行相应的指令,该次扫描结束,若要再次扫描,则根据IO线与按键及扫描端口的连接关系,再次进行步骤(2)和(4)或者步骤(3)和(4)。相对于现有技术,本专利技术所述的按键扫描方法及系统具有以下优势:(1)本专利技术所述的按键扫描方法及系统,使用较少的扫描端口,扫描较多的按键,同时在一定程度上降低了IO占用资源和软件资源。附图说明构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例所述的2x2键盘矩阵电路图;图2为本专利技术实施例所述的ROW0,ROW1发送脉冲示意图;图3为本专利技术实施例所述的按键扫描流程图。具体实施方式需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连本文档来自技高网
...
一种按键扫描方法及系统

【技术保护点】
一种按键扫描系统,其特征在于:包括:主控制模块、至少一个扫描端口、IO线组、定时脉冲信号发送单元、按键扫描单元和按键上报单元;每个扫描端口都可以作为输入或输出端口;所述IO线组具有下拉电阻或外接下拉电阻,并与所述扫描端口信号连接,该IO线组中的IO线分别与按键矩阵中的按键连接,所述IO线的条数至少与按键矩阵的行数或列数相同,且该按键矩阵的每一行或者每一列均与一条IO线连接,按键按下时,对应连接组合被短接,松开后恢复断开状态;定时脉冲信号发送单元,与所述按键的行或列对应连接,用以发送按键检测所需脉冲信号,该定时脉冲信号发送单元定时发送脉冲信号①,且在按键按下时发送脉冲信号②,每行或者每列的脉冲信号①与脉冲信号②之间的时间间隔不同;按键扫描单元,与所述按键的行或列对应连接,用以对按键的脉冲信号进行扫描,确定按键的行列值;按键上报单元,与所述按键扫描单元信号连接,接收按键扫描单元扫描的行列值并进行初步判断,判断该行列值中有脉冲信号②时,将该行列值及按键扫描单元的扫描时间输入主控制模块。

【技术特征摘要】
1.一种按键扫描系统,其特征在于:包括:主控制模块、至少一个扫描端口、IO线组、定时脉冲信号发送单元、按键扫描单元和按键上报单元;每个扫描端口都可以作为输入或输出端口;所述IO线组具有下拉电阻或外接下拉电阻,并与所述扫描端口信号连接,该IO线组中的IO线分别与按键矩阵中的按键连接,所述IO线的条数至少与按键矩阵的行数或列数相同,且该按键矩阵的每一行或者每一列均与一条IO线连接,按键按下时,对应连接组合被短接,松开后恢复断开状态;定时脉冲信号发送单元,与所述按键的行或列对应连接,用以发送按键检测所需脉冲信号,该定时脉冲信号发送单元定时发送脉冲信号①,且在按键按下时发送脉冲信号②,每行或者每列的脉冲信号①与脉冲信号②之间的时间间隔不同;按键扫描单元,与所述按键的行或列对应连接,用以对按键的脉冲信号进行扫描,确定按键的行列值;按键上报单元,与所述按键扫描单元信号连接,接收按键扫描单元扫描的行列值并进行初步判断,判断该行列值中有脉冲信号②时,将该行列值及按键扫描单元的扫描时间输入主控制模块。2.根据权利要求1所述的按键扫描系统,其特征在于:所述IO线的条数与按键矩阵的行数相同,定时脉冲信号发送单元每行的脉冲信号①与脉冲信号②之间的时间间隔不同,此时该按键矩阵中的每一行按键对应与一条IO线连接,该IO线与所述扫描端口一一对应连接。3.根据权利要求1所述的按键扫描系统,其特征在于:所述IO线的条数与按键矩阵的列数相同,定时脉冲信号发送单元每列的脉冲信号①与脉冲信号②之间的时间间隔不同,此时该按键矩阵中的每一列按键对应与一条IO线连接,该IO线与所述扫描端口一一对应连接。4....

【专利技术属性】
技术研发人员:杨金喜马涛
申请(专利权)人:天津中兴智联科技有限公司
类型:发明
国别省市:天津,12

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

1