常用的按键有以下两种方式:
1、独立按键
独立按键直接用MCU的I/O管脚构成的单个按键电路,其特点式每个按键单独占用一个I/O,每个按键的工作不会影响其他I/O的状态。独立按键很浪费MCU管脚,但编程比较简单。

2、矩阵按键
矩阵键盘又称行列键盘,它是用四个I/O管脚为行线,四个I/O管脚作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4*4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。在MCU管脚有限的情况下,矩阵按键大大的节省的I/O。

现在要讲的是第3种方法:
如何利用一个ADC管脚去检测多个按键,ADC检测每个对应按键按下的电压分压后的电压值。
下图采用10个按键等间隔分压,每个按键正负余量允许在±0.25V范围内变换。这样才能有效的避免电阻的误差或者温漂等因素造成的按键检测失效。
另外如果还要求按键检测更加稳定可靠,可以减少按键数量,放宽各个按键检测的电压允许差量。


由此可见
独立按键是最浪费MUC I/O。矩阵按键已经大大减少MCU的I/O。而ADC检测是最省MCU I/O的。

本人博客仅仅代表我个人见解。如有错误请各位大牛指出,谢谢!!

一个ADC做多个按键扫描检测相关推荐

  1. 3、按键扫描检测处理

    说明:本文处理按键的短按.长按检测执行,非矩阵按键 硬件可以类似如下连接即可,无需放置上下拉电阻: 按键动作分长按.短按(弹起时执行)两种 按下不放执行长按,但松开按键时不予执行短按函数 多个按键可以 ...

  2. STM32矩阵按键扫描冲突问题

    最近做了一个项目,有个部分用到了矩阵扫描的原理,要检测按键是否按下去执行一个动作.一开始硬件工程师的原理图实现是设计成传统矩阵按键方式,大致原理如下所示: 这种硬件实现方式当去检测单个按下.一整行按下 ...

  3. 单片机一个ADC口实现多按键检测功能

    按键电路是单片机应用中最广泛最简单的一个电路了,实际项目中经常会用到按键,但是一个按键往往需要占用一个IO口,特别是单片机资源比较紧张的情况下,IO就显得更加珍贵了.如果要用到按键,同时又不想浪费IO ...

  4. micropython按键检测_TM1650按键扫描

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 uchar BL = 2; //亮度等级 uchar CODE[11] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x ...

  5. 使用定时器按键扫描数码管制作一个可存储数据的秒表

    目录 1.前言 1.1实验现象 1.2 项目资源 2.主要程序及解释 2.1中断中进行按键扫描 2.2 中断中进行数码管扫描 2.3中断中进行秒表的驱动 2.4主函数 1.前言 1.1实验现象 实验现 ...

  6. 以STC的单片机为例A/D做按键扫描应用原理介绍

    以STC单片机为例A/D做按键扫描应用原理介绍 矩阵按键扫描或者是多个按键扫描,我们通常想到的可能大多是通过多个IO口来搭建按键扫描电路,例如下面的4X4矩阵按键,今天来介绍的是通过引入模拟量信号采集 ...

  7. 计算机键盘是编码键盘还是非编码键盘,矩阵按键原理图_矩阵按键扫描实例

    键盘分编码键盘和非编码键盘.键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘.而靠软件编程来识别的称为非编码键盘. 在一般嵌入式应用中,用的最多的是非编码键盘 ...

  8. 【摘录】MTK按键扫描原理及相关代码

    一.MTK按键扫描原理: 不同的MTK平台内部提供的按键数目各有不同,但是扫描原理大致一样,这里以MTK6253为例来讲解记录. MTK提供6*7共42个矩阵键盘,加上Power键总共43个按键,其中 ...

  9. 2.8 STM32_按键扫描_安富莱

    1.程序优点 扩展性非常强,功能比较齐全: bsp_key按键驱动程序用于扫描独立按键,具有软件滤波机制,采用FIFO机制保存键值.可以检测如下事件: 按键按下. 按键弹起. 长按键. 长按时自动连发 ...

最新文章

  1. 高频焊台源码,改进版V2
  2. oracle 12c 自动任务,Oracle job自动任务实用指南
  3. 深度解密Go语言之Slice
  4. 中断下半部机制-softirq-Tasklet-工作队列
  5. 蓝桥杯第八届省赛JAVA真题----Excel地址
  6. (6)vue.js基础语法—插值表达式
  7. 集设作品灵感|App夜间模式如何设计?
  8. Oracle之PL/SQL学习笔记之有名块练习
  9. 图像算法五:【图像小波变换】多分辨率重构、Gabor滤波器、Haar小波
  10. 2021-3测试通过:eclipse安装svn插件
  11. 小米抢购软件_「晓满晓满晓」今日科技新鲜事:小米11、鸿蒙os、摩拜单车
  12. BAT自动IP地址切换脚本
  13. html实现图片轮播切换箭头,Vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)_鹿岛_前端开发者...
  14. PS第十一课--色阶曲线
  15. 开源OA:O2OA平台手机APP指纹认证的配置
  16. 用神经网络实现语音分类
  17. ps aux 进程状态为 I (大写i)
  18. Redis应用场景-排行榜
  19. 100万量子比特,PsiQuantum要怎样实现?
  20. C#Winform 实现控件自适应父容器大小

热门文章

  1. 玩转四方高视:位置营销的模式及创新
  2. oracle数据库or exists,Oracle Not Exists运算符
  3. 浏览器大战中的搜狗浏览器
  4. web开发下的HTTP编程及接口回调的使用
  5. mysql 主动拿锁_主动锁模
  6. 鸿蒙智联 HarmonyOS Connect 设备首次发现过程
  7. 在阿里“救了八年火”的程序猿,这样讲述淘宝的技术进化史
  8. RHSCA红帽认证系统管理员
  9. vlan与vxlan
  10. 2021.12.9洛谷小书童——凯撒密码——c语言