一种按键处理方法、设备及系统与流程

文档序号:17988667发布日期:2019-06-22 00:36阅读:270来源:国知局
一种按键处理方法、设备及系统与流程

本发明涉及电子技术领域,尤其涉及一种按键处理方法、设备及系统。



背景技术:

为了减少对中央处理器(centralprocessingunit,cpu)输入/输出口的占用,通常将键盘的按键排列成矩阵形式,这种将按键排列成矩阵形式的键盘称为矩阵键盘或者行列键盘。

传统具有矩阵键盘的按键处理系统响应按键输入的过程包括:当矩阵键盘检测到当前有按键输入时,矩阵键盘进一步检测按键输入的位置,并根据按键输入的位置通过计算或者查表的方式获取按键输入的键值,然后根据按键输入的键值生成键值信号发送至按键响应设备;按键响应设备接收到矩阵键盘发送的键值信号后,首先执行完当前正在执行的任务,然后对按键响应任务进行调度,最后通过调度的按键响应任务对键值信号进行处理。即,按键响应设备处理矩阵键盘输入的键值信号仅仅是按键响应设备的工作内容之一,当接收到矩阵键盘输入的键值信号时,按键响应设备可能正在执行其他无法中断的任务,这样就有可能造成处理设备无法实时响应矩阵键盘输入的键值,需要等待当前任务完成后方可响应矩阵键盘输入的键值。此时就会表现为已经按下矩阵键盘的某个按键,但按键处理系统不能及时响应按键输入,或者按键处理系统响应按键输入的延时较长。



技术实现要素:

本发明的实施例提供一种按键处理方法、设备及系统,提高系统的实时响应速度。

第一方面,提供一种按键处理方法,应用于第一系统,所述方法包括:

检测是否具有按键输入;

若是,则向第二系统发送中断信号;其中,所述中断信号用于指示所述第二系统根据系统任务的优先级对按键响应任务进行调度;

根据所述按键输入向所述第二系统发送键值信号,以便所述第二系统通过调度的所述按键响应任务执行所述键值信号对应的动作。

可选的,在根据所述按键输入向所述第二系统发送键值信号之前,所述方法还包括:

获取所述按键输入的位置;

根据所述按键输入的位置获取所述按键输入的键值;

根据所述按键输入的键值生成键值信号。

可选的,所述第一系统包括:多条行线、多条与所述行线交叉设置的列线以及位于行线与列线交叉的位置上的按键;其中,当任一按键具有按键输入时,在该按键处交叉的行线和列线导通;所述检测是否具有按键输入,包括:

向所述多条行线输入低电平电压、向所述多条列线的第一端输入高电平,检测所述多条列线的第二端的电压值;

若所述多条列线的第二端的电压值均为高电平,则确定没有按键输入;

若一条或多条列线的第二端的电压值为低电平,则确定具有按键输入。

可选的,所述获取所述按键输入的位置,包括:

逐行向所述多条行线输入低电平、向所述多条列线的第一端输入高电平,检测所述多条列线的第二端的电压值;

确定第一列线和第一行线;所述第一列线为第二端的电压值为低电平的列线,所述第一行线为第一列线的第二端的电压值为低电平时,输入低电平的行线;

将所述第一列线和第一行线交叉位置确定为所述按键输入的位置。

第二方面,提供一种按键处理方法,应用于第二系统,所述方法包括:

接收第一系统发送的中断信号;其中,所述中断信号为所述第一系统检测到具有按键输入时向所述第二系统发送的;

根据所述中断信号以及系统任务的优先级对按键响应任务进行调度;

接收所述第一系统发送的键值信号;

通过调度的所述按键响应任务执行所述键值信号对应的动作。

第三方面,提供一种第一系统,包括:

按键检测单元,用于检测是否具有按键输入;

中断逻辑单元,用于在所述检测单元检测到具有按键输入时,向第二系统发送中断信号;其中,所述中断信号用于指示所述第二系统根据系统任务的优先级对按键响应任务进行调度;

处理单元,用于根据所述按键输入向所述第二系统发送键值信号,以便所述第二系统通过调度的所述按键响应任务执行所述键值信号对应的动作。

