找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1804|回复: 13
收起左侧

单片机IO口识别按键的接线方法

  [复制链接]
ID:1004490 发表于 2022-3-8 16:46 | 显示全部楼层 |阅读模式
如题所示:打算用STM32单片机的IO口去识别按键是否被按下,按键如图所示:3个按键串联为1组,总共4组12个按键。要求用尽量少的IO口和外围器件去识别按键动作。我自己现在是要用8个按键,感觉还可以再减少,但是想不出来更好的方法了。
bc1eb823e664d3c4174833ef0180c0d.jpg
回复

使用道具 举报

ID:213173 发表于 2022-3-8 21:13 | 显示全部楼层
12个按键3*4矩阵需要7个IO口
回复

使用道具 举报

ID:161164 发表于 2022-3-9 23:56 | 显示全部楼层
不加二极管只需6个IO
2022-03-09_235000.png


加二极管只需4个IO,但要消耗12颗二极管,不合算

原理是每次单片机只拉低一根脚
然后测量其它脚有没有被拉低

回复

使用道具 举报

ID:844772 发表于 2022-3-10 08:56 | 显示全部楼层
lkc8210 发表于 2022-3-9 23:56
不加二极管只需6个IO

当年数理逻辑肯定学的好。
回复

使用道具 举报

ID:220066 发表于 2022-3-10 09:32 | 显示全部楼层
矩阵扫描键盘 3*4 但不是你这样的接法
回复

使用道具 举报

ID:800866 发表于 2022-3-10 14:33 | 显示全部楼层
如果按你图上画的3个一组,必须是4组的话,就可以用4个ADC口线引脚;每一组接一个STM32的ADC口线,每个按键上加上不同的电阻,根据采样电压不同,区分不同的按键;理论上一个ADC口线就可以接多个按键(理论上1个ADC口线就可以做出12个按键;当然要看看AD采样的精度和键与键之间的电压余量,尽可能的键与键之间余量多些,这样就不至于把键采集错误);
回复

使用道具 举报

ID:824490 发表于 2022-3-10 14:41 | 显示全部楼层
wulin 发表于 2022-3-8 21:13
12个按键3*4矩阵需要7个IO口

确切的说是3*(3+gnd),只要6个IO
回复

使用道具 举报

ID:879809 发表于 2022-3-10 17:50 | 显示全部楼层
串电阻用ADC识别,8个键用两个IO口就能实现。
回复

使用道具 举报

ID:1009207 发表于 2022-3-11 14:32 | 显示全部楼层
矩阵键盘四乘三,这样不对
回复

使用道具 举报

ID:1006076 发表于 2022-3-11 17:43 | 显示全部楼层
用上个ADC口扫描,可以串到你不想要
Y8FPWR9A24@CJB@)Y%`USLP.png
回复

使用道具 举报

ID:1009968 发表于 2022-3-12 18:23 | 显示全部楼层
矩阵键盘四乘三
回复

使用道具 举报

ID:624769 发表于 2022-3-13 15:04 | 显示全部楼层
在任何一个实际项目中, 按键应该都是最后考虑的东西, 因为实现方法太多了,应该根据实际有的资源,最后决定按键方案,你其他东西都设计好了,
还剩 12个以上IO 就什么都不要想,直接通通独立按键。
如果 还剩 4~6个IO 就用 板凳的方法,
如果 还剩 1个IO 并且,可以ADC 那么就用10楼的方法。
如果 没有剩余IO, 但是有用 TM1650 之类的 LED 驱动芯片,那么直接用 TM16系列LED芯片自带的 按键识别功能,就可以了。
包括IO复用方案,单IO无DAC,电容充放电方案,等等等等,方法很多很多,单纯的讨论按键实现方法,不考虑应用场景,来确定哪个方案好,没有太大的实际意义。
回复

使用道具 举报

ID:544776 发表于 2022-3-13 16:14 | 显示全部楼层
lkc8210 发表于 2022-3-9 23:56
不加二极管只需6个IO

大哥牛逼
回复

使用道具 举报

ID:544776 发表于 2022-3-13 16:15 | 显示全部楼层
188610329 发表于 2022-3-13 15:04
在任何一个实际项目中, 按键应该都是最后考虑的东西, 因为实现方法太多了,应该根据实际有的资源,最后决定 ...

长见识了!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表