久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2524|回復: 1
打印 上一主題 下一主題
收起左側

關于51單片機IO引腳的驅動能力與上拉電阻

[復制鏈接]
跳轉到指定樓層
樓主
ID:128229 發表于 2016-6-27 01:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
       單片機的引腳,可以用程序來控制,輸出高、低電平,這些可算是單片機的輸出電壓。但是,程序控制不了單片機的輸出電流。 單片機的輸出電流,很大程度上是取決于引腳上的外接器件。
       單片機輸出低電平時,將允許外部器件,向單片機引腳內灌入電流,這個電流,稱為“灌電流”,外部電路稱為“灌電流負載”;
       單片機輸出高電平時,則允許外部器件,從單片機的引腳,拉出電流,這個電流,稱為“拉電流”,外部電路稱為“拉電流負載”。

        這些電流一般是多少?最大限度是多少? 這就是常見的單片機輸出驅動能力的問題。
        早期的 51 系列單片機的帶負載能力,是很小的,僅僅用“能帶動多少個 TTL 輸入端”來說明的。
        P1、P2 和 P3口,每個引腳可以都帶動 3 個 TTL 輸入端,只有 P0 口的能力強,它可以帶動 8 個!

       分析一下 TTL 的輸入特性,就可以發現,51 單片機基本上就沒有什么驅動能力。它的引腳,甚至不能帶動當時的 LED 進行正常發光。
       記得是在 AT89C51 單片機流行起來之后,做而論道才發現:單片機引腳的能力大為增強,可以直接帶動 LED 發光了。
看看下圖,圖中的 D1、D2 就可以不經其它驅動器件,直接由單片機的引腳控制發光顯示。




       雖然引腳已經可以直接驅動 LED 發光,但是且慢,先別太高興,還是看看 AT89C51 單片機引腳的輸出能力吧。從 AT89C51 單片機的 PDF 手冊文件中可以看到,穩態輸出時,“灌電流”的上限為:
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。
而當這些引腳“輸出高電平”的時候,單片機的“拉電流”能力呢? 可以說是太差了,竟然不到 1 mA。
       結論就是:單片機輸出低電平的時候,驅動能力尚可,而輸出高電平的時候,就沒有輸出電流的能力。
       這個結論是依照手冊中給出的數據做出來的。

       51 單片機的這些特性,是源于引腳的內部結構,引腳內部結構圖這里就不畫了,很多書中都有。
       在芯片的內部,引腳和地之間,有個三極管,所以引腳具有下拉的能力,輸出低電平的時候,允許灌入 10mA 的電流;而引腳和正電源之間,有個幾百K的“內部上拉電阻”,所以,引腳在高電平的時候,能夠輸出的拉電流很小。特別是 P0 口,其內部根本就沒有上拉電阻,所以 P0 口根本就沒有高電平輸出電流的能力。

      再看看上面的電路圖:圖中的 D1,是接在正電源和引腳之間的,這就屬于灌電流負載,D1 在單片機輸出低電平的時候發光。這個發光的電流,可以用電阻控制在 10 mA 之內。圖中的 D2,是接在引腳和地之間的,這屬于拉電流負載,D2 應該在單片機輸出高電平的時候發光。但是單片機此時幾乎沒有輸出能力,必須采用外接“上拉電阻”的方法來提供 D2 所需的電流。
      哦,明白了,外接電路如果是“拉電流負載”,要求單片機輸出高電平時發揮作用,那就必須用“上拉電阻”來協助,產生負載所需的電流。
       下面做而論道就專門說說上拉電阻存在的問題。
        從上面的圖中可以看到,D2 發光,是由上拉電阻 R2 提供的電流,D2 導通發光的電壓約為 2V,那么發光的電流就是:(5 - 2) / 1K,約為 3mA。
