因为最近开发一个项目需要用到3*4的矩阵键盘,所以我就写了一下相关的矩阵键盘的内容,分享出来供大家参考。
特别感谢:Yeah__binbin
我所用到的矩阵键盘是3*4的矩阵键盘实物图如下
其中是4行3列,示意图如下
采用循环扫描的方式主要是应用while循环来进行,优点是可以进行快速反应,缺点是占用较多的机时,CPU卡在这个循环里出不来。
具体的思想就是通过变换GPIO的引脚电平来读取具体是哪个按键被按下。
首先是将行中连接的引脚设置为上拉输入模式,将列中引脚设置为推挽输出模式,并将列的引脚都定义为低电平。
如果有按键按下,行输入就会得到低电平信号,就可以确定是哪一行的按键被按下。当测出哪一行的按键被按下后,再反过来,将行的引脚都设置为推挽输出模式,定义为高电平;将列的引脚都设置为下拉输入模式。
这样再通过列的扫描,如果列得到高电平,就可以确定是哪一列的按键被按下。通过两次循环扫描可以定位到具体是哪个按键按下,返回键值后就可以进行后续操作。
效果图
按下#号键
按下7
按下8
代码的大致思想如下
源码连接:stm32矩阵键盘(扫描)-嵌入式文档类资源-CSDN下载stm32矩阵键盘,用循环扫描的方式来进行识别键值,并在oled屏幕上显示,下载资源中有连接图和视频更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/nbbskk/85379893
文章来源地址https://www.toymoban.com/news/detail-432194.html
文章来源:https://www.toymoban.com/news/detail-432194.html
到了这里,关于stm32矩阵键盘(扫描模式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!