打印
[51单片机]

矩阵键盘扫描

[复制链接]
843|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wings409|  楼主 | 2015-11-14 14:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
wings409|  楼主 | 2015-11-14 14:59 | 只看该作者
不好意思,单片机那部分贴图错了

MCU.bmp (77.72 KB )

MCU.bmp

使用特权

评论回复
板凳
gmm2015| | 2015-11-14 15:10 | 只看该作者
程序是一样一样的

使用特权

评论回复
地板
wings409|  楼主 | 2015-11-14 15:11 | 只看该作者
(逐行扫描)假设P1口接矩阵键盘,一般来说,先P1=0Xfe,然后读P1口电平,是否等于0Xfe,
不等于0Xfe的话就有键按下,然后switch判断第一行哪个键按下;
如果如上图,按键上加了电阻的话,这种扫描方式好像就不行了吧?初学单片机,不太懂,请大神指点

使用特权

评论回复
5
wings409|  楼主 | 2015-11-14 15:16 | 只看该作者
gmm2015 发表于 2015-11-14 15:10
程序是一样一样的

因为IO口都加了上拉电阻,在按键上加了电阻后,如果按键按下去了的话,原本为1的口好像还是会为1,不会有线与的效果吧,也就是说原本是0XFE,再读io口,好像还是会为0XFE吧

使用特权

评论回复
6
gmm2015| | 2015-11-14 15:53 | 只看该作者
不会,会变为0的。你仔细看下电路就知道了。如果不懂的话就要先学些基础的硬件知识吧。
其实不加上拉电阻的矩阵按键是应为单片机内部有上拉电阻了。

使用特权

评论回复
7
mcu5i51| | 2015-11-15 10:49 | 只看该作者
电阻是为了在多个按键时候减少冲突的,程序一样的

使用特权

评论回复
8
wings409|  楼主 | 2015-11-16 18:51 | 只看该作者
gmm2015 发表于 2015-11-14 15:53
不会,会变为0的。你仔细看下电路就知道了。如果不懂的话就要先学些基础的硬件知识吧。
其实不加上拉电阻的 ...

不好意思,其实是原理图错了,按键上的电阻不是104,而是101。
不过如果按键上电阻是100K的话,按键后确实是不能将IO口拉低为0的。
还是谢谢你:handshake

使用特权

评论回复
9
gmm2015| | 2015-11-17 21:17 | 只看该作者
wings409 发表于 2015-11-16 18:51
不好意思,其实是原理图错了,按键上的电阻不是104,而是101。
不过如果按键上电阻是100K的话,按键后确 ...

是的,没仔细看你的电阻 值。 如果是104的话,分压后是一个很大的电压值,确实会拉不低的

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
wings409 + 1 赞一个!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

44

帖子

0

粉丝