矩阵键盘识别的原理是什么?

关注

技术 嵌入式 leon汉子    2018-09-14   |   浏览量 80  
它有哪几种识别方式,工作流程是怎么样的?

全部回答

  • 邹跃玲 发表于 2018-09-14 云汉达人

    有关矩阵键盘的只是,楼主可以参考一下刘平的教程《STC15单片机实战指南》,里面有详细的介绍,还有配套的例程:


    01.png


    资料网盘下载链接:https://pan.baidu.com/s/1_NtSBl2S3Q_kPLiEC1qPDQ


    02.png


    回答点赞:   张志新3013 Angel_YY luohaiyang 举报 评论 3

  • 0379339b558a7ebb 发表于 2018-09-14

    我只知道单片机,是一行一行的扫描

    回答点赞:   张志新3013 举报 评论 1

  • 一指破宫 发表于 2018-09-14

    当键盘中按键数量较多时,为了减少对 I/O 口的占用,通常将按键排列成矩阵形式,也称为行列键盘,
      矩阵键盘不但在连接上比单独式按键复杂,而且它的按键识别方法也比单独式按键复杂。在矩阵键盘的软件接口程序中,常使用的按键识别方法有行扫描法和线反转法。这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用 MCU 的时间,所以较好的方式也是采用状态机的方法来设计,尽量减少键盘查询过程对 MCU 的占用时间。

    举报 评论 0

  • megar 发表于 2018-09-14

    就是扫描,两边都是IO口,拿4X4键盘来说,一排是行4个IO一排列4个IO,用程序一直扫面这个行选项或则列选项,列选项IO直接发送高电平

    举报 评论 0

  • luohaiyang 发表于 2018-09-14

    矩阵按键就相当于先使能某一列或者行,然后去判断行过列的哪个按键有动作。

    举报 评论 0

  • xdsnet 发表于 2018-09-14

    其实有两种

    1. 单片机直接对矩阵编码来识别

    2. 矩阵自己编码,单片机读取

    1实现对单片机来说已经是一个比较大的工程了,

    2则和读取一个GPIO没有太大的区别。

    举报 评论 0

  • 赤心木zqw 发表于 2018-09-14

    设想一下:首先是一个1x4的键盘,很简单,行输出一个1,看4个列上有谁变为1了,那就可以定位到哪一列上的按键被按下了。拓展开去,现在变成了2行:2x4矩阵,先给第一行上电,情况和1x4一样,接下来第二行上电,此时第一行掉电,还是和1x4一样的情况了。

    矩阵键盘在同一时刻只有一行上电,通过检测哪一列按下,可以定位出某一个按键,以此实现功能。

    举报 评论 0

  • robe_zhang 发表于 2018-09-15

    扫描矩阵,判断是哪个按键按下了,按键数量多的话,不怎么好用,占用 io 口太多了。现在键盘一般是中断发消息

    举报 评论 0

  • yhj416606438 发表于 2018-09-15

    通过扫描读取每列或每行的按键值

    举报 评论 0

  • 老骥伏枥 发表于 2018-09-15

    原理简单,比如44按键,就是你对端口输出一个数0xfe,然后你再读这个端口,如果是0xee,很明显有按键,如果是0xde,0xbe0x7e,依次都是一行的按键值。

    举报 评论 0

  • FEItwo 发表于 2018-09-15

    扫描矩阵,检查什么地方错误,读取端口后判断错误

    举报 评论 0

  • chen0000009 发表于 2018-09-15

    矩阵键盘就是行列扫描,因为每一个按键对应的行和列都是固定的,那么对应的行和列都扫描到的时候说明这个按键被按下了

    举报 评论 0

  • 涛涛涛涛涛 发表于 2018-09-16

    这个就是普通嗯扫描,行扫列扫然后就没了

    举报 评论 0

  • 放电 发表于 2018-09-17

    矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

    举报 评论 0

  • Chauncey 发表于 2018-09-17

    具体的说就是扫描

    先扫描行,得到一个坐标

    再扫描列,得到另一个坐标

    两个一起确定按键值

    举报 评论 0

  • 最帅的廖先生 发表于 2018-09-18

    比较常用的就是矩阵扫描了

    举报 评论 0

  • 哇咔YG 发表于 2018-09-18

    比如4*4

    当按键一次时,每一行和每一列都只有一个IO是相通的,其他的IO都是互不相通的

    那么当我依次给行1到4赋值,那么只要我在列中得到了那个赋值,就说明我按键列,并且能在矩阵中确定唯一的一个按键

    举报 评论 0

我来回答

试用推荐

深创客NBiot物联网低功耗开发板STM32L476

产品总数:5个  申请人数:122

距离结束时间:

推荐达人 更多>

  • 王奕 向ta提问

    Eagleson

    在学习FPGA的道路上 我们一起成长吧!

    在行: FPGA/CPLD

  • 靳飞 向ta提问

    汉云

    在路上的Linuxer

    在行: DSP技术 Linux 系统 STM32讨论区 PIC单片机 PCB技术/设计/定制

  • Angel Cherry 向ta提问

    MOP

    用愛和熱忱寫好每一行Code

    在行: FPGA/CPLD Linux 系统 热门单片机

  • 徐珂靖 向ta提问

    xukejing

    Linux系统 、热门开发板

    在行: Linux 系统

  • 袁建明 向ta提问

    河北博联科技有限公司 研发部经理

    日知其所亡

    在行: Linux 系统 灵动微MCU 电源技术

完成答题
赶快去开启您的宝箱吧
回答问题攒积分送开发板