有很多朋友在學(xué)習(xí)51單片機的時候,都會對其P0口上拉電阻阻值的取值問題而頭疼。其實,P0口接不接上拉電阻,電阻值該選擇多大的都是根據(jù)不同的情況來選擇的。下面來簡單分析下如下的幾種情況:
第一種:P0口作為共陽極LED數(shù)碼管的驅(qū)動端口。這種情況下,P0口主要是以吸收電流來作為有效工作方式,不對外輸出高電平,此時,不應(yīng)接上拉,任何上拉都不要接。接多少丟多少。不僅增加成本,而且增大了工作電流。至于數(shù)碼管的鬼影問題,那是程序部分的問題,與硬件無關(guān)。
第二種:P0口作為數(shù)據(jù)傳輸接口。這種情況下,P0口需要輸出高電平,而高電平的輸出其實就是來自于上拉電阻。在數(shù)據(jù)輸出狀態(tài)下,P0口的負載都是邏輯器件,不需要大的輸入功率,那么,就可以采用電阻值較大的電阻器作為上拉電阻,電阻過小會導(dǎo)致系統(tǒng)的工作電流加大。常用的5V電壓下,其取值范圍在4.7K-47K之間。減小電阻有利于提高系統(tǒng)的抗干擾能力,但是會增大系統(tǒng)的功耗,尤其是上拉電阻較多的情況下此現(xiàn)象會更加明顯。
第三種:P0口作為控制接口。這種情況下,P0口需要輸出高電平或者低電平作為有效控制信號。如果需要輸出高電平作為有效信號,加之一般控制的器件是NPN的三極管,那么,其上拉電阻的取值范圍多在470-4.7K之間,取值越小,三極管導(dǎo)通程度越大,三極管本身的損耗就會越小,但是對單片機本身的考驗就會越大。取值越大,則單片機負擔(dān)越小,則三極管的導(dǎo)通程度就會越小,導(dǎo)致三極管本身的損耗加大,甚至?xí)鲩_關(guān)狀態(tài)轉(zhuǎn)至放大狀態(tài)。如果需要控制的三極管功率過大,那么需要在控制電路中間加一級隔離放大。
如果單片機的P0口需要輸出低電平作為有效控制信號,那么,其上拉電阻的作為就不是用來輸出高電平了,而是為了給PNP型被控器件提供一個防止意外導(dǎo)通的電壓,此舉可以提高抗干擾能力,提高可靠性。那么,其電阻的阻值取值范圍多在4.7-47之間。同樣的,阻值越大,單片機負擔(dān)越小,抗干擾能力越小,阻值越小,單片機負擔(dān)越大,抗干擾能力越大。
就博主設(shè)計的很多電子電路來說,常用的電阻阻值主要集中在470歐姆的LED數(shù)碼管限流電阻,1K的三極管驅(qū)動電阻,4.7K的信號上拉電阻這幾種。其他的電阻則主要用在模擬電路部分。數(shù)字電路對電阻值的挑剔性遠小于模擬電路,所以也有很多朋友對模擬電路感到頭疼。