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

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

3天内不再提示

基于单片机的按键电路设计(2)

CHANBAEK 来源:LYQ电子工作室 作者:010 2023-10-31 15:16 次阅读

(21种方案的原理图展示,及原理简单介绍)

按键作为一个输入模块,在单片机开发板中必不可少,本文来讨论按键的设计方案。本文1600字。之后可能对按键编程部分进行分析(可能是视频形式,打字的话,太多了)

按键模块的编程,实际上就是根据检测口的电平变化和按键电路的状态,判断出按键模块中哪个按键是真的按下了,按键编程的最基础,常用的就是区分出每一个按键,其次是每个按键的长按,短按,双击。最后才是组合按键的情况。组合按键是指多个按键同时按下的情况,比如电脑键盘存在3个按键同时按下的情况。多个按键同时按下,独立按键是比较好处理的,因为不存在电路问题,其他的按键电路,有的电路不能容忍多个按键同时按下,如,ADC检测按键,还有的电路,检测起来的程序可能更加复杂,这里就不进行展开了。

按键的模块的设计,主要内容是:按键数量和需要IO口的数量,当然有些不常见的按键电路,需要一些其他器件,芯片辅助完成。

下表为按键设计的一些方案(占用IO口数量在8个IO口以内,可使用扩展芯片。只列出来一部分,有些专用的按键检测芯片,因为本人没有使用过,所以这里没有列出来,欢迎评论区留言)

表1 一些按键检测方案

图片

方案1,2的电路图相似,编程上也基本一致,但是要做到3X3矩阵按键不影响8个IO口剩下的两个,需要对4X4矩阵按键的代码做出一些优化,这里就不进行展开了。下图是4X4矩阵按键和3X3矩阵按键的原理图。

图片

方案3-6,看似就是按键数量的增加,电路的重复,实际上针对不同的按键数量,他们的编程可能存在不同,比如最常见的独立按键编程,只检测一个按键,那如何编程2个独立按键的程序呢?复制,再写个一样的函数?这样做的效率其实很低。独立按键的原理图如图所示。同时独立按键可以加上0.1Uf的电容进行消抖处理,这样我们代码中就不需要软件消抖了。

图片

方案7,8都是按键结合二极管,使得较少的IO口可以检测出较多的按键,这两个我之前都分析过的,也分享过视频,这里就不进行展开了。

图片

方案9,4个IO口检测52个按键,这里使用了较多的二极管,这个的检测原理和方案7,8相似,这里不进行展开了,本人还没有进行测试。但是原理没有问题,同时4个IO口理论上可以检测更多的按键,不过还需要增加二极管的数量。

图片

方案10,译码器+
IO口方案,这个其实就是一个扫描方案,如果你的电路中出现数码管,可以和数码管的位选进行结合,减少单片机IO口的使用数量,当然那样你的代码可能更加的复杂。

图片

方案11,一个IO口检测两个按键,这个设计呢,可能有点超出大部人的理解,但这个设计确实可以存在。通过判断IO电平是被拉高还是拉低区分出两个按键的动作。

图片

方案12,矩阵按键8X8,是一个我之前制作过的一个项目,使用译码器进行扫描,使用CD4051读取按键的状态,64个按键需要扫描64次才完成一轮,当检测按键按下时,停止扫描,进行按键的,短按,长按,双击判断,算是转化为普通的按键了。

图片

方案13,ADC检测按键,这个方案作为最节省IO口的代表,每次我发其他类型的视频,总是有人推荐这个,有一说一,确实。但是这个是需要ADC口的,同时这个按键组合,一定不能存在两个按键同时被按下的情况。还有就是电路中的电阻精度,尽量选择1%,选择5%精度的电阻可能出现按键检测错误现象。

图片

方案14-20,又是一系列方案,这个方案和方案7.8.9是一样的,从方案7,8,9演变而来,取消了方案7,8,9中的部分情况。

图片

方案20,这个8个IO口检测64个按键,其中电路中二极管的数量为8个,这8个二极管的作用就是:区分出是IO1拉低了IO2,还是IO2拉低了IO1。区分出这些呢,一共是56种情况,加上最下边的8个独立按键,即可实现64个按键的区分。

图片

方案21,8路触摸按键。这个方案我是测试过的,可行,但是电路需要较多的元件,因为这个电路是从最基础的部分做起。这个的原理就不分析了,分析起来能新开一篇文章。

图片

