kk1398 发表于 2010-5-26 11:01:13

74HC164实现16按键扫描与数码管显示

论坛的高人请指点一下菜鸟,本人看了成品的控制板,依原板的PCB测绘出电路图,其基本连接如付图所示,从图中可以看出它是用两块74HC164完成按键扫描及数码管显示,其中用一个IO口完成16个按键的检测,真是牛,本有花了好长时间写程序也不能达到这种按键的扫描与显示,希高人指点一下,多谢,
http://cache.amobbs.com/bbs_upload782111/files_29/ourdev_557133.jpg
重新上传的图 (原文件名:74HC164.jpg)


仿真文件,版本是Proteus 7.5 SP3ourdev_557106.rar(文件大小:19K) (原文件名:keypad2.rar)

little_Monkey 发表于 2010-5-26 12:46:46

如果没看错,右边的key1连接错了,只接了三个按键,这种做法很常见,原理就是在数码管显示间隙给164发送只有一位为0的数据,比如FFFE,FFFD,然后检测key1的输入,当发送某次数据(如FFFD)时检测到key1为低,则可以判断按下的是K2键,你的图上因为各个按键没有隔离,同时按下两个按键时会影响数码管显示

kk1398 发表于 2010-5-26 15:18:58

回复【1楼】little Monkey
-----------------------------------------------------------------------

呵呵,感谢1楼的思路,图已重修改上传了,能给出扫描程序就万分感谢啦

xinxinEC 发表于 2011-2-23 15:52:32

学习

xinxin3219 发表于 2012-5-31 18:51:30

little_Monkey 发表于 2010-5-26 12:46 static/image/common/back.gif
如果没看错,右边的key1连接错了,只接了三个按键,这种做法很常见,原理就是在数码管显示间隙给164发送只 ...

好思路~~

millwood0 发表于 2012-5-31 18:58:34

with a resistor, you can even save 1 pin.

wyybhdx 发表于 2012-6-1 15:52:56

little_Monkey 发表于 2010-5-26 12:46 static/image/common/back.gif
如果没看错,右边的key1连接错了,只接了三个按键,这种做法很常见,原理就是在数码管显示间隙给164发送只 ...

高手啊{:3_48:}

a20084666 发表于 2013-8-30 16:29:28

表示我已经能够扫描,并且显示数据

曾家0762 发表于 2013-8-31 16:12:00

多谢楼主了!

昨夜清风 发表于 2013-9-3 19:53:03

{:3_62:} 给力
页: [1]
查看完整版本: 74HC164实现16按键扫描与数码管显示