一、矩阵键盘
1、矩阵按键的介绍
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态
2、矩阵按键模块原理介绍
原理:
逐行扫描,就是通过给P1.4~P1.7哪一个口设置低电平,来表示扫描哪一行,通过检测P1.0~P1.3哪一个口为低电平,来判断是哪一个按键被按下,再通过单片机快速的读取输入扫描,就能最终实现所有按键同时检测的效果。
由于单片机的自身局限性,P1.5口逐行扫描时会和其它引脚冲突,会导致蜂鸣器一直响,因此在这里我们用逐列扫描,原理和逐行扫描相同。通过给P1.0~P1.3哪一个口设置低电平,来表示扫描哪一行,通过检测P1.4~P1.7哪一个口为低电平,来判断是哪一个按键被按下
二、编写代码
1、KeyNumber.c函数
在这里我们使用模块化结构,创建了一个KeyNumber.c文件来写矩阵键盘函数,按键需要进行消抖处理,所以我们