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

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

3天内不再提示

阅读矩阵键盘的应用设计原理

要长高 来源:labcenter 作者:labcenter 2023-11-28 11:09 次阅读

矩阵键盘是读取按钮阵列的有效方式。其中的一些例子包括电话上的拨号盘、销售点(信用卡支付)机器上的小键盘、计算机键盘,甚至电钢琴上的键盘。

读取大量按钮输入的一种方法是将每个按钮连接到其自己的微控制器输入引脚。对于4x4键盘,这将需要16个GPIOs(通用输入/输出)引脚。

wKgZomVlV2KAWPUGAAJT7qE5mpo383.png

然而,通过将按钮连接成矩阵,同样数量的按钮可以仅用8个GPIOs读取。

wKgZomVlV3aAIl9uAAJkV_kI2Ao110.png

这减少了所需的微控制器引脚数量,以及相关布线数量PCB走线数量。

矩阵键盘以行和列的网格布线(尽管它们实际上不必以那个方向布置,例如在电子钢琴键盘的例子中)。在微控制器上,行或列引脚被永久设置为输入(在本文中,我们将坚持使用行连接实现此目的),而另一组引脚(在本文中,我们将坚持使用列连接实现此目的)在输出(驱动为低电平)和浮动(实际上是开漏输出)之间切换。

行输入引脚上需要上拉电阻,可以在微控制器外部添加,也可以在微控制器内部激活(如果微控制器包含此功能)。一些微控制器具有开漏输出引脚(用于列),或者引脚可以简单地设置为输入,以便使它们浮动。

如果您不熟悉上拉电阻、浮动和/或开漏等术语,这里有一些简单的解释:

一些定义

浮动输入是指没有被主动驱动到任何特定电平的输入,实际上可以是任何电平(例如,基于环境中的静电)。我们都使用过自动关闭的门,比如公共设施中常见的门——除非你主动把门打开,否则会有一种机制将它再次关闭。如果没有自动关闭机制(现在想象门没有闩锁机制),门会被风吹动或被进出的人移动,它不会默认到任何特定的位置。

上拉(或下拉)电阻类似于这些门上的自动关闭机制,它在不被主动驱动时将输入保持在特定电平。上拉(或下拉)电阻可视为一个弹簧,当它未被主动驱动时,将输入拉至特定电平,您可能会注意到电阻符号实际上看起来像一个小弹簧:

wKgZomVlV4GASUKAAACFDjQLlfg559.png

开漏输出只能被驱动为低电平,而不能被驱动为高电平;输出为低电平或浮动。实质上,输出只是简单地连接到晶体管的漏极引脚(因此称为开漏)。

wKgaomVlV4yAYz2eAAAnXE3XPG0290.png

通过在微控制器引脚作为输入(浮动、无上拉或下拉电阻)和被驱动为低电平的输出之间切换,可以实现类似的效果。

读取矩阵键盘

为了读取矩阵中的任何特定按钮,我们将相应的列引脚驱动为低,然后读取相应的行引脚;如果row引脚读数为低,则按钮被按下,如果读数为高,则按钮不被按下。

wKgZomVlV5iAXi1kAAAvlQ8jz_E899.pngwKgaomVlV6eABpRGAAAwMXvLjwA612.png

这通常是在快速顺序扫描操作中完成的,以检查矩阵中的每个按钮,依次驱动每个列引脚为低,同时读取其间的每个行引脚。同时按键不会给这种方法带来任何问题,并且仍然可以单独读取每个按键。

去抖动

机械开关还会出现反弹现象,即开关的触点在接触时会发生物理反弹,从而导致开关在新状态下稳定之前出现几次快速电压转换:

wKgaomVlV8qADUVUAAAbmj_Ii9M537.png

如果微控制器非常频繁地读取输入,那么它可以将弹跳记录为按钮按压的次数(而不是用户期望的仅仅一次按压);对此最简单的解决方案是在按钮的每个后续读取之间简单地留下一些延迟,这将给予按钮足够的时间在读取之间转换(通常10-50毫秒就足够了)。这类技术被称为开关去抖。

