單片機、P0口、上拉電阻
1.一般51單片機的P0口在作為地址/數據復用時(shí)不接上拉電阻。 2.作為一般的I/O口時(shí)用時(shí),由于內部沒(méi)有上拉電阻,故要接上上拉電阻??!3.當p0口用來(lái)驅動(dòng)PNP管子的時(shí)候,就不需要上拉電阻,因為此時(shí)的低電平有效;4.當P0口用來(lái)驅動(dòng)NPN管子的時(shí)候,就需要上拉電阻的,因為此時(shí)只有當P0為1時(shí)候,才能夠使后級端導通。簡(jiǎn)單一點(diǎn)說(shuō)就是它要驅動(dòng)LCD顯示屏顯示就必須要有電源驅動(dòng),否則亮不了,而恰好P0口沒(méi)有電源,所以就要外接電源,接上電阻是起到限流的作用;如果接P1、P2、P3端口就不用外接電源和電阻了。
P0口是開(kāi)漏的,不管它的驅動(dòng)能力多大,相當于它是沒(méi)有電源的,需要外部的電路提供,絕大多數情況下P0口是必需加上拉電阻的
51單片機的P0口用作數據和地址總線(xiàn)時(shí)不必加上拉電阻。
多數網(wǎng)友認為:
本文引用地址:http://dyxdggzs.com/article/201611/318345.htm1、P0口作為普通I/O輸入口時(shí),需要外接上拉電阻
2、若外電路可提供高電平,則P0口是否外接上拉電阻沒(méi)什么影響
我在想,若外電路可提供高電平,則對輸入的高電平應該是沒(méi)影響。
但——是,
要知道,有些IC的驅動(dòng)能力并不強,如果P0口作為輸入而加了不必要的上拉,有可能驅動(dòng)IC無(wú)法將其拉回到低電平,從而使輸入失??!
如果是驅動(dòng)led,那么用1K左右的就行了。如果希望亮度大一些,電阻可減小,最小不要小
于200歐姆,否則電流太大;如果希望亮度小一些,電阻可增大,增加到多少呢,主要看亮度情
況,以亮度合適為準,一般來(lái)說(shuō)超過(guò)3K以上時(shí),亮度就很弱了,但是對于超高亮度的LED,有時(shí)候
電阻為10K時(shí)覺(jué)得亮度還能夠用。通常就用1k的。
況是一樣的;如果是低電位有效,即耦合器輸入端接端口和VCC之間,那么除了要串接一個(gè)1——
4.7k之間的電阻以外,同時(shí)上拉電阻的阻值就可以用的特別大,用100k——500K之間的都行,當
然用10K的也可以,但是考慮到省電問(wèn)題,沒(méi)有必要用那么小的。
對于驅動(dòng)晶體管,又分為PNP和NPN管兩種情況:對于NPN,毫無(wú)疑問(wèn)NPN管是高電平有效的,
因此上拉電阻的阻值用2K——20K之間的,具體的大小還要看晶體管的集電極接的是什么負載,對
于LED類(lèi)負載,由于發(fā)管電流很小,因此上拉電阻的阻值可以用20k的,但是對于管子的集電極為
繼電器負載時(shí),由于集電極電流大,因此上拉電阻的阻值最好不要大于4.7K,有時(shí)候甚至用2K
的。對于PNP管,毫無(wú)疑問(wèn)PNP管是低電平有效的,因此上拉電阻的阻值用100K以上的就行了,且
管子的基極必須串接一個(gè)1——10K的電阻,阻值的大小要看管子集電極的負載是什么,對于LED類(lèi)
負載,由于發(fā)光電流很小,因此基極串接的電阻的阻值可以用20k的,但是對于管子的集電極為繼
電器負載時(shí),由于集電極電流大,因此基極電阻的阻值最好不要大于4.7K。
對于驅動(dòng)TTL集成電路,上拉電阻的阻值要用1——10K之間的,有時(shí)候電阻太大的話(huà)是拉不
起來(lái)的,因此用的阻值較小。但是對于CMOS集成電路,上拉電阻的阻值就可以用的很大,一般不
小于20K,我通常用100K的,實(shí)際上對于CMOS電路,上拉電阻的阻值用1M的也是可以的,但是要注
意上拉電阻的阻值太大的時(shí)候,容易產(chǎn)生干擾,尤其是線(xiàn)路板的線(xiàn)條很長(cháng)的時(shí)候,這種干擾更嚴
重,這種情況下上拉電阻不宜過(guò)大,一般要小于100K,有時(shí)候甚至小于10K。
根據以上分析,上拉電阻的阻值的選取是有很多講究的,不能亂用。
評論