打印
[STC单片机]

本人初学者,卡在了按键这里,希望大神能指点指点

[复制链接]
1438|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
一个小黄人|  楼主 | 2016-8-24 20:43 | 只看该作者
上面两幅图是按键的连接,我尝试了很多方法,就是不知道怎么读取按键值。希望有大神能帮我这个小白指点一下,在此谢谢了!!

使用特权

评论回复
板凳
冰零分子| | 2016-8-24 21:07 | 只看该作者
矩阵键盘一般都是行至高电平后判断哪一列被拉低

由行列坐标判断是哪个按键按下,总体思想就是这样

使用特权

评论回复
地板
kk118a| | 2016-8-24 21:33 | 只看该作者
6*4的矩阵

使用特权

评论回复
5
jackhwang| | 2016-8-25 08:11 | 只看该作者
既然是初学,没必要搞这么复杂的矩阵键盘。你可以通过跳线,先组合个3*3的矩阵。按楼上说的原理来编写。

使用特权

评论回复
6
datouyuan| | 2016-8-25 09:49 | 只看该作者
搜索关键词"5个IO口做25个按键"
应该能帮到你.

使用特权

评论回复
7
一个小黄人|  楼主 | 2016-8-25 22:25 | 只看该作者
datouyuan 发表于 2016-8-25 09:49
搜索关键词"5个IO口做25个按键"
应该能帮到你.

谢谢您的回复,我还是不太懂。感觉做到这里都有点想放弃了...做不出来

使用特权

评论回复
8
一个小黄人|  楼主 | 2016-8-25 22:27 | 只看该作者
jackhwang 发表于 2016-8-25 08:11
既然是初学,没必要搞这么复杂的矩阵键盘。你可以通过跳线,先组合个3*3的矩阵。按楼上说的原理来编写。 ...

可是,摆在我面前的就是这么一块板子,没得改,您会写这样的按键吗??能指点一下吗?谢谢。

使用特权

评论回复
9
一个小黄人|  楼主 | 2016-8-25 22:27 | 只看该作者

是啊,有20个按键,只用了6个io口...

使用特权

评论回复
10
一个小黄人|  楼主 | 2016-8-25 22:28 | 只看该作者
冰零分子 发表于 2016-8-24 21:07
矩阵键盘一般都是行至高电平后判断哪一列被拉低

由行列坐标判断是哪个按键按下,总体思想就是这样 ...

这个不同于矩阵按键吧,矩阵按键我会,但是这个....能指点一下吗??

使用特权

评论回复
11
datouyuan| | 2016-8-26 09:05 | 只看该作者
一个小黄人 发表于 2016-8-25 22:25
谢谢您的回复,我还是不太懂。感觉做到这里都有点想放弃了...做不出来

假如几千个文字加图你不能理解.
那我们只有几十个字怎么能帮到你.

使用特权

评论回复
12
datouyuan| | 2016-8-26 09:07 | 只看该作者
datouyuan 发表于 2016-8-26 09:05
假如几千个文字加图你不能理解.
那我们只有几十个字怎么能帮到你.

多搜索一下,说不定有现成的代码.

使用特权

评论回复
13
lym_96| | 2016-8-26 09:13 | 只看该作者
P10输出L,其它输出H。再读P11-P15,如果有L值,则最左列的某键被按下

使用特权

评论回复
14
lym_96| | 2016-8-26 09:20 | 只看该作者
P10输出L,其它输出H。再读P11-P13,如果有L值,则第一行的某键被按下

使用特权

评论回复
15
冰零分子| | 2016-8-26 09:31 | 只看该作者
一个小黄人 发表于 2016-8-25 22:28
这个不同于矩阵按键吧,矩阵按键我会,但是这个....能指点一下吗??

原理是一样的,只不过这种是端口复用了,在不同时时刻分别做输出,输入

使用特权

评论回复
16
jackhwang| | 2016-8-26 10:27 | 只看该作者
一个小黄人 发表于 2016-8-25 22:27
可是,摆在我面前的就是这么一块板子,没得改,您会写这样的按键吗??能指点一下吗?谢谢。 ...

通过J12、J5跳线组个3*3矩阵按键先练练手吧。

使用特权

评论回复
17
一个小黄人|  楼主 | 2016-8-26 10:53 | 只看该作者
jackhwang 发表于 2016-8-26 10:27
通过J12、J5跳线组个3*3矩阵按键先练练手吧。

矩阵键盘我是真的会...已经玩过了,就是不会读这里按键的值

使用特权

评论回复
18
一个小黄人|  楼主 | 2016-8-26 10:54 | 只看该作者
冰零分子 发表于 2016-8-26 09:31
原理是一样的,只不过这种是端口复用了,在不同时时刻分别做输出,输入 ...

怎么设置他输入输出啊....

使用特权

评论回复
19
一个小黄人|  楼主 | 2016-8-26 13:59 | 只看该作者
datouyuan 发表于 2016-8-25 09:49
搜索关键词"5个IO口做25个按键"
应该能帮到你.

你有51的程序吗?发我一个,谢谢

使用特权

评论回复
20
embassy| | 2016-10-10 17:04 | 只看该作者
本帖最后由 embassy 于 2016-10-10 17:09 编辑

很简单,  
KEY1=1;
if(KEY2==1)
{
   //最上一行,第一个被按下
}
if(KEY3==1)
{
  //最上一行,第二个被按下
}
.....
以此类推
看不出,硬件这样设计有啥用,有点复杂

使用特权

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

本版积分规则

8

主题

66

帖子

1

粉丝