知识链接

更新于 2026年10月10日 版权声明
知识链接

一、矩阵式键盘结构

在单片机控制系统中,需要的按键数量较多时,采用独立按键会占用大量的单片机I/O端口。通常采用矩阵式(又称为行列式)键盘,由行线(ROW)、列线(COL)及位于行列线交叉点上的按键等部分组成,其按键数等于矩阵行数和列数的乘积。如图5-3-2所示为一个4*4键盘,由16个按键组成。

图示

图5-3-2 矩阵式键盘结构

二、矩阵式键盘的工作原理

在矩阵式键盘中,一根I/O端口线已经不能确定哪一个键被按下,键的两端均接到I/O端口线上,通过行线和列线共同确定按键状态的位置,判别方法有行(列)扫描法和线反转法两种。

1.行(列)扫描法

行(列)扫描法,又称逐行(列)扫描查询法,是一种常用的键识别方法。识别步骤如下:(https://www.daowen.com)

① 首先判断是否有键按下,将全部行线ROW0—ROW3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中;若所有列线均为高电平,则键盘中无键按下。

② 其次做按键消抖处理。

③ 最后做按键识别。

2.线反转法

线反转法比较简洁,先将4行全部置0(0xf0);然后读列的状态,接着将列全部置0(0x0f),读行的状态,通过行|列状态就能确定整个行列的状态。步骤如下:

① 将行线作为输出线,将列线作为输入线。输出线全部置0,此时列线中呈低电平0的为按键所在的列,如果全部都不是0则没有键按下。

② 将第①步反过来,列线作为输出线,行线作为输入线。输出线全部置0,此时行线中呈低电平0的为按键所在的行。至此便确定按键的位置(x,y)。

有时为了保证一次按键只进行一次按键处理,可以判断按键是否释放,如果按键释放则开始执行操作。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)