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

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

3天内不再提示

四种单片机按键软硬件设计方案介绍

贸泽电子设计圈 来源:YXQ 作者:电子发烧友 2019-08-05 16:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

单片机系统里,按键是常见的输入设备。本文将介绍四种按键硬件设计上的方案和一些软件设计方面的技巧。

一、直接检测GPIO口单个按键,如图1所示。

图1:方案一

二、在按键较多的情况下,则使用矩阵键盘,如图2所示。

图2:方案二

三、将按键接到外部中断引脚上,利用按键按下产生的边沿信号进行按键检测,如图3所示。

图3:方案三

四、利用单片机的数字转换器ADC - Analog-to-digital converter),设定按键按下前后经过ADC接口电压的不同,根据电压的差別来识别按键,如图4所示。

图4:方案四

以上四种设计分別各有优点和不足。

第一种设计是最简单、最基础的做法,对于单片机初学者很容易理解和使用,但缺点是需要在主循环中不断检测按键是否按下,并且需要做消抖处理。若主循环中某个函数任务占用时间较长,则按键会有不同程度的“失灵”。

第二种设计的优点是能够在GPIO数量有限的情况下,扩展尽可能多的按键。但缺点同上,需要不停检测按键是否按下。

第三种设计的效率最高,不需要循环检测按键是否按下,但缺点是需要单片机有足够的外部中断接口供使用。

第四种设计的优点是只需要单片机有一个ADC接口、一根线,就能对多个按键进行识别,缺点是按键内部一旦接触不良,则可能导致按键串位,并且按键产生的抖动有可能会造成识别错误。

在以上常见按键设计的基础上,分享一下我学习和工作中总结的按键方案。

改进一:在原方案一的基础上,加上与门电路,使得任何一个按键按下都能产生中断,然后在中断里面识别是哪个按键被按下。这改动令电路不需要循环扫描,大大提高了效率。方案如图5所示。只需要在每个按键对应地增加一个二极管,利用二极管的线与特性,就可以实现按下任何按键都能产生中断信号,同時按键之间互不影响。二极管选用普通整流二极管即可,经过测试,可靠可行。

图5:改进一

改进二:在原有ADC按键的基础上,也可以增加二极管的方式,实现按键中断,并在中断服务程序里进行AD转换,从而识别按键。电路如图6所示。

图6:改进二

改进三:按键时难免会作成抖动,因此必需按键消抖。消抖也可以通过硬件消抖和软件消抖,这里分享一个十分简单且有效的硬件消抖方法:给按键并联一个104左右的电容,这样软件上基本不用处理即可消除抖动。

改进四:在按键扫描检测的方案下,如果主循环中有某个函数占用时间较长,按键或会发生长短不一的“失灵”。对此可以将按键扫描放到定时器中断里面,这样就可周期性地检测按键按下的情况,在不受主循环的影响下解析出按键的不同状态。(按下、按住、弹起和未按下)

如果都設置了以上的改进,仍要注意以下两点:

一、定时器的定时时间不可过长也不可过短。过长容易检测不到按下,过短会占用大量时间资源。

二、中断服务程序需简单明了。只做检测用,通过全局变量传递,在主循环内完成按键响应,尽量不要在中断服务函数内占用太多时间。

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

    关注

    6074

    文章

    45340

    浏览量

    663521
  • 软硬件
    +关注

    关注

    1

    文章

    318

    浏览量

    20077
  • 按键
    +关注

    关注

    4

    文章

    229

    浏览量

    58417

原文标题:这些单片机按键设计方案,拿走不谢!

