久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機的IO口驅動能力、灌電流、拉電流、上拉電阻的選擇

51單片機的IO口驅動能力、灌電流、拉電流、上拉電阻的選擇

作者: 時間:2016-11-19 來源:網絡 收藏
單片機的引腳,可以用程序來控制,輸出高、低電平,這些可算是單片機的輸出電壓。但是程序控制不了單片機的輸出電流。單片機的輸出電流,很大程度上是取決于引腳上的外接器件。
單片機輸出低電平時,將允許外部器件,向單片機引腳內灌入電流,這個電流,稱為“灌電流”,外部電路稱為“灌電流負載”,如下圖1所示;單片機輸出高電平時,則允許外部器件,從單片機的引腳拉出電流,這個電流,稱為“拉電流”,外部電路稱為“拉電流負載”,如下圖2所示。

這些電流一般是多少?最大限度是多少? 這就是常見的單片機輸出驅動能力的問題。每個單個的引腳,輸出低電平的時候,允許外部電路,向引腳灌入的最大電流為 10 mA;每個 8 位的接口(P1、P2 以及 P3),允許向引腳灌入的總電流最大為 15 mA,而 P0 的能力強一些,允許向引腳灌入的最大總電流為 26 mA;全部的四個接口所允許的灌電流之和,最大為 71 mA。而當這些引腳“輸出高電平”的時候,單片機的“拉電流”能力呢?可以說是太差了,竟然不到 1 mA。

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

下面我們分析一下拉電流負載和灌電流負載的區別:
圖1中,是灌電流負載。單片機輸出低電平時,LED亮,;輸出高電平的時候,那就什么電流都沒有,此時就不產生額外的耗電。
圖2中,是拉電流負載。單片機輸出低電平的時候,LED不亮,此時VCC通過R2把電流全部灌進單片機IO口,并且電流時5ma,單片機輸出高電平的時候,VCC通過R2將電流注入到LED中,led亮。注意到了嗎? LED 不發光的時候,上拉電阻給的電流全部灌入單片機的引腳了!如果在一個 8 位的接口,安裝了 8 個 1K 的上拉電阻,當單片機都輸出低電平的時候,就有 40mA 的電流灌入這個 8 位的接口!如果四個 8 位接口,都加上 1K 的上拉電阻,最大有可能出現 32 × 5 = 160mA 的電流,都流入到單片機中!這個數值已經超過了單片機手冊上給出的上限。此時單片機就會出現工作不穩定的現象。而且這些電流,都是在負載處于無效的狀態下出現的,它們都是完全沒有用處的電流,只是產生發熱、耗電大、電池消耗快...等后果。
綜上所述,灌電流負載,是合理的;而“拉電流負載”和“上拉電阻”會產生很大的無效電流,并且功耗大。

那么,把上拉電阻加大些,可以嗎? 
回答是:不行的,因為需要它為拉電流負載提供電流。對于 LED,如果加大電阻,將使電流過小,發光暗淡,就失去發光二極管的作用了。在圖2中,假如單片機輸出的高電平時4V,此時R2兩端的電壓差為5V-3V=2V。經過R2的電流為I=2V/1000=2ma,這一部分電流將全部流入LED。如果加大電阻,上拉電阻提供的電流將會減小。上拉電阻的大小一般選擇在1K-10K之間就行。

設計單片機的負載電路,應該采用“灌電流負載”的電路形式,以避免無謂的電流消耗。


評論


技術專區

關閉