登录|立即注册|使用QQ帐号登录
论坛 > 24小时必答区
发帖|
看8156|回8|收藏
楼主 ID:329253 只看他
2018-5-15 08:39
悬赏 3 黑币 未解决
想问问,就是我知道单片机的IO口需要接上拉电阻,但是为什么P1P2P3口要在内部接,而P1口要在外部接呀?还有一个问题就是,P0口接了上拉电阻以后,还需要控制他用不用上拉电阻吗?比如三极管,我有点蒙,不明白,希望看到的人可以仔细讲一下,谢谢
沙发 ID:164602 只看他
2018-5-15 10:05
第一:你的问题,只局限于低端的51单片机,如STC89C51RC系列,高端的51单片机,如STC15系列,就没有你说的问题了。
第二:芯片手册告诉我们,低端51单片机I/O口有两种工作类型:一类为准双向口/弱上拉,另一类为开漏输出。
正常情况下,51单片机上电复位后,P0为开漏输出,P1P2P3为准双向口。所以,当P0口作为总线扩展使用时,是不需要接上拉电阻的,只有要把它作为一般I/O口时,才需要接4.7K~10K上拉电阻。
第三:上拉电阻的作用,主要是控制电平,而不是功率什么的,所以不需要三极管
第四:至于为什么是内部接或外部接,这跟工程师和想法或应用需要有关吧。总线扩展常见,所以留了一个口,但使用又不是很多,所以只留一个口。有些管脚少的单片机,就没有这个P0口。
板凳 ID:330198 只看他
2018-5-15 10:32
因为P0口的特殊结构是漏级开路输出,也就是输出电流很小,如不加上拉电阻就不能输出高电平。其他口在内部已经加了上拉电阻所以不用。总结一下,一般情况下,P0口必须加上拉。不要直接用51单片机带负载,要加隔离器件,比如三极管,光耦。
地板 ID:315554 只看他
2018-5-15 10:42
我试过,PO接上拉电阻,接共阴数码管,亮度不好,共阴还用8050下拉(增强电流)到地,亮度就可以了;
5# ID:164602 只看他
2018-5-15 12:38

引用:

ak333 发表于 2018-5-15 10:42
我试过,PO接上拉电阻,接共阴数码管,亮度不好,共阴还用8050下拉(增强电流)到地,亮度就可以了;

单片机总的来说,都是灌入电流大,输出电流小。
6# ID:329253 只看他
2018-5-15 14:30
谢谢你们
7# ID:389283 只看他
2018-8-31 08:40
51单片机的P0口水开漏结构,如果你要使用它的功能,例如输出高/低,就要使用外部上拉
8# ID:391935 只看他
2018-8-31 11:35
1. P1、P2、P3不需要上拉电阻,片内已有。
2. P0口作为扩展总线的数据/地址复用线时,也不需要上拉电阻,这种情况下,P0口内部是两个MOS管推拉输出,可以同时驱动8个TTL电路。
3. P0口作为普通I/O口使用时,由于上面的MOS管截止,只有下面一个管子工作,处于开漏状态,此时需要外接上拉电阻,才能输出高电平。
9# ID:391951 只看他
2018-8-31 12:25
#在这里快速回复#由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。 1.一般51单片机的P0口在作为地址/数据复用时不接上拉电阻。 2.作为一般的I/O口时用时,由于内部没有上拉电阻,故要接上上拉电阻!! 3.当p0口用来驱动PNP管子的时候,就不需要上拉电阻,因为此时的低电平有效; 4.当P0口用来驱动NPN管子的时候,就需要上拉电阻的,因为此时只有当P0为1时候,才能够使后级端导通。 简单一点说就是它要驱动LCD显示屏显示就必须要有电源驱动,否则亮不了,而恰好P0口没有电源,所以就要外接电源,接上电阻是起到限流的作用;如果接P1、P2、P3端口就不用外接电源和电阻了。

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版