提到51單片機(jī)的IO引腳,很多人就會(huì)聯(lián)想到上拉電阻。在單片機(jī)的相關(guān)問(wèn)題中,很多問(wèn)題同樣與上拉電阻的息息相關(guān),在本文中,小編將為大家介紹51單片機(jī)中IO引腳與上拉電阻與拉電流負(fù)載對(duì)電路造成的不良影響。
在單片機(jī)輸出低電平時(shí),將允許外部器件,向單片機(jī)引腳內(nèi)灌入電流,這個(gè)電流稱為“灌電流”,外部電路稱為“灌電流負(fù)載”。單片機(jī)輸出高電平時(shí),則允許外部器件從單片機(jī)的引腳拉出電流,這個(gè)電流稱為“拉電流”,外部電路稱為“拉電流負(fù)載”。
那么這些電流一般是多少?最大限度是多少?
早期的51系列單片機(jī)的帶負(fù)載能力,是很小的,僅僅用“能帶動(dòng)多少個(gè)TTL輸入端”來(lái)說(shuō)明的。P1、P2和P3口,每個(gè)引腳可以都帶動(dòng)3個(gè)TTL輸入端,只有P0口的能力強(qiáng),它可以帶動(dòng)8個(gè)。分析一下TTL的輸入特性就可以發(fā)現(xiàn),51單片機(jī)基本上就沒(méi)有什么驅(qū)動(dòng)能力。它的引腳甚至不能帶動(dòng)當(dāng)時(shí)的LED進(jìn)行 正常發(fā)光。
圖1
圖1中的D1、D2就可以不經(jīng)其它驅(qū)動(dòng)器件,直接由單片機(jī)的引腳控制發(fā)光顯示。雖然引腳已經(jīng)可以直接驅(qū)動(dòng)LED發(fā)光,但還是看看AT89C51單片機(jī)引腳的輸出能力吧。
從AT89C51單片機(jī)的PDF手冊(cè)文件中可以看到,穩(wěn)態(tài)輸出時(shí),“灌電流”的上限為:
MaximumIOLper8-bitport:Port0:26mA,Ports1、2、3:15mA;
MaximumtotalIforalloutputpins:71mA.
這里也就是說(shuō)每個(gè)單個(gè)的引腳,輸出低電平的時(shí)候,允許外部電路,向引腳灌入的最大電流為10mA。每個(gè)8位的接口(P1、P2以及P3),允許向引腳灌入的總電流最大為15mA,而P0的能力強(qiáng)一些,允許向引腳灌入的最大總電流為26mA。
全部的四個(gè)接口所允許的灌電流之和,最大為71mA。而當(dāng)這些引腳“輸出高電平”的時(shí)候,單片機(jī)的“拉電流”能力呢?結(jié)果竟然不到1mA。
結(jié)論就是:?jiǎn)纹瑱C(jī)輸出低電平的時(shí)候,驅(qū)動(dòng)能力尚可,而輸出高電平的時(shí)候,就沒(méi)有輸出電流的能力。
由于芯片的內(nèi)部引腳和地之間三極管的存在,所以引腳具有下拉的能力,輸出低電平的時(shí)候,允許灌入10mA的電流。而引腳和正電源之間,有個(gè)幾百K的“內(nèi)部上拉電阻”,所以引腳在高電平的時(shí)候,能夠輸出的拉電流很小。特別是P0口,其內(nèi)部根本就沒(méi)有上拉電阻,所以P0口根本就沒(méi)有高電平輸出電流的能力。
圖1中的D1,是接在正電源和引腳之間的,這就屬于灌電流負(fù)載,D1在單片機(jī)輸出低電平的時(shí)候發(fā)光。這個(gè)發(fā)光的電流,可以用電阻控制在10mA之內(nèi)。D2是接在引腳和地之間的,這屬于拉電流負(fù)載,D2應(yīng)該在單片機(jī)輸出高電平的時(shí)候發(fā)光。但是單片機(jī)此時(shí)幾乎沒(méi)有輸出能力,必須采用外接“上拉電阻”的方法來(lái)提供D2所需的電流。
外接電路如果是“拉電流負(fù)載”,要求單片機(jī)輸出高電平時(shí)發(fā)揮作用,那就必須用“上拉電阻”來(lái)協(xié)助,產(chǎn)生負(fù)載所需的電流。
上拉電阻存在的問(wèn)題
圖1中可以看到,D2發(fā)光是由上拉電阻R2提供的電流,D2導(dǎo)通發(fā)光的電壓約為2V,那么發(fā)光的電流就是(5-2)/1K,約為3mA。
而當(dāng)單片機(jī)輸出低電平(0V),D2不發(fā)光的時(shí)候,R2上拉電阻兩端的電壓,比LED發(fā)光的時(shí)候還高,達(dá)到了5V,其中的電流是5mA。LED不發(fā)光的時(shí)候,上拉電阻給出了更大的電流。并且,這個(gè)大于正常發(fā)光的電流,全部灌入單片機(jī)的引腳。
如果在一個(gè)8位的接口,安裝了8個(gè)1K的上拉電阻,當(dāng)單片機(jī)都輸出低電平的時(shí)候,就有40mA的電流灌入這個(gè)8位的接口。如果四個(gè)8位接口,都加上1K的上拉電阻,最大有可能出現(xiàn)32×5=160mA的電流,都流入到單片機(jī)中。這個(gè)數(shù)值已經(jīng)超過(guò)了單片機(jī)手冊(cè)上給出的上限。如果此時(shí)單片機(jī)工作不穩(wěn)定,就是理所當(dāng)然的了。
從以上的文章中可以看到,在單片機(jī)IO驅(qū)動(dòng)能力上,還是采用灌電流的模式比較合理,而拉電流負(fù)載和上拉電阻會(huì)造成電路中產(chǎn)生無(wú)效的電流。本文通過(guò)多方面的分析與論證幫助大家對(duì)理清上拉電阻在單片機(jī)電路中某些應(yīng)用的弊端。
-
上拉電阻
+關(guān)注
關(guān)注
5文章
360瀏覽量
30622 -
引腳
+關(guān)注
關(guān)注
16文章
1196瀏覽量
50498
原文標(biāo)題:IO引腳中采用上拉電阻搭配拉電流負(fù)載錯(cuò)在哪?
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論