标题: 为什么矩阵键盘按下按键后,会把相应单片机IO口电平拉低,原理是什么? [打印本页]

作者: 坚持下去    时间: 2022-10-26 12:14
标题: 为什么矩阵键盘按下按键后,会把相应单片机IO口电平拉低,原理是什么?
有个问题突然想到的,就是为什么矩阵键盘按下按键后,会把相应单片机IO口电平拉低,这其中的原理有大佬懂吗

作者: Hephaestus    时间: 2022-10-26 14:47
矩阵键盘分行和列,一个输出一个输入,假设行输出,列输入,那么扫描到某一行,该行低电平其他行高电平,某列的按键被按下当然就是低电平了。
作者: 坚持下去    时间: 2022-10-26 16:25
Hephaestus 发表于 2022-10-26 14:47
矩阵键盘分行和列,一个输出一个输入,假设行输出,列输入,那么扫描到某一行,该行低电平其他行高电平,某 ...

我的意思就是为什么按下去 按键一行就会变成低电平。
作者: 大漠落日    时间: 2022-10-27 09:27
行列键盘原理你看一下,是置列0,读行,,先置行,读列也行,
作者: lkc8210    时间: 2022-10-27 09:39
坚持下去 发表于 2022-10-26 16:25
我的意思就是为什么按下去 按键一行就会变成低电平。

那就要了解一下传统51单片机的准双向IO结构
准双向IO置1时是弱上拉,只能输出很小的电流(150~270uA)
准双向IO置0时是开漏,能接受比较大的电流(6~20mA)
所以当IO(P10)置0,而IO(P14)置1时(P1 => 0xF0)
如果他们之间的按键被按下(短路)
P14就会被拉低(P1 => 0xE0)

作者: 大漠落日    时间: 2022-10-27 09:50
按键的一行是用的一条单条机口线,当扫描到这时里,一定是有一列是置0,读行线,只要有一个键按下,那这个键所在的行线要变低,单片机读到是低
作者: 坚持下去    时间: 2022-10-27 11:31
lkc8210 发表于 2022-10-27 09:39
那就要了解一下传统51单片机的准双向IO结构
准双向IO置1时是弱上拉,只能输出很小的电流(150~270uA)
准 ...

谢谢 这下明白了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1