您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子元器件>電阻器>

51單片機上拉電阻引腳的驅(qū)動能力分析,數(shù)字萬用表怎樣判斷電阻的好壞

2017年06月10日 10:30 網(wǎng)絡(luò)整理 作者: 用戶評論(0

  51單片機上拉電阻引腳的驅(qū)動能力分析:

  單片機的引腳,可以用程序來控制,輸出高、低電平,這些可算是單片機的輸出電壓。

  但是,程序控制不了單片機的輸出電流?!纹瑱C的輸出電流,很大程度上是取決于引腳上的外接器件。

  單片機輸出低電平時,將允許外部器件,向單片機引腳內(nèi)灌入電流,這個電流,稱為“灌電流”,外部電路稱為“灌電流負載”;

  單片機輸出高電平時,則允許外部器件,從單片機的引腳,拉出電流,這個電流,稱為“拉電流”,外部電路稱為“拉電流負載”。

  這些電流一般是多少?最大限度是多少? 這就是常見的單片機輸出驅(qū)動能力的問題。

  早期的 51 系列單片機的帶負載能力,是很小的,僅僅用“能帶動多少個 TTL 輸入端”來說明的。

  P1、P2 和 P3口,每個引腳可以都帶動 3 個 TTL 輸入端,只有 P0 口的能力強,它可以帶動 8 個!

  分析一下 TTL 的輸入特性,就可以發(fā)現(xiàn),51 單片機基本上就沒有什么驅(qū)動能力。

  它的引腳,甚至不能帶動當(dāng)時的 LED 進行正常發(fā)光。

  記得是在 AT89C51 單片機流行起來之后,做而論道才發(fā)現(xiàn):單片機引腳的能力大為增強,可以直接帶動 LED 發(fā)光了。

  看看下圖,圖中的 D1、D2 就可以不經(jīng)其它驅(qū)動器件,直接由單片機的引腳控制發(fā)光顯示。

  雖然引腳已經(jīng)可以直接驅(qū)動 LED 發(fā)光,但是且慢,先別太高興,還是看看 AT89C51 單片機引腳的輸出能力吧。

  從 AT89C51 單片機的 PDF 手冊文件中可以看到,穩(wěn)態(tài)輸出時,“灌電流”的上限為:

  Maximum IOL per port pin: 10 mA;

  Maximum IOL per 8-bit port:Port 0: 26 mA,Ports 1, 2, 3: 15 mA;

  Maximum total I for all output pins: 71 mA.

  這里是說:

  每個單個的引腳,輸出低電平的時候,允許外部電路,向引腳灌入的最大電流為 10 mA;

  每個 8 位的接口(P1、P2 以及 P3),允許向引腳灌入的總電流最大為 15 mA,而 P0 的能力強一些,允許向引腳灌入的最大總電流為 26 mA;

  全部的四個接口所允許的灌電流之和,最大為 71 mA。

  而當(dāng)這些引腳“輸出高電平”的時候,單片機的“拉電流”能力呢? 可以說是太差了,竟然不到 1 mA。

  結(jié)論就是:單片機輸出低電平的時候,驅(qū)動能力尚可,而輸出高電平的時候,就沒有輸出電流的能力。

  這個結(jié)論是依照手冊中給出的數(shù)據(jù)做出來的。

  51 單片機的這些特性,是源于引腳的內(nèi)部結(jié)構(gòu),引腳內(nèi)部結(jié)構(gòu)圖這里就不畫了,很多書中都有。

  在芯片的內(nèi)部,引腳和地之間,有個三極管,所以引腳具有下拉的能力,輸出低電平的時候,允許灌入 10mA 的電流;而引腳和正電源之間,有個幾百K的“內(nèi)部上拉電阻”,所以,引腳在高電平的時候,能夠輸出的拉電流很小。特別是 P0 口,其內(nèi)部根本就沒有上拉電阻,所以 P0 口根本就沒有高電平輸出電流的能力。

  再看看上面的電路圖:

  圖中的 D1,是接在正電源和引腳之間的,這就屬于灌電流負載,D1 在單片機輸出低電平的時候發(fā)光。這個發(fā)光的電流,可以用電阻控制在 10 mA 之內(nèi)。

  圖中的 D2,是接在引腳和地之間的,這屬于拉電流負載,D2 應(yīng)該在單片機輸出高電平的時候發(fā)光。但是單片機此時幾乎沒有輸出能力,必須采用外接“上拉電阻”的方法來提供 D2 所需的電流。

  哦,明白了,外接電路如果是“拉電流負載”,要求單片機輸出高電平時發(fā)揮作用,那就必須用“上拉電阻”來協(xié)助,產(chǎn)生負載所需的電流。

  下面做而論道就專門說說上拉電阻存在的問題。

  從上面的圖中可以看到,D2 發(fā)光,是由上拉電阻 R2 提供的電流,D2 導(dǎo)通發(fā)光的電壓約為 2V,那么發(fā)光的電流就是:(5 - 2) / 1K,約為 3mA。

  而當(dāng)單片機輸出低電平(0V),D2 不發(fā)光的時候,R2 這個上拉電阻閑著了嗎? 沒有!它兩端的電壓,比 LED 發(fā)光的時候還高,現(xiàn)在是 5V 了,其中的電流,是 5mA !

  注意到了嗎? LED 不發(fā)光的時候,上拉電阻給出了更大的電流!并且,這個大于正常發(fā)光的電流,全部灌入單片機的引腳了!

  如果在一個 8 位的接口,安裝了 8 個 1K 的上拉電阻,當(dāng)單片機都輸出低電平的時候,就有 40mA 的電流灌入這個 8 位的接口!

  如果四個 8 位接口,都加上 1K 的上拉電阻,最大有可能出現(xiàn) 32 × 5 = 160mA 的電流,都流入到單片機中!

  這個數(shù)值已經(jīng)超過了單片機手冊上給出的上限。如果此時單片機工作不穩(wěn)定,就是理所當(dāng)然的了。

  而且這些電流,都是在負載處于無效的狀態(tài)下出現(xiàn)的,它們都是完全沒有用處的電流,只是產(chǎn)生發(fā)熱、耗電大、電池消耗快。。.等后果。

  呵呵,特別是現(xiàn)在,都在提倡節(jié)能減排,低碳。。.。

  那么,把上拉電阻加大些,可以嗎?

  回答是:不行的,因為需要它為拉電流負載提供電流。對于 LED,如果加大電阻,將使電流過小,發(fā)光暗淡,就失去發(fā)光二極管的作用了。

  對于 D1,是灌電流負載,單片機輸出低電平的時候,R1、D1 通路上會有灌電流;輸出高電平的時候,那就什么電流都沒有,此時就不產(chǎn)生額外的耗電。

  綜上所述,灌電流負載,是合理的;而“拉電流負載”和“上拉電阻”會產(chǎn)生很大的無效電流,這種電路不合理。

  有些網(wǎng)友對上拉電阻情有獨鐘,有用沒用的,都想在引腳上安裝個上拉電阻,甚至還能說出些理由:穩(wěn)定性啦、速度啦。。.。

  其實,“上拉電阻”和“拉電流負載”電路,是會對單片機系統(tǒng)造成不良后果的。

  做而論道看過很多關(guān)于單片機引腳以及上拉電阻方面的書籍、參考資料,基本上它們對于使用上拉電阻的弊病都沒有進行仔細的討論。

  在此,做而論道鄭重向大家提出建議:設(shè)計單片機的負載電路,應(yīng)該采用“灌電流負載”的電路形式,以避免無謂的電流消耗。

  上拉電阻,僅僅是在 P0 口才考慮加不加的問題:當(dāng)用 P0 口做為輸入口的時候,需要加上、當(dāng)用 P0 口輸出高電平驅(qū)動 MOS 型負載的時候,也需要加上,其它的時候,P0 口也不用加入上拉電阻。

  在其它接口(P1、P2 和 P3),都不應(yīng)該加上拉電阻,特別是輸出低電平有效的時候,外接器件就有上拉的作用。

  數(shù)字萬用表怎樣判斷電阻的好壞:

  使用數(shù)字式萬用表測電阻,所測阻值更為準確。將黑表筆插入COM插座,紅表筆插入VΩ插座。

  萬用表的擋位開關(guān)轉(zhuǎn)至相應(yīng)的電阻擋,打開萬用表電源開關(guān)(電源開關(guān)調(diào)至“ON”位置),再將兩表筆跨接在被測電阻的兩個引腳上,萬用表的顯示屏即可顯示出被測電阻的阻值。數(shù)字式萬用表測量固定電阻示意圖如圖156所示。

  圖156 數(shù)字式萬用表測量固定電阻

  注意:數(shù)字式萬用表測電阻通常無須調(diào)零,可直接測量。

  如果電阻值超過所選擋位值,則萬用表顯示屏的左端會顯示“1”,這時應(yīng)將開關(guān)轉(zhuǎn)至較高擋位。

  當(dāng)測量電阻值超過1mΩ以上時,顯示的讀數(shù)需幾秒鐘才會穩(wěn)定,這是使用數(shù)字式萬用表測量時出現(xiàn)的正?,F(xiàn)象,這種現(xiàn)象在測高電阻值時經(jīng)常出現(xiàn)。

  當(dāng)輸入端開路時,萬用表則顯示過載情形。另外,測量在線電阻時,需要首先確認被測電路所有電源已關(guān)斷及所有電容都已完全放電時才可繼續(xù)進行。

非常好我支持^.^

(3) 100%

不好我反對

(0) 0%

( 發(fā)表人:易水寒 )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?