可选的,所述处理单元具体用于获取所述按键输入的位置;根据所述按键输入的位置获取所述按键输入的键值;根据所述按键输入的键值生成键值信号。

可选的,所述第一系统包括:多条行线、多条与所述行线交叉设置的列线以及位于行线与列线交叉的位置上的按键;其中,当任一按键具有按键输入时,在该按键处交叉的行线和列线导通;

所述检测单元具体用于向所述多条行线输入低电平电压、向所述多条列线的第一端输入高电平,检测所述多条列线的第二端的电压值;若所述多条列线的第二端的电压值均为高电平,则确定没有按键输入;若一条或多条列线的第二端的电压值为低电平,则确定具有按键输入。

可选的,所述处理单元具体用于逐行向所述多条行线输入低电平、向所述多条列线的第一端输入高电平,检测所述多条列线的第二端的电压值;确定第一列线和第一行线;所述第一列线为第二端的电压值为低电平的列线,所述第一行线为第一列线的第二端的电压值为低电平时,输入低电平的行线;将所述第一列线和第一行线交叉位置处的按键确定为所述按键输入的位置。

第四方面,提供一种第二系统,包括:

第一信号处理单元,用于接收第一系统发送的中断信号,根据所述中断信号以及系统任务的优先级对按键响应任务进行调度;其中,所述中断信号为所述第一系统检测到具有按键输入时向所述第二系统发送的;

第二信号处理单元,用于接收第一系统发送的键值信号,以及所述第一信号处理单元调度的所述按键响应任务执行所述键值信号对应的动作。

第五方面,提供一种信号处理系统,包括:第一系统和第二系统;

所述第一系统包括第三方面任一项所述的第一系统;

所述第二系统包括第四方面所述的第二系统。

本发明实施例提供的按键处理方法,在检测到具有按键输入后,首先向第二系统发送中断信号,然后再根据按键输入向第二系统发送键值信号;由于在检测到具有按键输入后先向第二系统发送了中断信号,因此第二系统可以提前对按键响应任务进行调度,进而在接收到第二系统发送键值信号后,通过调度的按键响应任务对所述键值信号进行处理,因此本发明实施例可以减小按键处理过程中的延迟,提高系统的实时响应速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的按键处理系统的示意图;

图2为本发明实施例提供的按键处理方法的步骤流程图;

图3为本发明实施例提供的第一系统的电路图;

图4为本发明实施例提供的第一系统的检测信号的波形图;

图5为本发明实施例提供的第一系统的示意性结构图;

图6为本发明实施例提供的第二系统的示意性结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一系统和第二系统等是用于区别不同的系统,而不是用于描述系统的特定顺序。

在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。

现有技术中,当接收到矩阵键盘输入的键值信号后时,按键响应设备可能正在执行其他无法中断的任务,这样就有可能造成处理设备无法实时响应矩阵键盘输入的键值,需要等待当前任务完成后方可响应矩阵键盘输入的键值。此时就会表现为已经按下矩阵键盘的某个按键,但按键响应设备不能及时响应按键输入,或者按键响应设备响应按键输入的延时较长。

为解决上述问题,本发明实施例提供一种按键处理方法、设备及系统。该按键处理方法在检测到具有按键输入后,首先向第二系统发送中断信号,然后再根据按键输入向第二系统发送键值信号;由于在检测到具有按键输入后先向第二系统发送了中断信号,因此第二系统可以提前对按键响应任务进行调度,进而在接收到第二系统发送键值信号后,通过调度的按键响应任务对所述键值信号进行处理,因此本发明实施例可以减小按键处理过程中的延迟,提高系统的实时响应速度。

如图1所示,本发明实施例提供的按键处理系统,包括:第一系统10和第二系统20。

其中,第一系统10具体可以为不具有实时性的系统设备,第二系统20可以为具有强实时性的系统设备。按键检测系统10与按键响应系统20之间可以通过各类现场总线,例如:ethernet/ip、can、rs485等连接,并通过总线对第一系统10和第二系统20之间的信号进行传输。

基于上述内容,本发明的实施例提供一种按键处理方法,具体的参照图2所示,该方法包括:

s21、第一系统检测是否具有按键输入。

