搜索
bottom↓
回复: 4

51中端口复用,4*5矩阵键盘的程序如何实现

[复制链接]

出0入0汤圆

发表于 2012-5-28 13:30:50 | 显示全部楼层 |阅读模式
本帖最后由 yanse1214 于 2012-5-28 22:34 编辑

这是本人用PROTEUS中画的图。其中端口D7,D1既用于行线也用于列线。

因为列线电路中是高电平,所以我想应采用行扫描法。但是程序究竟如何写呢?



        另:图中74ls32的RD端,连接的是DS12C887的DS端。当RD与CS_KEY1同时为0,此时,74ls244才选通。

其余连接,都是照搬原图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-5-28 21:30:35 | 显示全部楼层
图纸太小看不清         

出0入0汤圆

 楼主| 发表于 2012-5-28 22:37:13 | 显示全部楼层
本帖最后由 yanse1214 于 2012-5-28 22:52 编辑

多谢高手捧场。您可以双击此图片,就放大了。另:我又添加了个PDF的文档


是必须配合锁存。所以,图中用了74ls377。
从图中看,51端p20,p21,p22三端输出三个信号,然后通过74ls138输出8种状态。其中就有CS_KEY1,CS_KEYO.这种条件量。
通常4*4键盘,取一个端口的低4位和高4位。然后进行逐行扫描。但是在本图这个4*5的键盘中,当244有效时,kin1,kin2,kin3,kin4列线端,输入给51芯片的端口是D7,D4,D3,D1.
当377有效时,kout1,kout2,kout3,kout4,kout5行输出端,对应于51的输出端口是:D1,D7,D5,D2,D0.
也就是说,有2个端口复用了(D7和D1)。(D0....D7对应于51的P0口)。
那么这种情况,程序中是如何实现键盘扫描的呢?
还请高手详细指教。

出0入0汤圆

 楼主| 发表于 2012-5-29 19:51:11 | 显示全部楼层
这个按键扫描函数还真是费劲。好好思考

出0入0汤圆

发表于 2014-12-11 15:43:10 | 显示全部楼层
看过,不知道有没有更好的!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 10:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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