打印

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

[复制链接]
2499|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
无聊小子|  楼主 | 2009-5-10 14:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟在C51单片机书上看到:
P0口是漏极开路双向I/O口
P1口是带内部上拉电阻双向I/O口

请问大侠两个口有什么区别??如果同样要控制一个LED发光有什么区别??怎么样控制??

相关帖子

沙发
七月-》五| | 2009-5-10 14:59 | 只看该作者

我也是初学

我也不知道。

初学者先不要管那么多,会阻碍前进的,一开始多试验,以后再细想这些。

使用特权

评论回复
板凳
无聊小子|  楼主 | 2009-5-10 15:34 | 只看该作者

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

小弟知道要多做试验。但小弟想焊一个电路。最好理论上全明白的。这样更容易保证电路一次就成功。。有那位大侠能告诉小弟啊。。。。呜

使用特权

评论回复
地板
lyjian| | 2009-5-10 15:39 | 只看该作者

驱动LED的话区别不大

使用特权

评论回复
5
ajian4040214| | 2009-5-10 17:50 | 只看该作者

我也是初学者

P0口是漏极开路,内部不带上拉电阻,所以驱动LED时要外接上拉电阻

使用特权

评论回复
6
kingshen| | 2009-5-10 18:14 | 只看该作者

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

做通讯接口用时要接上拉电阻,是漏极开路特性决定的,用低电平驱动LED没区别。

使用特权

评论回复
7
ecomputer| | 2009-5-10 19:58 | 只看该作者

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

使用特权

评论回复
8
九浩| | 2009-5-13 10:32 | 只看该作者

有点区别:

P0口----双向8位三态I/O口,51内没上拉电阻,为高阻态,所以不能正常输出高/低电平,使用时需外接上拉电阻,一般接10K的。

P1口---准双向8位I/O口,内带上拉电阻,没高阻态。“准双向”意思是:做输入时,要先向该口进行写1操作,然后单片机内部才可正确读出外部信号,也就是要使其有个准备的过程。做输出使用时,直接使用即可。

要控制一个LED发光,也就是做输出使用,所以用P0口,需外接上拉电阻。
用P1口,直接用即可!

使用特权

评论回复
9
lyjian| | 2009-5-13 13:03 | 只看该作者

楼上不要被教科书害了

要控制一个LED发光,也就是做输出使用,所以用P0口,不需要外接上拉电阻。
只需要用低电平输出控制LED亮就行了。

使用特权

评论回复
10
九浩| | 2009-5-13 20:56 | 只看该作者

谢谢9楼兄提醒!

小弟仔细看了一遍书,P0口只有驱动 NMOS 或其他拉电流负载时,才需外接上拉电阻!谢谢9楼兄提醒!

使用特权

评论回复
11
NE5532| | 2009-5-13 21:33 | 只看该作者

P0口加上拉能驱动LED吗?

不要被教科书害了。P1口不加上拉电阻能驱动LED吗?也不要被教科书害了!

使用特权

评论回复
12
九浩| | 2009-5-14 10:51 | 只看该作者

回楼上NE5532大哥:

 NE5532大哥:
回去后,我仔细琢磨了一下你说的话,又问了一下我的老师,老师说:P0口最好还是加上拉电阻,但依情况而定,LED一端接地,另一端接P0口,P0口接电源,若要使LED亮则P0口得接上拉电阻。但LED一端已接电源,另一端接P0口,则不需要接上拉电阻,直接控制P0口输出低电平,就可实现。
而P1口驱动LED,跟LED的电压、电流有关,依情况而定,再考虑是否加上拉电阻和限流电阻。
不知我理解的是否正确,请NE5532大哥指教!

使用特权

评论回复
13
九浩| | 2009-5-14 17:10 | 只看该作者

顶起!

使用特权

评论回复
14
NE5532| | 2009-5-14 21:04 | 只看该作者

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

先来说51的带载能力,P0口做IO时候是开漏,只有吸入能力,没有源出电流能力,吸入能力只有3.2mA,一般要把LED点亮,需要10mA左右的电流(电流再小,会影响视觉效果),所以即使你用上拉电阻把电流调到10mA左右,用P0端关断的时候,端口也吸收不了这么大的电流,会造成LED关不断。


再来说P1端,源出电流只有800uA,能点亮LED吗?

再倒过来说,51端口的吸入能力强于源出能力,就是要直接接LED,也是LED接Vcc,用口线做吸入电流控制啊。

综上:你和你老师(可能是你没给他说清楚你要干什么)对硬件设计不熟,硬件要讲工作条件。

注:图中参数取自Atmel AT89S51

使用特权

评论回复
15
九浩| | 2009-5-15 08:09 | 只看该作者

再次感谢大家!

再次向 NE5532大哥以及帮助过我的朋友表示感谢!困扰我几天的疑团终于解决了,再次感谢大家!

使用特权

评论回复
16
lyjian| | 2009-5-15 09:02 | 只看该作者

对于静态驱动的LED

只需要2~3mA左右的电流足够亮了,根本不需要什么10mA。
没有谁会用10mA静态驱动LED的。

使用特权

评论回复
17
NE5532| | 2009-5-15 11:33 | 只看该作者

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

使用特权

评论回复
18
aoyun730| | 2009-5-16 09:45 | 只看该作者

学习下

使用特权

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

本版积分规则

4

主题

10

帖子

0

粉丝