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

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

3天内不再提示

4x4矩阵键盘工作原理及扫描程序

GReq_mcu168 来源:CSDN技术社区 作者:军师·Sun 2021-04-07 14:36 次阅读

按键是一种常开型按钮开关,与单片机的常见接法如图所示。按键未按下时两个触点断开,单片机I/O口输入高电平;当按键闭合时,I/O口输入低电平。

一、按键讲解

当I/O口为P0口时,由于没有内部上拉电阻,所以必须外接上拉电阻,当I/O口为P1、P2和P3口时,由于内部已有上拉电阻,因此可省略外接的上拉电阻。

5908f956-974c-11eb-8b86-12bb97331649.png

二、按键消抖

单片机系统中所使用的键盘都是机械式的弹性按键,因为存在机械触点的弹性作用,在按键闭合和弹起的瞬间都会出现抖动,如图所示。按键抖动一般会持续5~10ms,为使一次按键仅被处理一次,必须消除按键抖动。消除按键抖动可以采用软件消抖或硬件消抖。

5914f8b4-974c-11eb-8b86-12bb97331649.png

软件消抖指在检测到有按键闭合时,延时一小段时间之后再次检测,如果仍然检测到按键闭合,则认为按键真正闭合。

硬件消抖方法

1.R-S触发器

一旦有键按下,触发器立即反转,触点的抖动便不会再对输出产生影响,按键释放时也一样。

592898ec-974c-11eb-8b86-12bb97331649.png

2.电容滤波

电容并联在按键的两端,利用电容放电的延时特性,将产生抖动的电平通过电容吸收掉,从而达到消抖的作用;

59537940-974c-11eb-8b86-12bb97331649.png

三、独立按键

独立键盘指每个按键都占据一个独立的引脚。

597c0716-974c-11eb-8b86-12bb97331649.png

四、矩阵按键

同一行上的所有按键都连接到一个引脚,同一列上的所有按键都连接到一个引脚。

599a51f8-974c-11eb-8b86-12bb97331649.png

(1)列扫描方式

所有行线都输出高电平,列线依次输出低电平;查询该列上行的值,若为0,则说明该行上的按键被按下;若该列上所有行的值都为1,则进行下一列行值的查询;循环往复。

599a51f8-974c-11eb-8b86-12bb97331649.png

(2)反转法

所有行线都输出0,查询列线上的值,若某列线上的值为0,则说明该列线上的按键被按下;然后所有列线都输出0,查询行线上的值,若某行线上的值为0,则说明该行线上的按键被按下;从而确定某行某列的按键被按下。

59cca806-974c-11eb-8b86-12bb97331649.png

五、程序举例

5a0ce632-974c-11eb-8b86-12bb97331649.gif

编辑:jq

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

    关注

    85

    文章

    4994

    浏览量

    169411
  • 触发器
    +关注

    关注

    14

    文章

    1668

    浏览量

    60304
  • P0口
    +关注

    关注

    1

    文章

    16

    浏览量

    9184
  • 单机片
    +关注

    关注

    0

    文章

    47

    浏览量

    11634
收藏 人收藏

    评论

    相关推荐

    矩阵led扫描频率怎么调

    矩阵LED扫描频率是指LED矩阵在单位时间内刷新显示的次数。LED矩阵是由多个发光二极管(LED)组成的显示设备,通过扫描控制来实现各个LE
    的头像 发表于 01-02 17:30 391次阅读

    差示扫描量热仪工作原理是什么

    量热仪工作原理是什么?样品和参比物之间的热差异来测量热量变化。在DSC实验中,样品和参比物处于同一温度程序控制下,通常同时受到加热或冷却。当样品经历相变、熔融、结晶等热相
    的头像 发表于 01-02 15:45 269次阅读
    差示<b class='flag-5'>扫描</b>量热仪<b class='flag-5'>工作原理</b>是什么

    关于51单片机的矩阵键盘扫描的两种方法的困惑求解

    时间就去扫描下按键,理论上和主程序的while(1)循环里代码是否长和消耗时间应该无关,应该是很可靠的一种按键扫描方法!但事实就不是这样,下面请看代码,很简单的哦~ //用定时器中断扫描
    发表于 10-26 08:02

    51单片机4*4矩阵键盘有什么好方法扫描识别?

    关于51单片机的4*4矩阵键盘,有什么你比较好扫描识别方法,麻烦告知一下,十分感谢!!
    发表于 10-24 06:23

    分享一个stm32矩阵键盘程序

    分享一个stm32矩阵键盘程序
    发表于 10-10 08:26

    stm32矩阵键盘程序

    电子发烧友网站提供《stm32矩阵键盘程序.zip》资料免费下载
    发表于 10-07 15:07 7次下载
    stm32<b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>的<b class='flag-5'>程序</b>

    利用单片机实现数码管显示44键盘矩阵按键的C语言程序

    使用单片机实现数码管显示44键盘矩阵按键的C语言程序
    发表于 09-20 08:29

    基于FPGA的4x4矩阵键盘驱动设计

    本次设计采用FPGA驱动4x4矩阵键盘,这个原理其实很简单,但是我在做的时候曾经理解错了一个地方,导致走了一天的弯路,因为感觉比较有意思,所以想在这分享一下。
    的头像 发表于 07-23 11:41 1771次阅读
    基于FPGA的<b class='flag-5'>4x4</b><b class='flag-5'>矩阵</b><b class='flag-5'>键盘</b>驱动设计

    51单片机矩阵键盘扫描程序

    51单片机矩阵键盘扫描程序
    发表于 05-17 17:20 3次下载

    基于89C51单片机的矩阵键盘反转扫描程序

    基于89C51单片机的矩阵键盘反转扫描程序
    发表于 05-15 11:02 0次下载

    基于89C51单片机的矩阵键盘密码锁源程序

    基于89C51单片机的矩阵键盘密码锁源程序
    发表于 05-15 11:01 0次下载

    基于89C51单片机的矩阵键盘行列扫描程序

    基于89C51单片机的矩阵键盘行列扫描程序
    发表于 05-15 11:00 0次下载

    基于89C51单片机的矩阵键盘中断扫描程序

    基于89C51单片机的矩阵键盘中断扫描程序
    发表于 05-15 11:00 1次下载

    基于ATmega8单片机4×4矩阵键盘识别Proteus仿真源程序

    基于ATmega8单片机4×4 矩阵键盘识别Proteus仿真源程序
    发表于 05-05 09:44 0次下载

    【BPI-Pico-RP2040 开发板】+ 外接矩阵键盘

    本篇来测试BPI-Pico-RP2040外接矩阵键盘4X4矩阵键盘只需要用到8个IO口,即可完成16位按键的读取。其本质原理也就是行列
    发表于 04-04 21:15