按键检测的三个方案

文章介绍了在嵌入式系统中,如何通过不同的按键检测方法来实现人机交互。当IO口充足时,通常一个IO口对应一个按键;IO口不足时,采用矩阵键盘可以节省资源;此外,利用AD功能,一个IO口能检测多个按键,但无法检测多个按键同时按下。这些技术有效适应了不同按键数量和资源限制的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 按键是嵌入式产品重要的人机交互器件。在按键数量少,IO口充足的情形下,一般采用一个IO口检测一个按键的方式,如下图:
    在这里插入图片描述
    这样的方式,可以很简单的实现对按键的短按、长按、同时按等方式的检测。

  2. 如果产品按键较多,IO口不足以一一对应所有按键,这时候一般采用矩阵键盘的方式,如下图:
    在这里插入图片描述
    16个按键,只需要8个IO口就可以检测,节省了一半的IO资源。当然矩阵键盘的方式也同样可以实现对按键的短按、长按、同时按等方式的检测。

  3. 除了以上两个方式,还有一个特殊的方式来检测按键,就是使用芯片的AD功能。用AD的方式,可以实现一个IO口,同时检测多个按键。如下图:
    在这里插入图片描述
    当按键按下后,通过不同电阻分压后,会得到不同的电压。单片机的AD引脚就可以读取到不同的AD值,通过对AD值的大小判断,就可以分辨是哪个按键按下。通过这个方式,就可以实现一个IO检测5个按键,甚至可以更多。不过这个方式有一个缺点就是,不能检测多个按键同时按下的场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值