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