目录
1.矩阵键盘介绍
为了减少I/O口的占用,通常将按键排列成矩阵形式,采用逐行或逐列的 “扫描”,就可以读出任何位置按键的状态
2.扫描的概念
1)数码管扫描(输出扫描)原理:显示第1位→显示第2位→显示第3位→……,然后快速循环这个过程,最终实现所有数码管同时显示的效果
2)矩阵键盘扫描(输入扫描):原理:读取第1行(列)→读取第2行(列) →读取第3行(列) → ……,然后快速循环这个过程,最终实现所有按键同时检测的效果
3)扫描方式的共性:节省I/O口
如果按行扫描,首行接GND(接地),其余行接高电平(同一时间只有一行或一列为0),判断P13 P12 P11 P10,如果为0 ,则为按下,为1为未按下(检测低电平 弱上拉),从第一行到第四行结束
(初始是高电位(1),按下开关电路接通,从高电位到低电位,产生电流,另一端电位就也变0了,就和水流一样,开关是阀门,电位是水位)
3.代码演示(读取矩阵键盘键码)
#include <REGX52.H> //main.c
#include"De