至此,21个电路,12种按键方案的电路图已经分享完了,部分方案我是分享过视频的,而每一个方案都是可行的(如果问题,可以提出),之后呢,可能对每种方案的编程思想进行详解,敬请期待。

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

    关注

    10342

    文章

    10721

    浏览量

    530391
  • 单片机
    +关注

    关注

    6036

    文章

    44556

    浏览量

    634959
  • 开发板
    +关注

    关注

    25

    文章

    5040

    浏览量

    97412
  • 按键电路
    +关注

    关注

    1

    文章

    35

    浏览量

    21773
  • 按键检测
    +关注

    关注

    0

    文章

    23

    浏览量

    4836
收藏 人收藏

    评论

    相关推荐

    单片机17种常见的电路设计模块

    单片机17种常见的电路设计模块
    的头像 发表于 12-03 07:26 7.4w次阅读
    <b class='flag-5'>单片机</b>17种常见的<b class='flag-5'>电路设计</b>模块

    基于单片机按键电路设计(1)

    按键作为一个输入模块,在单片机开发板中必不可少,本文来讨论按键的设计方案。本文1500字。下篇文章将展示出电路图。
    的头像 发表于 10-31 15:15 2480次阅读
    基于<b class='flag-5'>单片机</b>的<b class='flag-5'>按键</b><b class='flag-5'>电路设计</b>(1)

    单片机外围电路设计

    单片机外围电路设计 本书讲述了MCS-51单片机及其兼容外围电路的设计与应用。全书共6章。
    发表于 03-29 11:49 241次下载

    ARM单片机的复位电路设计

    ARM单片机的复位电路设计 无论在移动电话,高端手持仪器还是嵌入式系统,32 位单片机ARM 占据越来越多的份额,ARM 已成
    发表于 10-24 11:41 3271次阅读
    ARM<b class='flag-5'>单片机</b>的复位<b class='flag-5'>电路设计</b>

    单片机视频教程10:按键

    《手把手教你学单片机单片机视频教程10:按键 单片机视频教程10:按键 1、跳动的心 2、程序
    发表于 08-21 09:41 1.2w次阅读
    <b class='flag-5'>单片机</b>视频教程10:<b class='flag-5'>按键</b>

    单片机外围电路设计(第2版)

    关于单片机使用的一些简单电路设计
    发表于 11-09 16:59 0次下载

    单片机外围电路设计

    单片机外围电路设计 有需要的朋友可以下来看看
    发表于 12-29 16:48 20次下载

    单片机电路设计2

    单片机电路设计2,感兴趣的小伙伴们可以看看。
    发表于 07-26 10:26 22次下载

    51单片机的独立按键按键消抖及矩阵按键电路与程序免费下载

    本文档的主要内容详细介绍的是51单片机的独立按键按键消抖及矩阵按键电路与程序免费下载。
    发表于 07-26 17:36 28次下载
    51<b class='flag-5'>单片机</b>的独立<b class='flag-5'>按键</b>和<b class='flag-5'>按键</b>消抖及矩阵<b class='flag-5'>按键</b>的<b class='flag-5'>电路</b>与程序免费下载

    单片机实现按键电路和程序设计资料说明

    单片机应用系统中,按键主要有两种形式:1、直接按键2、矩阵编码键盘。直接按键的每个按键都单
    的头像 发表于 10-06 18:14 9744次阅读

    STM32单片机按键电路设计资料下载

    电子发烧友网为你提供STM32单片机按键电路设计资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广
    发表于 04-25 08:46 20次下载
    STM32<b class='flag-5'>单片机</b><b class='flag-5'>按键</b><b class='flag-5'>电路设计</b>资料下载

    简单51单片机开发板的电路设计

    简单51单片机开发板的电路设计(单片机控制电机)-该文档为简单51单片机开发板的电路设计讲解资料,讲解的还不错,感兴趣的可以下载看看…………
    发表于 07-22 10:03 89次下载
    简单51<b class='flag-5'>单片机</b>开发板的<b class='flag-5'>电路设计</b>

    单片机按键使用程序 (51单片机

    单片机独立按键使用程序 (51单片机)独立按键单片机中很重要的一个器件,在这篇文章里,通过这个用独立
    发表于 11-11 18:36 108次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>按键</b>使用程序 (51<b class='flag-5'>单片机</b>)

    单片机按键检测电路原理详解

    下面是本例中按键检测的电路原理图,K1是一个按键,它接在单片机的P3.3口上,R2是一个与按键
    的头像 发表于 11-02 15:28 6926次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>按键</b>检测<b class='flag-5'>电路</b>原理详解

    单片机按键切换模式怎么设置

    单片机:选择一款合适的单片机型号,例如常见的8051、STM32等。 按键模块:用于实现按键输入,通常由一个或多个按键组成。
    的头像 发表于 12-13 11:07 4148次阅读