码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 单片机人机交互--矩阵按键


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

    一、按键讲解

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

    二、按键消抖

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

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

    硬件消抖方法

    1.R-S触发器

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

    2.电容滤波

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

    三、独立按键

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

    四、矩阵按键

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

    (1)列扫描方式

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

    (2)反转法

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

     五、程序举例

     

     

     

     

     

     【学习技术大群:197416462】

    【网盘免费资料包,大家需要的自行领取】:

    嵌入式物联网 22个STM32项目、大赛作品,【华清远见发放资料包】http://makerschool.mikecrm.com/f4wjYBB【下方分享一些免费教程资料,大家感兴趣的可以看一下】:

    STM32单片机之GPIO开发

     STM32-按键消抖

    (stm32直流电机驱动)

    红外线人流感应器

    智能温控小风扇

    超声波雷达测距仪

    (stm32 USART串口应用)

    (零基础电子产品设计)

    (定时器)

    (stm32 温湿度采集)

     

  • 相关阅读:
    MATLAB环境下滚动轴承复合故障仿真信号及时频谱
    Serializable java序列化
    mycat的部署及测试 (读写分离)
    【JavaScript】聊聊js中关于this的指向
    java之List集合入门必备篇
    NAS层协议栈学习笔记
    如何让Java项目兼容更多的客户端设备(一)
    uniapp确认提示框;uniapp判断输入框值是否符合正常手机号,身份证号
    01 ARM Cortex-M3指令集汇总
    HUST-OJ运用经验
  • 原文地址:https://blog.csdn.net/an520_/article/details/126265349
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号