b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

单片机按键使用过程中的矩阵式按键接法工作原理

电脑杂谈  发布时间:2021-02-12 14:01:20  来源:网络整理

在使用MCU按键的过程中,键盘上有大量按键时,为了减少端口占用,按键通常以矩阵形式排列,如下图所示。在矩阵键盘中,每条水平线和垂直线都不直接在相交处。该连接通过按钮连接。这样做的目的是什么?查看下面的电路图。单片机的整个8位端口可以形成4 * 4 = 16个矩阵按钮,是独立按钮连接方法的两倍。行数越多,差异越明显。如果添加更多,一行可以组成一个具有20个键的键盘,但是独立键连接只能有一个键。可以看出,当所需键的数量较大时,使用矩阵方法连接键盘是非常合理的。矩阵结构的键盘显然比独立键盘复杂,并且单片机的识别也更加复杂。为了确认是否按下了矩阵键盘上的任何键,通常使用行扫描方法。线扫描方法也称为渐进查询方法,它是最常用的多键识别方法。因此,我们以线扫描法为例,介绍矩阵键盘的工作原理。

图5-4(4 * 4矩阵按钮的连接)

首先,连续并周期性地给较低的四个独立的低电平,然后判断键盘上是否有按键被按下。将低位的列线之一(P 1. 0〜P 1. 3中的列之一)设置为低电平,然后检测行线的状态(高4位,即P 1. 4〜P 1. 7,由于线路关系,只要连接到低电平列线,就跳到低电平),只要行的电平低,延迟一段时间消除抖动,然后再次判断是否仍然为低电平,这表示键盘上的某个键确实被按下,而关闭键处于4个键中的任意一个处于低电平。如果所有行都处于高电平,则表示键盘上没有按键。其次,确定关闭键的特定位置。确认按下某个键后,您可以进入确定特定关闭键的过程。方法是:依次将列线设置为低电平,即当某列线设置为低电平时,其他列线为高电平。同时,逐行检查每行的电平状态;如果行低,则设置为低的行线和列线交点处的按钮是关闭的按钮。下面的图5-5是4 * 4矩阵按钮连接的软件算法操作流程。

根据上述算法流程编写以下程序。电路如图5-6所示,但在图5-5的基础上,增加了P0端口的8个LED灯。从键盘检测到一个键值,然后将该值写入LED数字管进行显示。另一个工作原理:

1、 4×4矩阵键盘的工作原理

矩阵键盘也称为行列式键盘。它是由4条I / O线作为行线和4条I / O线作为列线的键盘。在行线和列线的每个交叉点处,设置一个按钮。这样,键盘中的键数为4×4。这种行列式键盘结构可以有效提高微控制器系统中I / O端口的利用率。

图1是ME300B矩阵键盘电路图,行线连接到P 1. 4-P 1. 7,列线连接到P 1. 0-P 1. 3。

图1矩阵键盘电路

矩阵 一致性_vb 其它程序键盘_矩阵键盘扫描程序 4*4

图2按钮排列

2、数字管动态扫描显示电路

在ME300B开发系统中,采用了8位数字电子管动态扫描显示器。它并行连接所有数字电子管的8段,并将它们连接到AT89S51的P0端口,并且现场输出由P0端口控制。每个数码管的共阳极通过AT89S51的P2端口控制,控制Q20-Q27,实现8位数码管的位输出控制。

通过这种方式,一组数字管的动态扫描和显示需要由两组信号控制:一组是由现场输出端口输出的字体代码,用于控制显示的字体,称为段代码;另一个是位输出。端口输出的控制信号用于选择要工作的数字电子管的数量,这称为位代码。

由于每个数字电子管的分段线是并联连接的,因此每个数字电子管的分段代码输出是相同的。因此,如果每个数码管的位选择线同时处于选通状态,则8个数码管将显示相同的字符。如果要每个数码管显示与此位相对应的字符,则必须使用扫描显示模式。即,在某一时刻,只有一个位的位选择线处于导通状态,而其他位的位选择线处于截止状态。同时,在段线上输出要在相应位上显示的字符的字体代码。这样,在同一时间,只有选通的一个显示字符,而其他位关闭。如果循环继续进行,则每个数码管都可以显示要显示的字符。

尽管这些字符出现在不同的时间,并且同时只显示一个显示器,而其他显示器却不显示,但是由于数字电子管的余辉特性以及人眼的视觉持续现象,只要每个数码管的显示间隔足够短,就可以连续稳定地显示人眼的视觉印象。

图3数字电子管电路

可以通过调整延迟程序的延迟长度来完成显示数码管不同位的时间间隔。数字管的显示时间间隔还可以确定数字管显示的亮度。如果显示时间间隔较长,则数码管的显示亮度将变亮。如果显示时间间隔短,则数码管的显示亮度将变暗。如果显示时间间隔太长,显示时数码管将闪烁。因此,在调整显示时间间隔时,有必要在显示过程中考虑数码管的亮度,并在显示数码管时避免闪烁。

矩阵 一致性_矩阵键盘扫描程序 4*4_vb 其它程序键盘

在ME300B微控制器开发系统中使用数字管显示信息时,请将JP2的2、 3端子短路。参见图3

二、演示程序编程方法

1、 4×4矩阵键盘的编程方法:

1. 1、首先读取键盘的状态以获取按键的功能代码。

首先从端口P1的高四位输出低电平,从端口四的低位输出高电平,并从端口P1的低四位读取键盘状态。然后从端口P1的低四位输出低电平,从端口四的高四位输出高电平,并从端口P1的高四位读取键盘状态。合并两个读取结果,以获取当前按钮的功能代码。通过以上方法,我们得到了16个按键的功能代码。

有关如何获取按钮功能代码的示例:

假设按下“ 1”键,找到该键的功能代码。

从端口P1的高四位输出低电平,即P 1. 4-P 1. 7是输出端口。低四位输出高电平,即P 1. 0-P 1. 3为输入端口。 P1端口的低四位状态为“ 1101”,其值为“ 0DH”。

矩阵键盘扫描程序 4*4_vb 其它程序键盘_矩阵 一致性

然后从端口P1的高四位输出高电平,即P 1. 4-P 1. 7是输入端口。低四位输出低电平,即P10-P13为输出端口。 P1端口的高四位的状态为“ 1110”,其值为“ E0H”。

两次读取P0端口状态值的逻辑或运算将获得关键功能代码为“ EDH”。

其他15个按键的功能代码可以通过相同的方式获得。

1. 2、根据关键特征代码,查找表格以获取关键序列代码。

将通过上述方法获得

16

根据图片对每个按钮进行特征编码

2

按键的顺序排列在相应的功能码和顺序码表中,然后使用当前读取的功能码查询该表。当特征码在表格中时,其位置是相应的顺序编码。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-356377-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...