小弟请教一个C51单片机I/O口的问题

[复制链接]
 楼主| 无聊小子 发表于 2009-5-10 14:14 | 显示全部楼层 |阅读模式
小弟在C51单片机书上看到:<br />P0口是漏极开路双向I/O口<br />P1口是带内部上拉电阻双向I/O口<br /><br />请问大侠两个口有什么区别??如果同样要控制一个LED发光有什么区别??怎么样控制??
七月-》五 发表于 2009-5-10 14:59 | 显示全部楼层

我也是初学

我也不知道。<br /><br />初学者先不要管那么多,会阻碍前进的,一开始多试验,以后再细想这些。
 楼主| 无聊小子 发表于 2009-5-10 15:34 | 显示全部楼层

有那位大侠能告诉小弟啊。。。。

小弟知道要多做试验。但小弟想焊一个电路。最好理论上全明白的。这样更容易保证电路一次就成功。。有那位大侠能告诉小弟啊。。。。呜
lyjian 发表于 2009-5-10 15:39 | 显示全部楼层

驱动LED的话区别不大

  
ajian4040214 发表于 2009-5-10 17:50 | 显示全部楼层

我也是初学者

P0口是漏极开路,内部不带上拉电阻,所以驱动LED时要外接上拉电阻<br />
kingshen 发表于 2009-5-10 18:14 | 显示全部楼层

做通讯接口用时要接上拉电阻

做通讯接口用时要接上拉电阻,是漏极开路特性决定的,用低电平驱动LED没区别。
ecomputer 发表于 2009-5-10 19:58 | 显示全部楼层

可以参见数字电路的书,书上很明白

  
九浩 发表于 2009-5-13 10:32 | 显示全部楼层

有点区别:

P0口----双向8位三态I/O口,51内没上拉电阻,为高阻态,所以不能正常输出高/低电平,使用时需外接上拉电阻,一般接10K的。<br /><br />P1口---准双向8位I/O口,内带上拉电阻,没高阻态。“准双向”意思是:做输入时,要先向该口进行写1操作,然后单片机内部才可正确读出外部信号,也就是要使其有个准备的过程。做输出使用时,直接使用即可。<br /><br />要控制一个LED发光,也就是做输出使用,所以用P0口,需外接上拉电阻。<br />用P1口,直接用即可!
lyjian 发表于 2009-5-13 13:03 | 显示全部楼层

楼上不要被教科书害了

要控制一个LED发光,也就是做输出使用,所以用P0口,不需要外接上拉电阻。<br />只需要用低电平输出控制LED亮就行了。<br />
九浩 发表于 2009-5-13 20:56 | 显示全部楼层

谢谢9楼兄提醒!

小弟仔细看了一遍书,P0口只有驱动&nbsp;NMOS&nbsp;或其他拉电流负载时,才需外接上拉电阻!谢谢9楼兄提醒!
NE5532 发表于 2009-5-13 21:33 | 显示全部楼层

P0口加上拉能驱动LED吗?

不要被教科书害了。P1口不加上拉电阻能驱动LED吗?也不要被教科书害了!
九浩 发表于 2009-5-14 10:51 | 显示全部楼层

回楼上NE5532大哥:

&nbsp;NE5532大哥:<br />回去后,我仔细琢磨了一下你说的话,又问了一下我的老师,老师说:P0口最好还是加上拉电阻,但依情况而定,LED一端接地,另一端接P0口,P0口接电源,若要使LED亮则P0口得接上拉电阻。但LED一端已接电源,另一端接P0口,则不需要接上拉电阻,直接控制P0口输出低电平,就可实现。<br />而P1口驱动LED,跟LED的电压、电流有关,依情况而定,再考虑是否加上拉电阻和限流电阻。<br />不知我理解的是否正确,请NE5532大哥指教!
九浩 发表于 2009-5-14 17:10 | 显示全部楼层

顶起!

  
NE5532 发表于 2009-5-14 21:04 | 显示全部楼层

看来你被教科书和老师一起害了。

先来说51的带载能力,P0口做IO时候是开漏,只有吸入能力,没有源出电流能力,吸入能力只有3.2mA,一般要把LED点亮,需要10mA左右的电流(电流再小,会影响视觉效果),所以即使你用上拉电阻把电流调到10mA左右,用P0端关断的时候,端口也吸收不了这么大的电流,会造成LED关不断。<br /><br /><br />再来说P1端,源出电流只有800uA,能点亮LED吗?<br /><br />再倒过来说,51端口的吸入能力强于源出能力,就是要直接接LED,也是LED接Vcc,用口线做吸入电流控制啊。<br /><br />综上:你和你老师(可能是你没给他说清楚你要干什么)对硬件设计不熟,硬件要讲工作条件。<br /><br />注:图中参数取自Atmel&nbsp;AT89S51
九浩 发表于 2009-5-15 08:09 | 显示全部楼层

再次感谢大家!

再次向&nbsp;NE5532大哥以及帮助过我的朋友表示感谢!困扰我几天的疑团终于解决了,再次感谢大家!
lyjian 发表于 2009-5-15 09:02 | 显示全部楼层

对于静态驱动的LED

只需要2~3mA左右的电流足够亮了,根本不需要什么10mA。<br />没有谁会用10mA静态驱动LED的。
NE5532 发表于 2009-5-15 11:33 | 显示全部楼层

超高亮的2、3mA可以比较满意。

  
aoyun730 发表于 2009-5-16 09:45 | 显示全部楼层

学习下

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

本版积分规则

4

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

4

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部