wKgZomVlV7WAZY47AAJsy5zbRWM263.png

审核编辑:黄飞

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

    关注

    48

    文章

    6813

    浏览量

    147672
  • 矩阵键盘
    +关注

    关注

    7

    文章

    204

    浏览量

    31138
  • GPIO
    +关注

    关注

    16

    文章

    1139

    浏览量

    50604
  • 高电平
    +关注

    关注

    6

    文章

    103

    浏览量

    20962
  • PCB
    PCB
    +关注

    关注

    1

    文章

    1580

    浏览量

    13204
收藏 人收藏

    评论

    相关推荐

    什么是矩阵键盘

    矩形键盘介绍什么是矩阵键盘矩阵键盘的原理驱动电路图软件程序实现介绍什么是矩阵
    发表于 01-07 07:43

    矩阵键盘是什么?矩阵键盘怎么用?

    矩阵键盘是什么?矩阵键盘怎么用?
    发表于 01-18 06:20

    什么是矩阵键盘矩阵键盘扫描原理介绍

    矩阵键盘矩阵键盘简介矩阵键盘扫描原理端口的配置相关函数的编写主函数与其他串口的接线与
    发表于 02-28 06:32

    矩阵连接式键盘电路

    矩阵连接式键盘电路
    发表于 01-14 14:39 2609次阅读
    <b class='flag-5'>矩阵</b>连接式<b class='flag-5'>键盘</b>电路

    矩阵键盘专题

    将按键排列成矩阵形式被称为矩阵键盘矩阵键盘程序则实现了矩阵
    发表于 10-25 15:19
    <b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>专题

    矩阵键盘

    矩阵键盘
    发表于 12-25 22:47 0次下载

    4X4矩阵键盘原理图

    键盘矩阵原理图
    发表于 02-28 22:35 0次下载

    矩阵键盘设计

    矩阵键盘设计
    发表于 10-16 11:40 15次下载
    <b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>设计

    一种实用的单片机矩阵键盘设计

    矩阵键盘是单片机外部设备中所使用的排布类于矩阵键盘组。矩阵式结构的键盘显然比直接法要复杂一些,
    发表于 11-24 07:42 562次阅读

    矩阵键盘有什么用_矩阵键盘有何用途

    本文开始介绍了什么是矩阵键盘矩阵键盘的组成结构,其次详细阐述了矩阵键盘用途,最后介绍了
    发表于 02-24 14:01 1.6w次阅读

    一文看懂矩阵键盘的特点及工作方式

    矩阵键盘是单片机外部设备中所使用的排布类似于矩阵键盘组。本文首先介绍了矩阵键盘特点,其次阐述了
    发表于 02-24 14:20 3.7w次阅读
    一文看懂<b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>的特点及工作方式

    矩阵键盘的按键识别方法_矩阵键盘扫描程序

    矩阵键盘的按键识别方法来自简单日记网精选推荐。在学习有关矩阵键盘的时候,往往要学会矩阵键盘的按键
    的头像 发表于 04-20 09:39 3.2w次阅读

    蓝桥杯模块矩阵键盘Part_2

    定时器三行代码 矩阵键盘长短按的识别 九层妖塔 起于垒土【蓝桥杯】—{模块}—{矩阵键盘Part_1}矩阵
    发表于 11-26 12:51 3次下载
    蓝桥杯模块<b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>Part_2

    stm32矩阵键盘学习笔记

    矩阵键盘矩阵键盘简介矩阵键盘扫描原理端口的配置相关函数的编写主函数与其他串口的接线与
    发表于 01-13 16:27 36次下载
    stm32<b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>学习笔记

    矩阵键盘扫描的原理及设计

    设计中在遇到按键较多,但是单片机I/O资源有限时,采用矩阵键盘是一种很好的选择方案。在按键较少时,矩阵键盘没有明显的优势,比如3×3矩阵
    的头像 发表于 07-05 14:59 8120次阅读