[发明专利]一种简单高效的矩阵键盘按键定位方法在审
申请号: | 201710333373.4 | 申请日: | 2017-05-12 |
公开(公告)号: | CN107168542A | 公开(公告)日: | 2017-09-15 |
发明(设计)人: | 甘宇健 | 申请(专利权)人: | 广西财经学院 |
主分类号: | G06F3/02 | 分类号: | G06F3/02;H03M11/20 |
代理公司: | 广西南宁汇博专利代理有限公司45114 | 代理人: | 郭平香 |
地址: | 530000 广西壮族*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 简单 高效 矩阵 键盘 按键 定位 方法 | ||
技术领域
本发明涉及键盘按键的定位方法,具体涉及一种简单高效的矩阵键盘按键定位方法。
背景技术
随着嵌入式系统、便携式设备的大量涌现,矩阵键盘作为其常见的输入设备使用场合也随之不多增加。为此许多人提出了对于矩阵键盘电路设计的改进方案,但目前使用最广的依然是传统的矩阵键盘设计。
根据传统的矩阵键盘设计中RC值的规律,目前最常见的矩阵键盘按键定位方法共两种:逐一键值判断法和逐行(列)扫描法。其中,逐一键值判断法将输入的RC值与表1中16个不同的值进行逐一对比,判断按下的按键。这种方法常用在C语言编程的嵌入式系统,因为只需要一个switch-case组合语句就能实现。而逐行(列)扫描法则常用在汇编语言编程的嵌入式系统,因为其执行速度较逐一键值判断法要高,而且汇编程序的代码量与逐一键值判断法相差不大。其算法思想是:先逐一判断按键在哪一行,再逐一判断按键在那一列,最后根据行和列的判断结果输出对应的键值。对于逐一键值判断法和逐行(列)扫描法均有各自的缺点。逐一键值判断法的优点是算法简单,而缺点是效率低,程序存储空间消耗大。逐行(列)扫描法的优点是效率高,而缺点是算法流程复杂,程序存储空间消耗大。
发明内容
为了克服上述的两种方法的缺点,本发明提出一种简单高效的矩阵键盘按键定位方法,本发明拥有简单、高效、ROM消耗小的优点。
本发明采用以下技术方案:
一种简单高效的矩阵键盘按键定位方法,应用于4*4矩阵键盘时,依次包括以下步骤:
步骤一,首先获取4*4矩阵键盘的16个行列值,即RC值,并且匹配16个相应的KEY值;
步骤二,自定义变量RC_2等于输入值RC,自定义键值变量KEY等于0;
步骤三,读取并判断RC_2的最低位是否为0;如果为0,进入步骤四;如果不为0,将KEY加1,同时RC_2右移一位,继续读取并判断右移之后的RC_2的最低位是否为0,直至判断为0,进入步骤四;
步骤四,再次令变量RC_2等于输入值RC;
步骤五,将RC_2的高四位和低四位进行互换,然后读取并判断RC_2的最低位是否为0;如果为0,进入步骤六;如果不为0,将KEY加4,同时RC_2右移一位,继续读取并判断右移之后的RC_2的最低位是否为0,直至判断为0,进入步骤六;
步骤六,输出当前键值KEY,按键定位结束。
所述矩阵键盘按键定位方法在应用更高阶的5*5、6*6矩阵键盘时,本方法仅需调整变量位数宽度和累加值,无需新增代码。
所述4*4矩阵键盘RC值的获取方法包括以下步骤:
1)COL[0~3]置为高阻(输入),ROW[0~3]输出0000B(二进制);
2)将COL[0~3]的输入保存到变量A;
3)COL[0~3]输出0000B,ROW[0~3]置为高阻(输入);
4)将ROW[0~3]的输入作为高四位,与变量A的低四位合并,保存至变量RC(RC为8bit);
5)输出RC的值;
得到的RC值如下:
从上述16个RC值可以看出,每一个RC值的高四位与低四位中分别只有一位为0,其他三位均为1。假设在RC值的高四位中,第X位(从0开始计数,故整个字节第5位为高四位的第0位)为0,在低四位中,第Y位(从第0位开始计数)为0,可得该RC值对应的键值等式:键值 = X*4 + Y*1 (0≤ X,Y ≤3)。
基于键值等式的规律,本发明提出来如上述的切实可行的高效的矩阵键盘案件定位方法。
本发明的有益效果:
1.本方法流程简单,在汇编环境下代码量比逐一键值判断法和逐行(列)扫描法的代码量减少了约四分之三,由此节约了程序存储空间,降低了程序维护成本。
2.本方法最后的累加结果KEY就是所需键值,这让我们省去预先定义键值的麻烦,并节省了存储空间。
3.从判断语句运行的次数看,本方法的判断次数与逐行(列)扫描法相同(判断2到8次),比逐一键值判断法(判断1到16次)少。可见本方法的效率与逐行(列)扫描法相近,优于逐一键值判断法。
4.当应用于更高阶的5*5、6*6矩阵键盘时,本方法仅需调整变量位数宽度和累加值,无需新增代码。
附图说明
图1为本发明的一种简单高效的矩阵键盘按键定位方法的矩阵键盘程序流程示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广西财经学院,未经广西财经学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710333373.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种输入的实现方法和装置
- 下一篇:键盘控制方法及装置