[发明专利]一种矩阵键盘的快速扫描定位方法有效
申请号: | 201010153560.2 | 申请日: | 2010-04-23 |
公开(公告)号: | CN101840268A | 公开(公告)日: | 2010-09-22 |
发明(设计)人: | 陈路路;酒乐;陈荣;李晓鑫;程延沛;宋之民 | 申请(专利权)人: | 中国电子科技集团公司第五十四研究所 |
主分类号: | G06F3/02 | 分类号: | G06F3/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 050081 河北省石家庄*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 矩阵 键盘 快速 扫描 定位 方法 | ||
技术领域
该发明涉及于嵌入式系统(Embedded System)的控制领域中的一种矩阵键盘的快速扫描定位方法,特别适用于嵌入式终端设备的组合键盘设计。
背景技术
随着嵌入式技术的不断发展,当前的嵌入式终端设备广泛采用键盘作为主要的输入设备,但是键盘作为一种嵌入式终端采用的输入设备,依旧具有操作简单,可靠性高,响应时间迅速,稳定性好等特点,因而仍广泛应用于工业控制领域及嵌入式终端设备上使用。
由于键盘作为一种机械设备,在抬起和按下的时候会出现键盘抖动,并且造成电压信号在短时间内不稳定而出现毛刺现象,容易造成错键、连续触键甚至由此造成严重后果,同时作为嵌入式矩阵键盘大多缺少对重复按键和组合键的支持,出现无法响应组合键等现象
发明内容
本发明所要解决的技术问题主要是由于矩阵键盘自身的机械特性造成的键盘抖动而引起错键、连续触键等错误以及缺少组合键和重复按键支持而提供的一种快速扫描定位的方法。本方法可以有效的避免由于按键的抬起和按下造成的电平不稳定和毛刺现象,并提供一种组合键的响应,从而达到快速扫描定位的效果。本发明还具有算法简单、性能稳健、控制精度高等特点。
本发明一种矩阵键盘的快速扫描定位方法的技术方案,是嵌入式设备运用Linux操作系统来实现的,所述的嵌入式设备包括矩阵键盘和寄存器,所述的方法包括以下步骤:
A、键盘设备初始化和注册键盘设备;
B、系统等待键盘触发中断信号;
C、键盘的按键按下或者抬起,触发键盘中断信号;
D、系统响应中断信号,进入键盘扫描步骤;
F、判断按键是否有效;如按键有效,则进入步骤G;如按键无效,则进入步骤B;
G、输出键盘键值到队列并等待应用程序读取。
作为本发明的改进,包括以下:
步骤D当中所述键盘扫描步骤为系统调用内核定时器进行采样定时操作,对按键进行行列扫描,并读取当前行和当前列的键值。
步骤F中判断按键是否有效的方式为多次重复键盘扫描步骤,并对所获得的键值进行状态判断;如果多次采样状态相同,则处于稳定状态,键值有效;如果多次采样状态不同,键值无效。
在步骤F和步骤G之间增加单键操作或组合键操作判断步骤;如是单键操作,则进入单键处理模式;如是组合键操作,则进入组合键处理模式。
所述单键操作或组合键操作判断步骤是通过寄存器KPAS的数据判定是单键按下、抬起或者是组合键按下、抬起。
所述的单键处理模式为根据寄存器判断键盘操作是否是单键抬起和按下,如果是单键抬起,则对单键键值进行清空,并清空按键数目;如果单键按下,则记录单键键值并上报到队列中,并将按键数目递加。
所述的组合键处理模式为根据寄存器数据对组合键进行判断,首先通过按键数目的增减来判断是抬起或者按下,如果增加表示有键按下,将新的键值记录,并将该键值上报队列,并将按键数目递加;如果减少表示有键抬起,则清空上次的键值,并将按键数目递减。
本发明与背景技术相比具有如下优点:
1.本发明采用快速扫描定位的方法可以有效的避免矩阵键盘由于自身机械特性而造成的电平不稳和抖动现象,提高矩阵键盘的扫描定位的准确性。
2.本发明采用的快速扫描定位的方法具有算法简单、性能稳健、控制精度高等特点。
附图说明
图1是本发明的原理方框图。
具体实施方式
参照图1,本发明实现的方法原理框图如图1所示。嵌入式设备运用Linux操作系统来实现,所述的嵌入式设备包括矩阵键盘和寄存器,其具体步骤如下:
1、本发明所述方法中,在内核启动后,首先对键盘设备进行初始化操作,并注册键盘设备名称、设备信息、驱动信息、设备读写等待等操作,并对KPC寄存器进行初始操作,包括对矩阵键盘的输入输出、使能等部分;在本实例中通过函数pxa270_kp_init完成初始化操作。
2、键盘设备向系统申请中断请求request_irq,等待矩阵键盘触发中断信号;
3、当矩阵键盘按下或者抬起后,触发键盘中断,系统驱动响应中断后,等待进入定时键盘扫描过程;
4、系统调用内核定时器进行采样定时操作,进行矩阵键盘的行列扫描,并读取寄存器数据,在本实例中,采用20ms定时时间。
5、读取寄存器来获取当前键盘行的键值。在本实例中,通过获取寄存器KPASMKP和KPASMKPx_MKC[N],来获取键盘当前行的键值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第五十四研究所,未经中国电子科技集团公司第五十四研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010153560.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种快速显示计算机故障的方法
- 下一篇:一种害虫实时远程监控系统及用途