[应用方案] 3个IO口检测21按键分享

[复制链接]
317|1
lzbf 发表于 2025-9-22 21:05 | 显示全部楼层 |阅读模式
3IO检测21按键原理图

a4c319197d832051d5ac650421822aa00d59fccf.png@1106w_1158h.webp
原理图
电路图是以二极管为中心,21个按键,一部分是接在GND和三极管节点之间,另一部分按键两端均接在二极管节点之间。 特别说明L1,L3,L5为3个IO口连接点。 要区分出不同的按键,这些按键肯定是不同的。上图也是按照按键按下后的效果进行分类的。 大体上分两种,第一种(直接检测)按下某个按键,使某个IO口为低电平,使某两个IO口为低电平,(3个IO口低电平,本图暂未使用,不划算,需要再加三个二极管)第二种(主动拉低检测)一个IO口写0,拉低另外一个,两个IO口通过按键短接一个IO口拉低两个IO口两个IO口均拉低一个IO口代码见分享文件程序代码截图
ab03f06704c509e6f8f909e0b99bbaea9b3612c1.png@1108w_534h.webp
定义变量

e4bfd9d576862d11d56dd6a948e74448f659a913.png@1108w_876h.webp
前6个按键检测

373a284096557341080f20ff427cace6f22dc8bd.png@1108w_574h.webp
后15个按键的检测

41710868022b89747935bdd73d0a7484ba9265ef.png@1108w_1086h.webp
后15个按键区分

892a49ecc7b788f335c871a263f10ebc402cec24.png@1108w_746h.webp
主要扫描函数

LcwSwust 发表于 2025-9-23 10:51 | 显示全部楼层
666         
您需要登录后才可以回帖 登录 | 注册

本版积分规则

148

主题

5649

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部