RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于51單片機(jī)IO引腳的驅(qū)動(dòng)能力與上拉電阻

倩倩 ? 來源:電子開發(fā)網(wǎng) ? 2020-09-18 16:08 ? 次閱讀

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

但是,程序控制不了單片機(jī)的輸出電流。單片機(jī)的輸出電流,很大程度上是取決于引腳上的外接器件。

單片機(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ā)光了。

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

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

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

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.

這里是說:

每個(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 口根本就沒有高電平輸出電流的能力。

再看看上面的電路圖:

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

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

哦,明白了,外接電路如果是“拉電流負(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é)能減排,低碳。..。

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

回答是:不行的,因?yàn)樾枰鼮槔娏髫?fù)載提供電流。對于 LED,如果加大電阻,將使電流過小,發(fā)光暗淡,就失去發(fā)光二極管的作用了。

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

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

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

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

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634634
  • 上拉電阻
    +關(guān)注

    關(guān)注

    5

    文章

    359

    瀏覽量

    30606
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    1193

    瀏覽量

    50411
收藏 人收藏

    評論

    相關(guān)推薦

    如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信

    的詳細(xì)步驟和方法。 硬件連接 首先,我們需要將51單片機(jī)與PC機(jī)的串行接口連接起來。通常,我們使用RS-232接口進(jìn)行連接。RS-232接口是一種常用的串行通信接口,它使用9個(gè)引腳進(jìn)行
    的頭像 發(fā)表于 10-21 11:35 ?754次閱讀

    51單片機(jī)驅(qū)動(dòng)

    電子發(fā)燒友網(wǎng)站提供《51單片機(jī)驅(qū)動(dòng).exe》資料免費(fèi)下載
    發(fā)表于 09-20 11:46 ?5次下載

    單片機(jī)基本io功能調(diào)試過程

    所使用的單片機(jī)型號以及需要調(diào)試的IO口。不同型號的單片機(jī)IO口的配置和特性可能有所不同。 查閱單片機(jī)
    的頭像 發(fā)表于 09-14 14:38 ?558次閱讀

    單片機(jī)io口怎么配置成輸出口

    單片機(jī)IO口配置成輸出口的過程通常涉及對單片機(jī)內(nèi)部寄存器的操作。不同型號的單片機(jī)在寄存器配置和編程方式可能有所不同,但基本原理是相似的。以
    的頭像 發(fā)表于 09-14 14:33 ?757次閱讀

    單片機(jī)io口輸出電流多大

    IO口的輸出電流一般在10mA左右。 現(xiàn)代單片機(jī) :如STM32等,其IO口的輸出電流能力有所提升,通??梢赃_(dá)到20-25mA。然而,需要注意的是,多個(gè)
    的頭像 發(fā)表于 09-14 14:29 ?1661次閱讀

    單片機(jī)引腳懸空是什么電平

    ,其電平狀態(tài)通常有兩種可能:高電平或低電平。具體取決于單片機(jī)的內(nèi)部結(jié)構(gòu)和外部環(huán)境因素。 1.1 內(nèi)部結(jié)構(gòu)因素 單片機(jī)的I/O引腳內(nèi)部結(jié)構(gòu)通常包括一個(gè)
    的頭像 發(fā)表于 08-28 09:51 ?1845次閱讀

    電路設(shè)計(jì)基礎(chǔ):電阻、下拉電阻分析

    的最低高電平 (一般為3.5V),這時(shí)就需要在TTL的輸出端接上電阻,以提高輸出高電平的值。 2、OC門電路必須加上電阻,才能使用。 3、為加大輸出
    發(fā)表于 08-22 13:59

    單片機(jī)復(fù)位電路電阻電容如何取值

    單片機(jī)系統(tǒng)中,復(fù)位電路是非常重要的組成部分,它確保了單片機(jī)在啟動(dòng)時(shí)能夠可靠地進(jìn)入初始狀態(tài),以及在異常情況下能夠進(jìn)行復(fù)位操作。復(fù)位電路通常由一個(gè)
    的頭像 發(fā)表于 08-06 10:28 ?811次閱讀

    電阻的作用是什么

    從器件輸出端流出電流。所謂的強(qiáng)和弱指的是電阻
    的頭像 發(fā)表于 05-02 14:51 ?3678次閱讀
    <b class='flag-5'>上</b><b class='flag-5'>拉</b><b class='flag-5'>電阻</b>的作用是什么

    如何讓單片機(jī)IO口利用最大化

    首先,LED亮起時(shí)完全由單片機(jī)的GPIO輸出電流,所以對于GPIO的電流驅(qū)動(dòng)能力有一定的要求。設(shè)計(jì)電路時(shí)要注意查詢自己使用的MCU的電流驅(qū)動(dòng)能力。
    發(fā)表于 04-29 14:29 ?1849次閱讀
    如何讓<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>IO</b>口利用最大化

    請問如何擴(kuò)展單片機(jī)IO口?

    的引出,這個(gè)不是哪個(gè)單片機(jī)能直接實(shí)現(xiàn)的吧!其實(shí)擴(kuò)展IO口也很容易轉(zhuǎn)換電壓,如從STM32的3.3V轉(zhuǎn)換到5V,驅(qū)動(dòng)能力也強(qiáng)大了很多,很容易擴(kuò)展較大電流。 今天大家討論一下,你們是如何擴(kuò)展IO
    發(fā)表于 04-24 06:30

    請為cx3的io口沒有內(nèi)部電阻或下拉電阻嗎?

    ,CyU3PGpioSetValue,在配置參數(shù)里CyU3PGpioSimpleConfig_t的結(jié)構(gòu)里,沒有看到此io口是否可以配置內(nèi)部或下拉電阻。請為cx3的
    發(fā)表于 02-28 06:25

    IO內(nèi)置電阻的阻值是多少?所有IO都有內(nèi)置電阻么,阻值是否一樣?

    IO內(nèi)置電阻的阻值是多少?所有IO都有內(nèi)置
    發(fā)表于 02-21 06:17

    MS51FC0AE單片機(jī)IO口損壞的原因?

    請問大家一下: 我使用的是“MS51FC0AE單片機(jī)”,輸入IO口 使用外置5V然后接外置輸入電平,用于輸入電平檢測,發(fā)現(xiàn)
    發(fā)表于 01-17 08:22

    51單片機(jī)8位數(shù)碼管顯示學(xué)號程序編寫思路

    碼管與51單片機(jī)進(jìn)行連接。數(shù)碼管通常由8個(gè)LED燈組成,其引腳分別是A、B、C、D、E、F、G和DP。當(dāng)我們將數(shù)碼管的8個(gè)引腳51
    的頭像 發(fā)表于 01-04 15:21 ?7640次閱讀
    RM新时代网站-首页