打印

请教2个IO口检测三个按键

[复制链接]
6815|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 chest20090909 于 2013-10-21 08:43 编辑

因端口限制,想用2个IO口检测3个按键,请问按下图的电路可以吗,s1,s2检测高电平有效,s3该如何检测呢

相关帖子

沙发
ballack_linux| | 2013-10-21 01:07 | 只看该作者
下图???没看到啊

使用特权

评论回复
板凳
呆板书生| | 2013-10-21 07:06 | 只看该作者
简单,
一个IO输出低,的时候,检测另一个的电平,

使用特权

评论回复
地板
ayb_ice| | 2013-10-21 08:14 | 只看该作者
2^2=4,去掉一个00b

使用特权

评论回复
5
很忙| | 2013-10-21 08:30 | 只看该作者
看看图了,这个还是很简单的。做4个按键都没有问题。

使用特权

评论回复
6
ayb_ice| | 2013-10-21 09:09 | 只看该作者
这个图有检测顺序的
先S1,S2再S3

使用特权

评论回复
7
食肉狼| | 2013-10-21 09:11 | 只看该作者
啊,大神们,我只会两个

使用特权

评论回复
8
pang7| | 2013-10-21 10:15 | 只看该作者
不能双按键了

使用特权

评论回复
9
ayb_ice| | 2013-10-21 10:20 | 只看该作者
1: 将RC3,RC4置为输入,读取IO识别S1,S2,高则相应的按键按下,如果有按下则不识别S3

2: 如果S1,S2都没有按下,则RC3输出1,RC4继续输入,读取RC4识别S3

。。。

使用特权

评论回复
10
chest20090909|  楼主 | 2013-10-21 12:36 | 只看该作者
重新上传图了,按ayb_ice大侠的应该可以,在检测步骤上是不是先检测S1和S2然后再把RC3置输出来检测RC4的电平呢

使用特权

评论回复
11
chen125318| | 2013-10-21 17:53 | 只看该作者
一个io口输出低电平然后检测这个io扣是否被拉高,拉高了就是s3按下了

使用特权

评论回复
12
chen125318| | 2013-10-21 17:54 | 只看该作者
chen125318 发表于 2013-10-21 17:53
一个io口输出低电平然后检测这个io扣是否被拉高,拉高了就是s3按下了

看错了这样不行郁闷

使用特权

评论回复
13
pjy| | 2013-10-21 18:47 | 只看该作者
如果有空闲的ADC口的话,多少个键都没问题了,而且只需一根线

使用特权

评论回复
14
xiaoyigechaos| | 2013-10-21 19:38 | 只看该作者
2*2矩阵键盘

使用特权

评论回复
15
tooqng| | 2013-10-21 20:42 | 只看该作者
xiaoyigechaos 发表于 2013-10-21 19:38
2*2矩阵键盘

2*2用了4个IO口了吧,

使用特权

评论回复
16
nfreebird| | 2013-10-21 22:12 | 只看该作者
c:\test.bmp
00 key1
01  key2
10 key3
11 无按键

使用特权

评论回复
17
nfreebird| | 2013-10-21 22:14 | 只看该作者
本帖最后由 nfreebird 于 2013-10-21 22:16 编辑


test.bmp (971.24 KB )

test.bmp

使用特权

评论回复
18
nfreebird| | 2013-10-21 22:18 | 只看该作者
不会发图,捣鼓了半天

使用特权

评论回复
19
晟琦| | 2014-4-24 13:59 | 只看该作者
不错

使用特权

评论回复
20
renwocai| | 2014-4-25 19:22 | 只看该作者
没必要搞成这样吧,两个端口分别对地接一个,两个端口之间接一个

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

121

主题

632

帖子

4

粉丝