单片机矩阵式键盘的编程方法

时间:2023-03-11作者:佚名
  单片机系统中,若使用按键较多时,通常采用矩阵式(也称行列式)键盘。
  1.矩阵式键盘的结构及原理
  矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如图所示。
由图可知,一个 4 × 4 的行、列结构可以构成一个含有 16 个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多 I/O 口。

单片机矩阵式键盘的编程方法

  矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+ 5V 上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。
  2.矩阵式键盘按键的识别
  识别按键的方法很多,其中,最常见的方法是扫描法。下面以图中 8 号键的识别为例来说明扫描法识别按键的过程。
   按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平。显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平。只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。 CPU 根据行电平的变化,便能判定相应的行有键按下。 8 号键按下时,第 2 行一定为低电平。然而,第 2 行为低电平时,能否肯定是 8 号键按下呢?
   回答是否定的,因为 9 、 10 、 11 号键按下,同样会使第 2 行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依此循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。采用键盘扫描后,再来观察 8 号键按下时的工作过程,当第 0 列处于低电平时,第 2 行处于低电平,而第 1 、 2 、 3 列处于低电平时,第 2 行却处在高电平,由此可判定按下的键应是第 2 行与第 0 列的交叉点,即 8 号键。
  3.键盘的编码
  对于独立式按键键盘,因按键数量少,可根据实际需要灵活编码。对于矩阵式键盘,按键的位置由行号和列号惟一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高 4 位是行号,低 4 位是列号。如图 7.5 中的 8 号键,它位于第 2 行,第 0 列,因此,其键盘编码应为 20H 。采用上述编码对于不同行的键离散性较大,不利于散转指令对按键进行处理。因此,可采用依次排列键号的方式对按排进行编码。以图 7.5 中的 4 × 4 键盘为例,可将键号编码为: 01H 、 02H 、 03H 、 … 、 0EH 、 0FH 、 10H 等 16 个键号。编码相互转换可通过计算或查表的方法实现。
  4.键盘的工作方式
  对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中 CPU 的工作状况而定,其选取的原则是既要保证 CPU 能及时响应按键操作,又不要过多占用 CPU 的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。
  编程扫描方式
  编程扫描方式是利用 CPU 完成其它工作的空余时间,调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时, CPU 不再响应键输入要求,直到 CPU 重新扫描键盘为止。
键盘扫描程序一般应包括以下内容:
  (1) 判别有无键按下。
  (2) 键盘扫描取得闭合键的行、列值。
  (3) 用计算法或查表法得到键值。
  (4) 判断闭合键是否释放,如没释放则继续等待。
  (5) 将闭合键键号保存,同时转去执行该闭合键的功能。

相关阅读

水电工必看,水电安装现场施工图,请您来打分!

水电工必看,水电安装现场施工图,请您来打分! 楼层管道井成排立管 室内管道安装 左:排水管道安装 右:桥架安装 蹲便布局合理,地漏找中,整体效果非常美观 左:给排水管道的...
2023-06-11
水电工必看,水电安装现场施工图,请您来打分!

电动机正反转PLC控制,收藏学习

按下正转启动按钮SB1,电动机正转接触器KM1线圈接通得电,接触器KM1主触点接通,电动机正转启动,按下停止按钮SB3,电动机正转接触器KM1线圈失电,接触器KM1主触点断开,电动机停止...
2023-06-25
电动机正反转PLC控制,收藏学习

电工必看:老板正在PUA你的5个信号,别再自我内耗了

作为电工,我们每天穿梭在车间、工地、楼宇之间,爬高走低、排查线路、抢修故障,用专业技能保障用电安全,干的是技术活,更是良心活。可职场中,不少电工兄弟都会遇到看似“严格...
2026-04-21
电工必看:老板正在PUA你的5个信号,别再自我内耗了

单相电动机的工作原理

单相电动机 只有一个绕阻,转子是鼠笼式的,当单相正弦电流通入定子绕阻时,电动机就会产生一种交变磁场,这个磁场的强弱方向随时间作正弦规律变化,但在空间位置上是固定的,...
2023-03-21

MLCC电极用超细铜粉的制备工艺

MLCC电极用金属粉末的技术要求 为了满足MLCC电极使用要求,金属粉末应具有以下性能特点: 1)所用金属颗粒熔点要高(1000℃以上),以防止与陶瓷介质同时烧结时发生金属粉末的熔化...
2023-03-31
MLCC电极用超细铜粉的制备工艺

热销商品

FEITA 镊子碳纤维合成塑料防静电无尘净化塑胶手动工具镊子93302

FEITA镊子93302采用高强度碳纤维合成塑料材质,兼具轻量化与耐用性,适用于精密操作场景。其独特的防静电设计有效避免静电对电子元件的损害,广泛应用于半导体、光学、...
1.2

江南国标rvv铜芯电缆软线3 4多芯平方rvvp护套信号屏蔽线线缆电线

江南国标rvv铜芯电缆软线34多芯平方rvvp护套信号屏蔽线线缆电线,是一种高性能的电缆产品,适用于各种信号传输和控制场合。该电缆采用优质铜芯,具有优良的导电性能和...
1.96

内六角扳手套装单个内六方螺丝刀进口S2款加长特长平头内6角2.5mm

这款进口S2材质内六角扳手套装,专为精密机械维修与装配设计,采用高品质S2合金钢制造,具备卓越的硬度、耐磨性与抗扭强度,有效防止使用过程中断裂或变形。套装中包含2....
1.4

橡胶条U型防撞包边条橡胶卡条玻璃嵌条配电箱机柜u型条密封条封王

橡胶条U型防撞包边条是一种多功能密封与防护配件,广泛应用于配电箱、机柜、玻璃门窗及各类设备边缘。采用优质橡胶材质,具备优异的弹性、耐老化、防水防尘和抗冲击...
0.8

10副装护目镜打磨劳保防飞溅男女骑行机械实验防风沙灰尘防护眼镜

这款10副装护目镜专为多场景防护设计,适用于打磨、机械加工、实验操作、骑行及户外作业等环境。采用高透光防雾镜片,有效抵御飞溅物、风沙、灰尘及化学液体喷溅,保障...
19.8

网站栏目