可选的,如图3所示,所述第一系统包括:多条行线31(r1、r2、r3……rn)、多条与所述行线31(r1、r2、r3……rn)交叉设置的列线32(c1、c2、c3……cm)以及位于行线与列线交叉的位置上的按键33。

其中,当任一按键具有按键输入时,在该按键处交叉的行线和列线导通。例如:当按键k3-2具有按键输入时,行线r3与列线c2导通。

上述步骤s21中检测是否具有按键输入,具体可以包括:

s211、向所述多条行线(r1、r2、r3……rn)输入低电平电压、向所述多条列线(c1、c2、c3……cm)的第一端输入高电平,检测所述多条列线的第二端的电压值。

在上述步骤s211中,若所述多条列线(c1、c2、c3……cm)的第二端的电压值均为高电平,执行步骤s222;若一条或多条列线的第二端的电压值为低电平,则执行步骤s223。

s222、确定没有按键输入。

s223、确定具有按键输入。

进一步的,以下对上述实施例中第一系统检测是否具有按键输入的工作原理进行说明:

首先向多条行线(r1、r2、r3……rn)均输入低电平,向所述多条列线(c1、c2、c3……cm)的第一端输入高电平,在无按键按下时,行线与列线均不导通,各列线上的电压均为高电平;若按键被按下,则按键会将对应的行线与列线导通,进而拉低列线上的电压,此时列线上的电压为低电平,因此可以通过检测列线上的电压来确定是否有按键按下。

在上述步骤s21中,若检测到具有按键输入,则执行下述步骤s22;若,检测到没有按键输入,则返回步骤s21,再次检测是否具有按键输入。

s22、第一系统向第二系统发送中断信号。

对应的,第二系统接收第一系统发送的中断信号。

其中,中断信号用于指示所述第二系统对按键响应任务进行调度。

s23、第二系统根据中断信号以及系统任务的优先级对按键响应任务进行调度。

即,当第一系统检测到具有按键输入时,首先向第二系统发送中断信号,使第二系统可以提前对按键响应任务进行调度;第一系统再确定按键输入的键值并向第二系统发送键值信号,从而使第二系统在接收到键值信号时,可以根据提前调度的按键响应任务直接对键值信号进行处理,因可以提高系统实时响应速度。

s24、第一系统根据所述按键输入向所述第二系统发送键值信号。

对应的,第二系统接收第一系统发送的键值信号。

在根据所述按键输入向所述第二系统发送键值信号之前,第一系统首先应生成键值信号。具体的,第一系统可以通过如下步骤s241-s243来生成键值信号。

s241、第一系统获取所述按键输入的位置。

具体的,如图3所示,所述第一系统包括:多条行线(r1、r2、r3……rn)、多条与所述行线(r1、r2、r3……rn)交叉设置的列线(c1、c2、c3……cm)以及位于行线与列线交叉的位置上的按键23。当任一按键具有按键输入时,在该按键处交叉的行线和列线导通,则可以通过如下步骤a-c获取所述按键输入的位置。

a、逐行向所述多条行线(r1、r2、r3……rn)输入低电平、向所述多条列线的第一端输入高电平,检测所述多条列线的第二端的电压值。

具体的,如图4所示,多条行线(r1、r2、r3……rn)上的电压波形图包括n个时间段(t1、t2、t3……tn),在第一时间段t1时,向行线r1输入低电平,其他行线浮空或输入高电平,在第二时间段t2时,向行线r2输入低电平,其他行线浮空或输入高电平,……在第n时间段tn时,向行线rn输入低电平,其他行线浮空或输入高电平。

b、确定第一列线和第一行线。

其中,所述第一列线为第二端的电压值为低电平的列线,所述第一行线为第一列线的第二端的电压值为低电平时,输入低电平的行线。

c、将所述第一列线和第一行线交叉位置处的按键确定为所述按键输入的位置。

具体的,参照图4所示,第二端的电压值为低电平的列线为列线cx,且列线cx的第二端的电压值为低电平的时间段为ty,则第一行线为第y时间段ty时输入低电平的行线ry,则将列线cx和行线ry交叉位置(按键ky-x所在位置)确定为所述按键输入的位置。

s242、第一系统根据所述按键输入的位置获取所述按键输入的键值。

