STM32 实现 4*4 矩阵键盘扫描(HAL库、标准库 都适用)

本文实现的代码是基于STM32HAL库的基础上的,不过标准库也可以用,只是调用的库函数不同,逻辑跟配置是一样的,按我这里的逻辑来配置即可。

1、键盘原理图:
STM32 实现 4*4 矩阵键盘扫描(HAL库、标准库 都适用)_第1张图片
原理举例:先把 F0-F7 内部拉高,这样这个8个引脚都是高电平,然后就进行列扫描。例如:假如按下3按钮,Y3 列扫描,把F4先拉低,然后读取F0-F3的状态,就会读出为1110,这就可 以知道是F3行拉低了,同时这时候是程序控制F4拉低的,这样就可以知道是F4列导致它转态变化了的,这样就可以定位出是F4列F3行的按键按下了;其他的列也是这样子扫描,就可以实现了。
STM32 实现 4*4 矩阵键盘扫描(HAL库、标准库 都适用)_第2张图片
这里用外部晶振内部晶振都可以,时钟对这个没什么影响,不用开中断,所以其他的配置就不细说了,下面再说一下这8个GPIO的配置。
在这里插入图片描述
 4个引脚配推挽输出,这4个配输出的引脚内部上下拉不用配置

你可能感兴趣的:(单片机/mcu/soc/物联网)