曙海教育集团论坛单片机专区单片机高级 → 回复帖子

  回复帖子
用户名:   *您没有注册?
密码:   *忘记论坛密码?    标题采用“回复:XXX....”
主题标题:  *不得超过 200 个汉字
当前心情
上一页 发帖表情 下一页
内容
高级设置: 签名: 回帖通知:
 

主题新回顾(发布时间:2010-12-8 10:42:41)
--  作者:wangxinxin
--  关于对51单片机端口上拉电阻的讨论

前一段时间,看到实验室有个学弟设计了一个电路,其中还有一个键盘电路,取其原理是这样子的:

图片点击可在新窗口打开查看

        据这位师弟的意思是:在没有按下按键的时候,端口上是低电平,按下按键的时候端口上接上了高电平.

         事实上,电路是不工作的.

        问题比较多:

       首先,将电源直接接到端口上是绝对不可以的.当按下按键的时候,会有很大的电流进入单片机.在工程上,这种往往应该加限流电阻的.一般选择1K的就可以.如果选择太大的电阻也不好,因为电阻上面压降太大,造成输入比应有的高电平低,造成错误.

      其次,就算加了限流,这个电路也是不能工作的.检查AT89C51的DataSheet就会发现.技术手册中说:P0口是没有上拉电阻的端口;P1,P2,P3口带有上拉电阻.问题就出在这里,什么是上拉电阻,来看看图:

图片点击可在新窗口打开查看

上面这个图,是红外线接收的电路图,看上面的这个电阻,就是上拉电阻.我们可以试图理解一下51单片机P2口的这个上拉电阻为这种形式:

图片点击可在新窗口打开查看

其中的R就是上拉电阻.如果像我的那个师弟那样设计电路,电路就成了以下这种形式了:

图片点击可在新窗口打开查看

看,从这个电路上,我们可以清晰的看出,不管你按键是否按下,IO端口上都是高电平.问题就在这里,我让我的这个师弟测测IO端口的电平在按下按键前后的变化,结果果然不出所料:不管他是否按下按键,都是高电平!!

        从这里我们可以看出:DataSheet还是有用的,在设计的时候,有很多细节,需要注意,否则,可能功亏一篑.