问个弱智的问题,按键扫描的。

[复制链接]
2542|2
 楼主| zhaogongzuo 发表于 2010-5-25 19:52 | 显示全部楼层 |阅读模式
本帖最后由 zhaogongzuo 于 2010-5-25 19:53 编辑

AT89S52芯片

假设有个矩阵2*1的,P2.2和P2.1各接一个按键K2,K1,有上拉。

P2.2和P2.1作输出口,P2.3作输入口。

键盘扫描程序:P2.3 初始化 =0
让P2.2 = 1,P2.1 = 0;如果扫描到P2.3=1,则说明K2按下
让P2.2 = 0,P2.1 = 1;如果扫描到P2.3=1,则说明K1按下

让P2.2 = 1,P2.1 = 0;K2和K1同时按下,问扫描P2.3 = 高还是低电平?

请说说你的结果和理由,30号给分,只给一个人,20分,嘿嘿~~~
jerkoh 发表于 2010-5-25 20:32 | 显示全部楼层
本帖最后由 jerkoh 于 2010-5-25 20:35 编辑

P2.3 初始化 =0 后如果不是程序 再配置 P2.3=1

外部电压变高 变低是没用的 还是一直0

应该键盘扫描程序:P2.3 初始化 =1
让P2.2 = 1,P2.1 = 0;如果扫描到P2.3=0,则说明k1按下
让P2.2 = 0,P2.1 = 1;如果扫描到P2.3=0,则说明K2按下

让P2.2 = 1,P2.1 = 0;K2和K1同时按下,问扫描P2.3 = 高还是低电平? [是低 此时会发现P2.2也是低了 即双键按下了]

本帖子中包含更多资源

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

×
 楼主| zhaogongzuo 发表于 2010-5-26 13:25 | 显示全部楼层
P2.3 初始化 =0 后如果不是程序 再配置 P2.3=1

外部电压变高 变低是没用的 还是一直0

应该键盘扫描程序:P2.3 初始化 =1
让P2.2 = 1,P2.1 = 0;如果扫描到P2.3=0,则说明k1按下
让P2.2 = 0,P2.1 = 1;如果扫描到P2.3= ...
jerkoh 发表于 2010-5-25 20:32



我有点理解了,是跟端口的内部结构有关是吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

28

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部