7286|10

1170

帖子

0

TA的资源

至上芯片

楼主
 

很牛的键盘电路 [复制链接]

朋友发了一张图叫我帮他看看,在他上面发现了一个很牛的键盘接口电路。
发上来分享一下。
16个键,只用了4个IO。
此帖出自单片机论坛

最新回复

嘻嘻  详情 回复 发表于 2012-8-3 23:31
点赞 关注
 

回复
举报

1583

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

Re: [分享] 很牛的键盘电路

终于看明白了,真的很牛,而且不是一般的牛---------是"犀牛"
此帖出自单片机论坛
 
 

回复

16

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

Re: [分享] 很牛的键盘电路

大家早上好啊……!·
此帖出自单片机论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
没看明白耶··
此帖出自单片机论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

5
 

应该用的方法叫钳位二极管

是一个4X4的键盘矩阵

只是不知道,算法中是不是用的查表法呢

 

补充一点:

算法上应该是分别让menu inc dec ok线置“1”

置“1”后

   如果还为“1”则

       去读其它三条线

   否则

       说明按下的是最下一排按键

分析键码如下:

menu置1        
  menu  inc  dec  ok
1  1  1  0  0
2  1  0  1  0
4  1  0  0  1
7  0  0  0  0
        
inc置1        
%  1  1  0  0
3  0  1  1  0
5  0  1  0  1
8  0  0  0  0
        
dec置1        
var  1  0  1  0
q  0  1  1  0
6  0  0  1  1
9  0  0  0  0
        
ok置1        
w  1  0  0  1
f  0  1  0  1
k  0  0  1  1
0  0  0  0  0

可以看到,同一个编码出现了两次,但不同的是置1的线不同,所以这也是那个两极管出现的原因。

 

小弟初次评论,还有不道之处,多多见谅。

[ 本帖最后由 20100614 于 2010-6-15 18:56 编辑 ]
此帖出自单片机论坛
 
 
 

回复

1583

帖子

0

TA的资源

五彩晶圆(高级)

6
 
        
ok置1        
w  1  0  0  1
f  0  1  0  1
k  0  0  1  1
0  0  0  0  0




可以看到,同一个编码出现了两次,但不同的是置1的线不同,所以这也是那个两极管出现的原因。

LS的思想是正确的,但把置0和1的弄反了。
所以那个值是无法读取的。

正确的方式应该是:
1、全部置1,然后读值得
MENU— INC———DEC———OK——对应数字
1————1————1————0————0
1————1————0————1————9
1————0————1————1————8
0————1————1————1————7

2、MENU    INC    DEC置1,OK置0,然后读取值得
MENU— INC———DEC———OK——对应数字
1————1————0————0————6
1————0————1————0————5
0————1————1————0————4

3、MENU    INC    OK置1,DEC置0,然后读取值得
MENU— INC———DEC———OK——对应数字
1————1————0————0————K
1————0————0————1————3
0————1————0————1————2

4、MENU    DEC    OK置1,INC置0,然后读取值得
MENU— INC———DEC———OK——对应数字
1————0 ————1————0————F
1————0————0————1———— Q
0————0————1————1————1

5、INC    DEC    OK置1,MENU置0,然后读取值得
MENU——INC—— DEC———OK———对应数字
0————1————1———— 0———— W
0————1————0————1———— Var
0————0————1————1————%

这样所有的值才都能读出。只能有一条线为0,其它为1。

再详细的我就不说了,大家琢磨一下为什么要这样子~~

[ 本帖最后由 huchuan987 于 2010-6-15 21:49 编辑 ]
此帖出自单片机论坛
 
个人签名
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

7
 
BZ的分析有一定的道理,但不知道有没注意到,除了最下一行四个健外(因为置位的原因)其它的健码你我的全是反码。
此帖出自单片机论坛
 
 
 

回复

1583

帖子

0

TA的资源

五彩晶圆(高级)

8
 
除了最下一行四个健外(因为置位的原因)其它的健码你我的全是反码。[/quote]
你说的没错,是这样的,你试想一下,
[quote]ok置1        
w  1  0  0  1
f  0  1  0  1
k  0  0  1  1
0  0  0  0  0

如果OK为1,MENU为0,此时W按下去后会是什么结果??
MENU会把OK也拉低变成0。
如果MENU为三态的高阻而不是0那又是什么结果??
此帖出自单片机论坛
 
个人签名
 
 

回复

41

帖子

0

TA的资源

一粒金砂(初级)

9
 
路过。
此帖出自单片机论坛
 
个人签名一生只做一件事
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

10
 

原帖由 huchuan987 于 2010-6-16 12:44 发表 你说的没错,是这样的,你试想一下, 如果OK为1,MENU为0,此时W按下去后会是什么结果?? MENU会把OK也拉低变成0。如果MENU为三态的高阻而不是0那又是什么结果??

 

这种状态我有考虑到的,所以在逻辑上先判断是否为零.否结果时才去读其它线状态

[ 本帖最后由 20100614 于 2010-6-17 09:13 编辑 ]
此帖出自单片机论坛
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

11
 
嘻嘻
此帖出自单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表