找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1627|回复: 6
收起左侧

为什么矩阵键盘按下按键后,会把相应单片机IO口电平拉低,原理是什么?

[复制链接]
ID:1049231 发表于 2022-10-26 12:14 | 显示全部楼层 |阅读模式
有个问题突然想到的,就是为什么矩阵键盘按下按键后,会把相应单片机IO口电平拉低,这其中的原理有大佬懂吗
回复

使用道具 举报

ID:883242 发表于 2022-10-26 14:47 | 显示全部楼层
矩阵键盘分行和列,一个输出一个输入,假设行输出,列输入,那么扫描到某一行,该行低电平其他行高电平,某列的按键被按下当然就是低电平了。
回复

使用道具 举报

ID:1049231 发表于 2022-10-26 16:25 | 显示全部楼层
Hephaestus 发表于 2022-10-26 14:47
矩阵键盘分行和列,一个输出一个输入,假设行输出,列输入,那么扫描到某一行,该行低电平其他行高电平,某 ...

我的意思就是为什么按下去 按键一行就会变成低电平。
回复

使用道具 举报

ID:195496 发表于 2022-10-27 09:27 | 显示全部楼层
行列键盘原理你看一下,是置列0,读行,,先置行,读列也行,
回复

使用道具 举报

ID:161164 发表于 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)
回复

使用道具 举报

ID:195496 发表于 2022-10-27 09:50 | 显示全部楼层
按键的一行是用的一条单条机口线,当扫描到这时里,一定是有一列是置0,读行线,只要有一个键按下,那这个键所在的行线要变低,单片机读到是低
回复

使用道具 举报

ID:1049231 发表于 2022-10-27 11:31 | 显示全部楼层
lkc8210 发表于 2022-10-27 09:39
那就要了解一下传统51单片机的准双向IO结构
准双向IO置1时是弱上拉,只能输出很小的电流(150~270uA)
准 ...

谢谢 这下明白了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表