以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- 单片机初中级 (http://sun4.cn/bbs/list.asp?boardid=55) ---- 关于对51单片机端口上拉电阻的讨论 (http://sun4.cn/bbs/dispbbs.asp?boardid=55&id=2203) |
-- 作者:wangxinxin -- 发布时间:2010-12-7 13:54:23 -- 关于对51单片机端口上拉电阻的讨论 前一段时间,看到实验室有个学弟设计了一个电路,其中还有一个键盘电路,取其原理是这样子的: 据这位师弟的意思是:在没有按下按键的时候,端口上是低电平,按下按键的时候端口上接上了高电平. 事实上,电路是不工作的. 问题比较多: 首先,将电源直接接到端口上是绝对不可以的.当按下按键的时候,会有很大的电流进入单片机.在工程上,这种往往应该加限流电阻的.一般选择1K的就可以.如果选择太大的电阻也不好,因为电阻上面压降太大,造成输入比应有的高电平低,造成错误. 其次,就算加了限流,这个电路也是不能工作的.检查AT89C51的DataSheet就会发现.技术手册中说:P0口是没有上拉电阻的端口;P1,P2,P3口带有上拉电阻.问题就出在这里,什么是上拉电阻,来看看图: 上面这个图,是红外线接收的电路图,看上面的这个电阻,就是上拉电阻.我们可以试图理解一下51单片机P2口的这个上拉电阻为这种形式: 其中的R就是上拉电阻.如果像我的那个师弟那样设计电路,电路就成了以下这种形式了: 看,从这个电路上,我们可以清晰的看出,不管你按键是否按下,IO端口上都是高电平.问题就在这里,我让我的这个师弟测测IO端口的电平在按下按键前后的变化,结果果然不出所料:不管他是否按下按键,都是高电平!! 从这里我们可以看出:DataSheet还是有用的,在设计的时候,有很多细节,需要注意,否则,可能功亏一篑. |