专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
51单片机
51中端口复用,4*5矩阵键盘的程序如何实现
2020-01-21 21:36
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
4453
5
5
本帖最后由 yanse1214 于 2012-5-28 22:34 编辑
这是本人用PROTEUS中画的图。其中端口D7,D1既用于行线也用于列线。
因为列线电路中是高电平,所以我想应采用行扫描法。但是程序究竟如何写呢?
另:图中74ls32的RD端,连接的是DS12C887的DS端。当RD与CS_KEY1同时为0,此时,74ls244才选通。
其余连接,都是照搬原图。
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
proteldxp
1楼-- · 2020-01-10 16:42
solisgood 发表于 2018-5-29 15:42
https://item.jd.com/23404127736.html
这个是单相的啊
加载中...
lxa0
2楼-- · 2020-01-21 21:49
精彩回答 2 元偷偷看……
加载中...
yanse1214
3楼-- · 2020-01-21 22:47
本帖最后由 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口)。
那么这种情况,程序中是如何实现键盘扫描的呢?
还请高手详细指教。
加载中...
yanse1214
4楼-- · 2020-01-22 03:44
这个按键扫描函数还真是费劲。好好思考
加载中...
DF状元宏
5楼-- · 2020-01-22 08:33
看过,不知道有没有更好的!
加载中...
上一页
1
2
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
【东软载波ESF0654 PDS开发板活动】开箱
1 个回答
东软载波ESF0654 PDS开发板外部中断
1 个回答
东软载波ESF0654 PDS开发板高级控制定时器AD16C4T
1 个回答
用串口调试助手为什么只能在hex模式接收发送而在文本模式不行
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
51单片机与蓝牙模块连接
0个评论
51单片机的硬件结构
0个评论
基于51单片机的无线遥控器制作
0个评论
51单片机 AD转换
0个评论
51单片机数码管递增显示
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
51单片机
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
这个是单相的啊
多谢高手捧场。您可以双击此图片,就放大了。另:我又添加了个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口)。
那么这种情况,程序中是如何实现键盘扫描的呢?
还请高手详细指教。
一周热门 更多>