专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
P1端口复用,4*5矩阵键盘的程序如何实现?
2019-03-24 19:09
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
9351
5
1687
这是本人用PROTEUS中画的图。其中端口D7,D1既用于行线也用于列线。
因为列线电路中是高电平,所以我想应采用行扫描法。但是程序究竟如何写呢?请高手多多指教
另:图中74ls32的RD端,连接的是DS12C887的DS端。当RD与CS_KEY1同时为0,此时,74ls244才选通。
[
本帖最后由 yanse51 于 2012-6-1 19:56 编辑
] 此帖出自
小平头技术问答
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
yanse51
1楼-- · 2019-03-25 01:20
可能描述的不详,没人理?
加载中...
njlianjian
2楼-- · 2019-03-25 02:03
比如,P1.0设置为低电平,然后你给P1.4~P1.7设置高电平,然后读P1.4~P1.7上的电平,如果为低电平,那么就是有按键按下,如,P1.4为低电平,那么P1.0和P1.4相连的那个按键有效。其他依次类推
加载中...
yanse51
3楼-- · 2019-03-25 07:21
从图中看,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口)。
那么这种情况,程序中是如何实现键盘扫描的呢?
加载中...
njlianjian
4楼-- · 2019-03-25 13:12
还是那样的原理啊,你结合138的原理分析分析
加载中...
yanse51
5楼-- · 2019-03-25 16:15
您是指矩阵键盘的行扫描法?。这几天看了键盘方面的资料。例程大都是4*4键盘的表述。而且,没有涉及到端口既是行端口又是列端口的复用。
这个图的原理。我理解的如下:P2的三个端口,通过74LS138输出7种状态。然后可以将RD赋予0,通过图中74LS32的或门。RD,CS_KEY1两个都为0,此时74ls244低电平导通。然后发挥其输入缓冲器的作用。
74LS377,上升沿触发后,输出端锁存的数据发生改变。
当按键按下,此时74ls244所在列线的高电平端,被拉低。
悲剧的是,不知道该如何用程序去描述。网上搜了好久,也没有找到相似的例程。凭自己能力,也实在是写不出。
还请高手多多指点。
加载中...
一周热门
更多
>
相关问题
相关文章
基于51单片机的计算器设计
0个评论
51单片机300个proteus仿真实例下载
0个评论
51单片机 蜂鸣器
0个评论
51单片机驱动RC522模块
0个评论
基于51单片机的指纹密码锁
0个评论
AT89C51单片机制作简易密码锁
0个评论
51单片机汇编语言计数器
0个评论
51单片机精确延时设计
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
通常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口)。
那么这种情况,程序中是如何实现键盘扫描的呢?
这个图的原理。我理解的如下:P2的三个端口,通过74LS138输出7种状态。然后可以将RD赋予0,通过图中74LS32的或门。RD,CS_KEY1两个都为0,此时74ls244低电平导通。然后发挥其输入缓冲器的作用。
74LS377,上升沿触发后,输出端锁存的数据发生改变。
当按键按下,此时74ls244所在列线的高电平端,被拉低。
悲剧的是,不知道该如何用程序去描述。网上搜了好久,也没有找到相似的例程。凭自己能力,也实在是写不出。
还请高手多多指点。
一周热门 更多>