打印

请问这种键盘矩阵电路可行吗

[复制链接]
2162|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一个引申问题是:读单片机悬空引脚会读到什么

4*4键盘矩阵电路,都是用P1上半口送扫描码,下半口接收。

图二的电路肯定是可行的,问题是图一的,这种设计当没有按键按下时,单片机引脚是悬空的,能保证正确识别按键吗?

读这种悬空的脚会有可能读到什么?这是我一直没弄明白的问题,好像和单片机的引脚内部电路有点关系,比如有没有内部上拉,是不是这样的? 麻烦高手指点一二。

图一




图二

相关帖子

沙发
ayb_ice| | 2010-5-8 11:17 | 只看该作者
P1内部有上拉

使用特权

评论回复
板凳
一棵小草| | 2010-5-8 13:36 | 只看该作者
假设引脚内部有上拉,那么图1和图2的意义是一样的。单片机的初始化后,读引脚会得到高电平1,如果程序中让引脚为低电平0,那么你读引脚会得到低电平0。如果程序中让引脚为高电平1,那么你读引脚会得到高电平1。

假设引脚没有上拉,即图1,我个人认为:单片机的初始化后,读引脚会得到高电平1,如果程序中让引脚为低电平0,那么你读引脚会得到低电平0。如果程序中让引脚为高电平1,因为引脚没有上拉,所以引脚的状态短时间内是低电平0,你可能会读错。

我说的过程是:读默认-》读0-》读1

使用特权

评论回复
地板
xymxym| | 2010-5-8 13:44 | 只看该作者
需要有静电保护电路

使用特权

评论回复
5
zhzy724| | 2010-5-8 18:51 | 只看该作者
对于P1口有没有上拉电阻是一样的.
读距阵键盘是要先对一行给低电平,再扫描列.
这样就能确定哪个键按下了

使用特权

评论回复
6
chfirst| | 2010-5-8 19:12 | 只看该作者
P1口内部有上拉

使用特权

评论回复
7
etiger99|  楼主 | 2010-5-8 20:45 | 只看该作者
假设引脚内部有上拉,那么图1和图2的意义是一样的。单片机的初始化后,读引脚会得到高电平1,如果程序中让引脚为低电平0,那么你读引脚会得到低电平0。如果程序中让引脚为高电平1,那么你读引脚会得到高电平1。

假 ...
一棵小草 发表于 2010-5-8 13:36



我担心的是 如果是图一 按下键后, P1上半口会有一个引脚检测到低电平,松开键后,这个引脚变悬空,能保证恢复到高电平吗?

使用特权

评论回复
8
etiger99|  楼主 | 2010-5-8 20:45 | 只看该作者
对于P1口有没有上拉电阻是一样的.
读距阵键盘是要先对一行给低电平,再扫描列.
这样就能确定哪个键按下了
zhzy724 发表于 2010-5-8 18:51



我担心的是 如果是图一 按下键后, P1上半口会有一个引脚检测到低电平,松开键后,这个引脚变悬空,能保证恢复到高电平吗

使用特权

评论回复
9
呆板书生| | 2010-5-9 07:36 | 只看该作者
2 楼已经回答得很清楚,不需要再重复

使用特权

评论回复
10
etiger99|  楼主 | 2010-5-9 08:47 | 只看该作者
是我愚笨了, 待我测试一下这个内部上拉的效果如何.

使用特权

评论回复
11
一棵小草| | 2010-5-9 15:02 | 只看该作者
我担心的是 如果是图一 按下键后, P1上半口会有一个引脚检测到低电平,松开键后,这个引脚变悬空,能保证恢复到高电平吗?
etiger99 发表于 2010-5-8 20:45


人家明明说P1口有上拉了!难道看不懂吗?

有上拉,松开按键后就能恢复高电平!如果没有上拉,松开按键后,可能过一段时间才恢复高电平。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

18

帖子

1

粉丝