找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1499|回复: 11
收起左侧

单片机新手求助,以下四个IO口怎么识别这四个按键是否按

[复制链接]
ID:768170 发表于 2023-8-5 16:59 | 显示全部楼层 |阅读模式
NetInto1和NetInto2接了上拉电阻,KEY0/1和KEY_MOD接了下拉电阻。
1691225958203.jpg

补一下电路图

补一下电路图
1691367049311.png
回复

使用道具 举报

ID:672792 发表于 2023-8-5 20:45 | 显示全部楼层
按照这个电路图接没有意义啊?如果有用也是二个按键同时按才能有用,好奇怪
回复

使用道具 举报

ID:1085441 发表于 2023-8-6 02:32 | 显示全部楼层
建议4个按键用4个IO口,这样编程最简单,适合新手。
回复

使用道具 举报

ID:213173 发表于 2023-8-6 06:35 | 显示全部楼层
如果图中标号是连接4个IO口,这个接法是2*2矩阵。识别方法与4*4矩阵相似。貌似采用这种接法没有什么实际意义。
回复

使用道具 举报

ID:341045 发表于 2023-8-6 09:10 | 显示全部楼层
多补下画电路图吧. KEY0/1和KEY_MOD接了下拉电阻, 你要在开关的中间要加下拉电阻到地呀. 要是这电阻为0, 大家是不是瞬间明白怎样识别了
回复

使用道具 举报

ID:88256 发表于 2023-8-6 10:28 | 显示全部楼层
爱电子998 发表于 2023-8-5 20:45
按照这个电路图接没有意义啊?如果有用也是二个按键同时按才能有用,好奇怪

有意义的,中间有网络端子,只是这图画得很不直观而已。




分别检测KEY0/1和KEY_MOD是否为高电平就可以判断是否有按键按下了
回复

使用道具 举报

ID:768170 发表于 2023-8-7 11:16 | 显示全部楼层
hhdsdy 发表于 2023-8-6 10:28
有意义的,中间有网络端子,只是这图画得很不直观而已。

怎么区分KEY0/1或KEY_MOD左右按键哪个被按下呢?
回复

使用道具 举报

ID:768170 发表于 2023-8-7 11:19 | 显示全部楼层
lzts88 发表于 2023-8-6 09:10
多补下画电路图吧. KEY0/1和KEY_MOD接了下拉电阻, 你要在开关的中间要加下拉电阻到地呀. 要是这电阻为0, 大 ...

刚刚已经补了
回复

使用道具 举报

ID:341045 发表于 2023-8-7 20:24 | 显示全部楼层

R2,R36上拉电阻多大. 如果远大于10K(100K或以上), IO设置为高阻方式,读为0则有对应按键按下, 为1无键按下.
如果上拉电阻不够大,  按键按下时电平不够低(单片机不能识别0), 可用AD的方式识别按键, 检测IO电压, 不按或按下电压是不同的. 看你IO上有电容, 也可用测时间的方式检测按键, 置IO推挽方式, IO置0, 给电容充分放电(注意时间不要太短), 检测时, IO置高阻, 同时打开定时器定时, 检测IO跳为1时的时间, 按键不按或按下的时间应该不同. 后面二种麻烦(如按下检测不了0时才用)
回复

使用道具 举报

ID:517951 发表于 2023-8-8 08:30 | 显示全部楼层
原理图画的不直观, 对于新手来说, 还是容易导致误解.
这个原理图和普通的4独立按键软件处理方法是一样的. 要注意R2,R36的电阻值不能太大.不然IO读入的电压值偏低导致1/0逻辑不稳定.
回复

使用道具 举报

ID:105826 发表于 2023-8-8 12:21 | 显示全部楼层
如果PCB还没有打样出来,那就还来得及,赶紧改原理图,更新layout。下面的一堆就不用看了。
NetInto1和NetInto2是否有接到MCU的GPIO呢?
如果有的话可以分时将KEY0/1和KEY_MOD输出低电平。然后检测NetInto1和NetInto2对应的GPIO的电平状态来判定按键。
如果没有的话,把R32和R36更改为相差较大一点的阻值,然后使用ADC读取KEY0/1和KEY_MOD的电压值,根据电压值不同可以确定是否有按键按下、那个按键被按下。
一个按键简简单单多好,硬是要花式玩,何必为难自己呢。
回复

使用道具 举报

ID:264021 发表于 2023-8-8 19:04 | 显示全部楼层
根据图上看出单片机是通过用两个ADC IO口读取4按键按下的电压来判断是那个按键
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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