怎么解決引腳單片機(jī)的上拉電阻問題?
單片機(jī)的引腳,可以用程序來控制,輸出高、低電平,這些可算是單片機(jī)的輸出電壓。但是,程序控制不了單片機(jī)的輸出電流。單片機(jī)的輸出電流,很大程度上是取決于引腳上的外接器件。
本文引用地址:http://cafeforensic.com/article/226914.htm單片機(jī)輸出低電平時(shí),將允許外部器件,向單片機(jī)引腳內(nèi)灌入電流,這個(gè)電流,稱為“灌電流”,外部電路稱為“灌電流負(fù)載”;單片機(jī)輸出高電平時(shí),則允許外部器件,從單片機(jī)的引腳,拉出電流,這個(gè)電流,稱為“拉電流”,外部電路稱為“拉電流負(fù)載”。
這些電流一般是多少?最大限度是多少?這就是常見的單片機(jī)輸出驅(qū)動(dòng)能力的問題。
早期的 51 系列單片機(jī)的帶負(fù)載能力,是很小的,僅僅用“能帶動(dòng)多少個(gè) TTL 輸入端”來說明的。P1、P2 和 P3口,每個(gè)引腳可以都帶動(dòng) 3 個(gè) TTL 輸入端,只有 P0 口的能力強(qiáng),它可以帶動(dòng) 8 個(gè)!
分析一下 TTL 的輸入特性,就可以發(fā)現(xiàn),51單片機(jī)基本上就沒有什么驅(qū)動(dòng)能力。它的引腳,甚至不能帶動(dòng)當(dāng)時(shí)的 LED 進(jìn)行正常發(fā)光。記得是在 AT89C51 單片機(jī)流行起來之后,做而論道才發(fā)現(xiàn):單片機(jī)引腳的能力大為增強(qiáng),可以直接帶動(dòng) LED 發(fā)光了。
從 AT89C51 單片機(jī)的 PDF 手冊文件中可以看到,穩(wěn)態(tài)輸出時(shí),“灌電流”的上限為:
Maximum IOL per port pin: 10 mA;
Maximum IOL per 8-bit port
ort 0: 26 mA,Ports 1, 2, 3: 15 mA;
Maximum total I for all output pins: 71 mA.
這里是說:
每個(gè)單個(gè)的引腳,輸出低電平的時(shí)候,允許外部電路,向引腳灌入的最大電流為 10 mA;每個(gè) 8 位的接口(P1、P2 以及 P3),允許向引腳灌入的總電流最大為 15 mA,而 P0 的能力強(qiáng)一些,允許向引腳灌入的最大總電流為 26 mA;全部的四個(gè)接口所允許的灌電流之和,最大為 71 mA。
而當(dāng)這些引腳“輸出高電平”的時(shí)候,單片機(jī)的“拉電流”能力呢?可以說是太差了,竟然不到 1 mA。
結(jié)論就是:單片機(jī)輸出低電平的時(shí)候,驅(qū)動(dòng)能力尚可,而輸出高電平的時(shí)候,就沒有輸出電流的能力。這個(gè)結(jié)論是依照手冊中給出的數(shù)據(jù)做出來的。
51 單片機(jī)的這些特性,是源于引腳的內(nèi)部結(jié)構(gòu),引腳內(nèi)部結(jié)構(gòu)圖這里就不畫了,很多書中都有。
在芯片的內(nèi)部,引腳和地之間,有個(gè)三極管,所以引腳具有下拉的能力,輸出低電平的時(shí)候,允許灌入 10mA 的電流;而引腳和正電源之間,有個(gè)幾百K的“內(nèi)部上拉電阻”,所以,引腳在高電平的時(shí)候,能夠輸出的拉電流很小。特別是 P0 口,其內(nèi)部根本就沒有上拉電阻,所以 P0 口根本就沒有高電平輸出電流的能力。
哦,明白了,外接電路如果是“拉電流負(fù)載”,要求單片機(jī)輸出高電平時(shí)發(fā)揮作用,那就必須用“上拉電阻”來協(xié)助,產(chǎn)生負(fù)載所需的電流。
下面做而論道就專門說說上拉電阻存在的問題。
從上面提到D2 發(fā)光,是由上拉電阻 R2 提供的電流,D2 導(dǎo)通發(fā)光的電壓約為 2V,那么發(fā)光的電流就是:(5 - 2) / 1K,約為 3mA。
而當(dāng)單片機(jī)輸出低電平(0V),D2 不發(fā)光的時(shí)候,R2 這個(gè)上拉電阻閑著了嗎? 沒有!它兩端的電壓,比 LED 發(fā)光的時(shí)候還高,現(xiàn)在是 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)超過了單片機(jī)手冊上給出的上限。如果此時(shí)單片機(jī)工作不穩(wěn)定,就是理所當(dāng)然的了。
而且這些電流,都是在負(fù)載處于無效的狀態(tài)下出現(xiàn)的,它們都是完全沒有用處的電流,只是產(chǎn)生發(fā)熱、耗電大、電池消耗快,等后果。
特別是現(xiàn)在,都在提倡節(jié)能減排,低碳。
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
電子負(fù)載相關(guān)文章:電子負(fù)載原理 上拉電阻相關(guān)文章:上拉電阻原理
評論