proteus矩阵按键计算机,基于proteus的51单片机仿真实例八十二、4X4矩阵键盘应用实例...

1、矩阵键盘的工作原理:

1)接口电路:在单片机系统中,当按键数量较多时,为了减少IO口的使用,通常将按键排列成矩阵型式,例如本例中的16个按键,被排列成了如下图所示的4X4矩阵方式。即由4根行线和4根列线组成,每个行线和列线的交叉点既是一个按键。这样共需8个IO口。

2)工作原理

使用矩阵键盘的关键是如何判断那个按键被按下。根据下面的电路图,如果已知P1.0端口被置为低电平“0”,那么当按键K0被按下时,可以肯定P1.4端口的电平也变为了低电平“0”。基于这个原理,总结矩阵键盘识别按键的步骤如下:

a)首先判断是否有按键被按下。将全部行线置为低电平“0”,全部列线置为高电平“1”。然后检测列线的状态。只要有一根列线的电平为低,则表示有按键被按下。否则没有按键按下。

b)按键消抖。当判断到有按键被按下后,还要进行消抖处理,以确认真正有按键被按下。

c)按键识别:当确认有键被按下后,采用逐行扫描的方法来确定是哪一个按键被按下。先扫描第一行,即将第一行输出低电平“0”,然后读取列值,那一列出现低电平“0”,则说明该列与第一行交叉处的按键被按下。如果读入的列值全部为"1",说明与第一行连接的按键均没有被按下。那么接下来开始扫描第二行,以此类推。直到完成全部行线的扫描。

本例中矩阵键盘中P1端口低4位连接的是列线,高4位连接的是行线。

2、在keil c51中新建工程ex70,编写如下程序代码,编译并生成ex70.hex文件

//数码管显示4X4矩阵键盘键值

#include

//数码管段码表,共阳极段码表&

你可能感兴趣的:(proteus矩阵按键计算机)