0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

矩阵按键扫描的实现原理

CHANBAEK 来源:头条号蚁哥小课堂 作者:头条号蚁哥小课堂 2023-03-27 14:05 次阅读

之前做过很多仿真仪表盒,经常遇到盒子上既有大量LED指示灯,又有很多按键的情况,主芯片使用的SiliconLabs的一款单片机,管脚资源有限,如何应对如此多的指示灯和按键呢?当时选用了max7219来实现多个LED灯的控制,而按键则是通过矩阵扫描实现的。

所谓“矩阵扫描”,可以想象成是把几路IO横竖交叉形成网格状,然后把按键放置在网格的交叉点上。这种电路应用很广泛,可以由较少的IO口实现较多的按键控制。比如,6根IO按照3行3列排列,就可以实现接入9个按键;8根IO按照4行4列排列,就可以实现接入16个按键。来看下面这个3*3的矩阵按键原理图:

poYBAGQhMieAc3LrAAAiSvYzMz4701.jpg

3*3矩阵按键1

注意,中间那四个行、列交叉地方的线是分离的,并没有短接:

pYYBAGQhMimANUy3AAAu1Ee4YnA438.jpg

3*3矩阵按键2

还要注意的是,我们要给行或列IO加上上拉电阻,以保证它们的默认状态是高电平。

矩阵按键扫描的实现原理是这样的:把属于列的IO口设置为输入状态,这时由于上拉电阻的作用,当按键没有动作时,程序就会读到高电平;这时开始按行进行扫描,先把行1的IO设置为输出状态,然后设置输出为低电平,接着依次读取列IO口的状态,如果有按键被按下,那么列IO口的读入电平就变成低电平,这时就可以根据行和列判断出动作按键的位置了。行1的扫描完成后,把行1的IO置高,然后按照上面步骤依次进行行2和行3的扫描,确认有动作按键的位置就可以了。下面是程序的简单流程图(没有包含去抖等处理):

poYBAGQhMiqAPsFSAABx-i4wocY677.jpg

简单扫描按键流程图

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    242

    文章

    23256

    浏览量

    660609
  • 原理图
    +关注

    关注

    1297

    文章

    6339

    浏览量

    233841
  • 单片机
    +关注

    关注

    6035

    文章

    44553

    浏览量

    634734
  • 仿真
    +关注

    关注

    50

    文章

    4073

    浏览量

    133556
  • 矩阵按键
    +关注

    关注

    0

    文章

    28

    浏览量

    8362
收藏 人收藏

    评论

    相关推荐

    请问如何使用AVR扫描4*4矩阵按键

    使用AVR扫描4*4矩阵按键,一旦扫描按键被按,做出被按的按键号指示。
    发表于 11-16 07:21

    按键矩阵扫描的原理

    51单片机_按键矩阵扫描demo代码工作以来一直在搞单片机方面的软件,决定把工作以来写的一些模块写成文章,总结一下。按键矩阵
    发表于 07-15 07:46

    矩阵按键扫描原理是什么?

    矩阵按键扫描原理是什么?实现十六矩阵的代码分享
    发表于 09-29 06:36

    单片机矩阵按键扫描方法

    矩阵按键介绍矩阵按键就是独立按键的组合,就是将独立按键的每一行的端口连接在一起引出一个管脚,再将
    发表于 11-23 07:40

    主要介绍矩阵按键原理以及扫描方式

    前言·主要介绍矩阵按键原理以及扫描方式和编写代码的思路矩阵按键扫描原理
    发表于 12-01 06:14

    如何通过使用行列扫描法对矩阵按键进行扫描监测

    使用行列扫描法对矩阵按键进行扫描监测,具体实现过程会在程序中详细讲解。具体实现方式请看下面的程序
    发表于 01-07 07:30

    矩阵按键的原理是什么?有哪几种扫描方式呢

    矩阵按键的原理是什么?矩阵按键有哪几种扫描方式呢?如何去实现STM32
    发表于 01-18 06:08

    矩阵按键扫描原理简析

    矩阵按键实验矩阵原理矩阵按键由来矩阵按键
    发表于 01-24 06:29

    矩阵按键扫描方法有何优缺点呢

    矩阵按键需要用多少个单片机引脚进行连接呢?矩阵按键扫描方法有何优缺点呢?具体怎样去实现
    发表于 02-23 06:11

    矩阵按键扫描原理是什么

    矩阵按键矩阵按键扫描原理逐行扫描我们可以通过高四位轮流输出低电平来对
    发表于 03-01 06:11

    矩阵键盘扫描程序

    矩阵键盘扫描程序 按键扫描(线反转)//-------------------------------- --------------------------------------
    发表于 01-11 19:11 7767次阅读

    矩阵键盘实现按键显示

    矩阵键盘实现按键显示源程序。
    发表于 12-23 14:20 30次下载

    使用51单片机实现矩阵按键扫描消抖和动作分离的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机实现矩阵按键扫描消抖和动作分离的程序免费下载。
    发表于 07-04 17:41 5次下载
    使用51单片机<b class='flag-5'>实现</b><b class='flag-5'>矩阵</b><b class='flag-5'>按键</b>的<b class='flag-5'>扫描</b>消抖和动作分离的程序免费下载

    C语言按键矩阵实现

    51单片机_按键矩阵扫描demo代码工作以来一直在搞单片机方面的软件,决定把工作以来写的一些模块写成文章,总结一下。按键矩阵
    发表于 11-21 09:51 14次下载
    C语言<b class='flag-5'>按键</b><b class='flag-5'>矩阵</b><b class='flag-5'>实现</b>

    单片机学习——6--矩阵按键

    矩阵按键实验矩阵原理矩阵按键由来矩阵按键
    发表于 11-29 14:36 1次下载
    单片机学习——6--<b class='flag-5'>矩阵</b><b class='flag-5'>按键</b>