文章出处:【微信号:Mouser-Community,微信公众号:贸泽电子设计圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    怎么学好单片机

    单片机,是软硬件的综合体。并不是单单会点汇编或者C语言就说会单片机,这顶多只能说会编程而已。因为大部分单片机系统都是不带操作系统的裸机系统,那么没有所谓的操作系统和应用软件,没有操作系
    发表于 12-04 07:16

    利用 NucleiStudio IDE 和 vivado 进行软硬件联合仿真

    本文利用NucleiStudio IDE 和 vivado 对 NICE demo协处理器进行软硬件联合仿真。 1. 下载demo_nice例程:https://github.com
    发表于 11-05 13:56

    兆芯加入基础软硬件产品漏洞生态联盟

    近日,CCS 2025成都网络安全技术交流系列活动——国家漏洞库(CNNVD)基础软硬件产品漏洞治理生态大会在成都成功举办。来自国家关键基础设施单位、基础软硬件企业、高校科研机构的数百名代表齐聚一堂,共商网络安全发展大计。
    的头像 发表于 09-22 13:50 623次阅读

    经典的软硬件结合+5V一键开关机电路 #MOS管 #电路原理 #半导体 #电子

    软硬件
    微碧半导体VBsemi
    发布于 :2025年09月05日 16:38:40

    电动工具EMC测试整改:软硬件协同方案

    深圳南柯电子|电动工具EMC测试整改:软硬件协同方案
    的头像 发表于 08-12 17:02 744次阅读
    电动工具EMC测试整改:<b class='flag-5'>软硬件</b>协同<b class='flag-5'>方案</b>

    单片机定制研发流程有哪些?选择专业团队是关键

    单片机定制研发是一项系统性工程,涉及需求分析、方案设计、软硬件开发、测试验证等多个环节,流程的规范性直接影响最终产品的稳定性和开发效率。对于企业而言,选择具备丰富经验和技术实力的合作伙伴,能有效缩短研发周期、降低成本。
    的头像 发表于 07-23 17:58 446次阅读

    MH32F103A系列单片机产品概述

    MH32F103A系列单片机软硬件兼容STM32F103A系列,可以快速替换,同时强化许多功能。性能和价格都非常的有优势。
    的头像 发表于 07-21 15:45 1086次阅读
    MH32F103A系列<b class='flag-5'>单片机</b>产品概述

    国产8通道24位ADC软硬件兼容ADS131E08电能计量方案

    国产8通道24位ADC软硬件兼容ADS131E08电能计量方案
    的头像 发表于 04-29 10:09 814次阅读
    国产8通道24位ADC<b class='flag-5'>软硬件</b>兼容ADS131E08电能计量<b class='flag-5'>方案</b>

    24位同步采样ADC软硬件替换ADS1274动态应变器应用方案

    24位同步采样ADC软硬件替换ADS1274动态应变器应用方案
    的头像 发表于 04-28 09:52 775次阅读
    24位同步采样ADC<b class='flag-5'>软硬件</b>替换ADS1274动态应变器应用<b class='flag-5'>方案</b>

    16位6通道AFE软硬件兼容ADS1120多参数监护仪应用方案

    16位6通道AFE软硬件兼容ADS1120多参数监护仪应用方案
    的头像 发表于 04-25 09:42 615次阅读
    16位6通道AFE<b class='flag-5'>软硬件</b>兼容ADS1120多参数监护仪应用<b class='flag-5'>方案</b>

    基于51/32单片机按键控制步进电机正反转,A4988驱动

    基于51/32单片机按键控制步进电机正反转,A4988驱动
    发表于 04-14 15:05 6次下载

    触摸按键噪声对策 瑞萨CTSU MCU在应对噪声困扰时软硬件设计注意点

    ,以及软硬件设计中的一些注意点。   1 触摸按键产品线及噪声性能 瑞萨拥有广泛的触摸按键产品线,覆盖了16/32位,3大内核MCU产品,客户在选择时拥有更多的选择性。   新的CTSU2产品拥有如下特性能够增强噪声性能的功能,
    的头像 发表于 03-31 18:31 1587次阅读
    触摸<b class='flag-5'>按键</b>噪声对策  瑞萨CTSU MCU在应对噪声困扰时<b class='flag-5'>软硬件</b>设计注意点

    兆芯CPU近期软硬件适配动态

    近期,兆芯携手多家软硬件合作伙伴,基于开先KX-7000、开胜KH-40000等自主CPU和信创操作系统环境,持续推进应用生态建设工作,顺利完成医疗自主终端、商用收款、服务器操作系统、数据库管理
    的头像 发表于 01-15 15:33 994次阅读

    恩智浦电机控制软硬件解决方案

    。因此,设计一套结合软硬件的高效电机控制解决方案,不仅能降低能耗,还能实现精准控制,满足多样化应用需求。本文将介绍电机控制技术的发展趋势,以及NXP(恩智浦)与艾睿电子在电机控制技术上的优势与解决
    的头像 发表于 01-15 10:12 2376次阅读
    恩智浦电机控制<b class='flag-5'>软硬件</b>解决<b class='flag-5'>方案</b>