OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 单片机矩阵式键盘的构造原理及编程方法

共5条 1/1 1 跳转至

单片机矩阵式键盘的构造原理及编程方法

助工
2020-07-15 16:28:02    评分

 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) 将闭合键键号保留,一同转去施行该闭合键的功用。




工程师
2020-07-16 08:35:22    评分
2楼

很不错的分享


助工
2020-07-16 08:49:30    评分
3楼

构造起来还是比较困难的


高工
2020-07-17 09:27:43    评分
4楼

这是外接键盘常用的方法


助工
2020-07-22 10:32:10    评分
5楼

学到了


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]