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

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

    关注

    10215

    文章

    10645

    浏览量

    511072
  • 单片机
    +关注

    关注

    6001

    文章

    43977

    浏览量

    620861
  • 开发板
    +关注

    关注

    25

    文章

    4431

    浏览量

    94017
  • 按键电路
    +关注

    关注

    1

    文章

    35

    浏览量

    21608
  • 按键检测
    +关注

    关注

    0

    文章

    21

    浏览量

    4797
收藏 人收藏

    评论

    相关推荐

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

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

    单片机外围电路设计

    单片机外围电路设计
    发表于 04-02 17:51

    单片机外围电路设计

    本帖最后由 eehome 于 2013-1-5 10:00 编辑 分享: 单片机外围电路设计
    发表于 07-10 17:02

    单片机外围电路设计

    本帖最后由 eehome 于 2013-1-5 09:47 编辑 单片机外围电路设计
    发表于 08-16 19:32

    单片机外围电路设计

    本书讲述MCS-51单片机的外围电路设计
    发表于 04-15 01:04

    单片机外围电路设计资料教程下载

    单片机外围电路设计资料,这是一部学单片机革命性的视频教程,教程全部十二讲,每讲3小时左右,讲座从最基本的预备知识开始讲起,非常详细的讲解KEIL编译器的使用,包括软件仿真,测定时间,单步运行,全速
    发表于 07-19 05:46

    按键开机电路单片机状态的问题

    如图这个电路,这是一个用按键使单片机上电的电路,当按键按下后,单片机如何判断?key1与
    发表于 01-08 09:30

    单片机硬件电路设计

    本帖最后由 kevinlam 于 2020-3-6 15:42 编辑 单片机硬件电路设计
    发表于 03-05 19:23

    单片机硬件电路设计

    单片机硬件电路设计
    发表于 03-11 09:10

    基于单片机按键控制LED数码管共阴极动态显示电路设计

    基于单片机按键控制LED数码管共阴极动态显示电路设计报告(毕业论文)物理与电子工程学院2014级课程设计PAGE IV物理与电子工程学院《单片机原理与接口技术》课程设计报告书设计题目
    发表于 07-20 06:30

    单片机外围电路设计

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

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

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

    STM32单片机按键电路设计

    以前GPIO上接的电路都是低电平触发的那种,新画了个板子有一个按键设计的是高电平触发,结果IO口设置成上拉输入后,怎么读都不正确,按键电路如图1。无奈只能去调试一下,发现当设置为上拉输
    发表于 01-17 16:05 2.3w次阅读
    STM32<b class='flag-5'>单片机</b><b class='flag-5'>按键</b><b class='flag-5'>电路设计</b>

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

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

    单片机外围电路设计常出现的问题

    单片机外围电路设计需要注意的点有很多,包括单片机上拉电阻的选择、按键抖动及消除、三极管起到开关作用和电平转换的作用,以及电流电压驱动问题。其中,消除方法有两种:软件除抖和硬件除抖。
    的头像 发表于 11-06 11:14 1036次阅读
    <b class='flag-5'>单片机</b>外围<b class='flag-5'>电路设计</b>常出现的问题