而當單片機輸出低電平(0V),D2 不發光的時候,R2 這個上拉電阻閑著了嗎? 沒有!它兩端的電壓,比 LED 發光的時候還高,現在是 5V 了,其中的電流,是 5mA !注意到了嗎? LED 不發光的時候,上拉電阻給出了更大的電流!并且,這個大于正常發光的電流,全部灌入單片機的引腳了!
      如果在一個 8 位的接口,安裝了 8 個 1K 的上拉電阻,當單片機都輸出低電平的時候,就有 40mA 的電流灌入這個 8 位的接口!
如果四個 8 位接口,都加上 1K 的上拉電阻,最大有可能出現 32 × 5 = 160mA 的電流,都流入到單片機中!
       這個數值已經超過了單片機手冊上給出的上限。如果此時單片機工作不穩定,就是理所當然的了。
       而且這些電流,都是在負載處于無效的狀態下出現的,它們都是完全沒有用處的電流,只是產生發熱、耗電大、電池消耗快...等后果。
       呵呵,特別是現在,都在提倡節能減排,低碳...。

        那么,把上拉電阻加大些,可以嗎? 
回答是:不行的,因為需要它為拉電流負載提供電流。對于 LED,如果加大電阻,將使電流過小,發光暗淡,就失去發光二極管的作用了。

       對于 D1,是灌電流負載,單片機輸出低電平的時候,R1、D1 通路上會有灌電流;輸出高電平的時候,那就什么電流都沒有,此時就不產生額外的耗電。
綜上所述,灌電流負載,是合理的;而“拉電流負載”和“上拉電阻”會產生很大的無效電流,這種電路不合理。
      有些網友對上拉電阻情有獨鐘,有用沒用的,都想在引腳上安裝個上拉電阻,甚至還能說出些理由:穩定性啦、速度啦...。其實,“上拉電阻”和“拉電流負載”電路,是會對單片機系統造成不良后果的。做而論道看過很多關于單片機引腳以及上拉電阻方面的書籍、參考資料,基本上它們對于使用上拉電阻的弊病都沒有進行仔細的討論。
        在此,做而論道鄭重向大家提出建議:設計單片機的負載電路,應該采用“灌電流負載”的電路形式,以避免無謂的電流消耗。
       上拉電阻,僅僅是在 P0 口才考慮加不加的問題:當用 P0 口做為輸入口的時候,需要加上、當用 P0 口輸出高電平驅動 MOS 型負載的時候,也需要加上,其它的時候,P0 口也不用加入上拉電阻。
       在其它接口(P1、P2 和 P3),都不應該加上拉電阻,特別是輸出低電平有效的時候,外接器件就有上拉的作用。
        呵呵,一家之言,歡迎拍磚。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:63317 發表于 2016-6-27 16:44 來自觸屏版 | 只看該作者
謝謝分享資料很好說的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品一区二区三区久久久久久 | 老头搡老女人毛片视频在线看 | 看av网址| 日韩成人免费视频 | 美女在线观看av | 国产日韩欧美一区二区在线播放 | 中文字幕专区 | 久久网亚洲 | 欧美精品一区二区三 | 欧美国产一区二区 | 久久久久成人精品 | 亚洲精品一区中文字幕乱码 | 九九热最新视频 | 亚洲三级在线 | 欧美亚洲国产一区 | 久久久久久免费看 | 亚洲一区成人 | a久久久久久 | 成人在线一级片 | 日本精品久久久久久久 | 91在线看视频 | 久久精品国产99国产 | 国产色婷婷久久99精品91 | 亚洲精品在线看 | 国产成人精品a视频一区www | 精品二| 欧美男人天堂 | 91精品亚洲 | 黄一级| 欧美一级片中文字幕 | 欧美亚洲成人网 | 日韩精品一区二区三区高清免费 | 午夜精品久久久久久久久久久久 | 欧美日韩精品国产 | 国产日韩中文字幕 | 久久综合一区二区 | 久久99精品久久久 | 久草院线| 91视视频在线观看入口直接观看 | 男人亚洲天堂 | 国产精品夜夜春夜夜爽久久电影 |