你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32矩阵键盘(中断模式)

[复制链接]
STMCU小助手 发布时间:2022-9-4 16:09
在搞定矩阵键盘的扫描模式以后,我就开始想用中断的方式来搞定矩阵键盘,通过中断的方式来搞定矩阵键盘非常方便,也不会占用太多的机时,扫描模式的文章在我另一个博客中,可以根据个人情况来选择合适的方式。

我选择的是3*4的矩阵键盘,具体的实物图如下所示

70e6ed5d693049569273c94de4ac7623.jpg

矩阵键盘是4行3列示意图如图所示

415dc8e52c3a47309506bbbdeb6e7d60.png

采用中断方式来进行检测按键具体的思想就是通过按键先来触发中断,如果中断被触发再来进行行或者列的扫描来确定是哪个具体的按键被按下,这样可以节省CPU的机时,也可以更有效率。

我的代码就是采用这种方法。首先是将行的引脚都设置为上拉输入模式,并开启这些引脚的中断,将列的三个引脚设置为推挽输出模式,并将引脚拉低为低电平,这样如果有按键按下,就会触发四个行引脚的中断,来判断具体是哪一行被按下。

其次,如果检测到是哪一行后,就立即进入列扫描模式,将四个行引脚设置为推挽输出模式,并将引脚拉高设置为高电平,将三个列引脚设置为下拉输入模式,这样通过列扫描就可以进行确定到哪个键盘按下。

具体实现如下图所示

a87dad94a7314a0991ba945a4140fd69.jpg

按下按键4

1bc74f90426e4410a153fdba9a6aeaaf.jpg

按下按键9

具体编程思路如下

c3bc044320db469aaaff76e8feed9384.png
————————————————
版权声明:嵌入式进阶之路

收藏 评论0 发布时间:2022-9-4 16:09

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版