具体的,第一系统可以通过计算或查表的方式来根据所述按键输入的位置获取所述按键输入的键值。

s243、根据所述按键输入的键值生成键值信号。

s25、第二系统通过调度的所述按键响应任务执行所述键值信号对应的动作。

上述实施例提供的按键处理方法,在检测到具有按键输入后,首先向第二系统发送中断信号,然后再根据按键输入向第二系统发送键值信号;由于在检测到具有按键输入后先向第二系统发送了中断信号,因此第二系统可以提前对按键响应任务进行调度,进而在接收到第二系统发送键值信号后,通过调度的按键响应任务对所述键值信号进行处理,因此本发明实施例可以减小按键处理过程中的延迟,提高系统的实时响应速度。

本申请实施例可以根据上述方法示例对第一系统、第二系统等进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用集成的单元的情况下,本发明再一实施例提供一种第一系统,具体的,参照图5所示,该第一系统500,包括:

按键检测单元51,用于检测是否具有按键输入。

中断逻辑单元52,用于在所述检测单元检测到具有按键输入时,向第二系统发送中断信号;其中,所述中断信号用于指示所述第二系统根据系统任务的优先级对按键响应任务进行调度。

具体的,中断逻辑单元52具体可以为通过晶体管搭建的逻辑电路或者集成电路芯片。

处理单元53,用于根据所述按键输入向所述第二系统发送键值信号,以便所述第二系统通过调度的所述按键响应任务执行所述键值信号对应的动作。

具体的,处理单元53具体可以为中央处理器(centralprocessingunit,cpu)。

上述实施例提供的第一系统,在检测到具有按键输入后,首先向第二系统发送中断信号,然后再根据按键输入向第二系统发送键值信号;由于在检测到具有按键输入后先向第二系统发送了中断信号,因此第二系统可以提前对按键响应任务进行调度,进而在接收到第二系统发送键值信号后,通过调度的按键响应任务对所述键值信号进行处理,因此本发明实施例可以提高按键处理系统的实时响应速度。

可选的,所述处理单元53具体用于获取所述按键输入的位置;根据所述按键输入的位置获取所述按键输入的键值;根据所述按键输入的键值生成键值信号。

可选的,所述第一系统包括:多条行线、多条与所述行线交叉设置的列线以及位于行线与列线交叉的位置上的按键;其中,当任一按键具有按键输入时,在该按键处交叉的行线和列线导通;

所述按键检测单元51具体用于向所述多条行线输入低电平电压、向所述多条列线的第一端输入高电平,检测所述多条列线的第二端的电压值;若所述多条列线的第二端的电压值均为高电平,则确定没有按键输入;若一条或多条列线的第二端的电压值为低电平,则确定具有按键输入。

可选的,所述处理单元53具体用于逐行向所述多条行线输入低电平、向所述多条列线的第一端输入高电平,检测所述多条列线的第二端的电压值;确定第一列线和第一行线;所述第一列线为第二端的电压值为低电平的列线,所述第一行线为第一列线的第二端的电压值为低电平时,输入低电平的行线;将所述第一列线和第一行线交叉位置处的按键确定为所述按键输入的位置。

在采用集成的单元的情况下,本发明再一实施例提供一种第二系统,具体的,参照图6所示,该第二系统600,包括:

第一信号处理单元61,用于接收第一系统发送的中断信号,根据所述中断信号以及系统任务的优先级对按键响应任务进行调度;其中,所述中断信号为所述第一系统检测到具有按键输入时向所述第二系统发送的;

第二信号处理单元62,用于接收第一系统发送的键值信号,以及所述第一信号处理单元调度的所述按键响应任务执行所述键值信号对应的动作。

上述实施例提供的第二系统,在接收到中断信号后,首先根据所述中断信号对按键响应任务进行调度,然后再接收第一系统发送的键值信号后,通过调度的按键响应任务对所述键值信号进行处理;由于在接收到中断信号后先根据所述中断信号对按键响应任务进行调度,因此第二系统可以提前对按键响应任务进行调度,进而在接收到第二系统发送键值信号后,通过调度的按键响应任务对所述键值信号进行处理,因此本发明实施例可以减小按键处理过程中的延迟,提高系统的实时响应速度。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用于使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

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