<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 51系列單片機IO引腳的驅(qū)動能力與上拉電阻分析

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

          作者: 時間:2011-08-10 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/172563.htm

          這些電流一般是多少?最大限度是多少? 這就是常見的單片機輸出的問題。

          早期的 51 單片機的帶負載,是很小的,僅僅用“能帶動多少個 TTL 輸入端”來說明的。P1、P2 和 P3口,每個引腳可以都帶動 3 個 TTL 輸入端,只有 P0 口的強,它可以帶動 8 個!

          一下 TTL 的輸入特性,就可以發(fā)現(xiàn),51 單片機基本上就沒有什么能力。它的引腳,甚至不能帶動當時的 LED 進行正常發(fā)光。記得是在 AT89C51 單片機流行起來之后,做而論道才發(fā)現(xiàn):單片機引腳的能力大為增強,可以直接帶動 LED 發(fā)光了。

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

          雖然引腳已經(jīng)可以直接驅(qū)動 LED 發(fā)光,但是且慢,先別太高興,還是看看 AT89C51 單片機引腳的輸出能力吧。
          從 AT89C51 單片機的 PDF 手冊文件中可以看到,穩(wěn)態(tài)輸出時,“灌電流”的上限為:

          Maximum L per port pin: 10 mA;
          Maximum L 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。

          結(jié)論就是:單片機輸出低電平的時候,驅(qū)動能力尚可,而輸出高電平的時候,就沒有輸出電流的能力。
          這個結(jié)論是依照手冊中給出的數(shù)據(jù)做出來的。

          光敏電阻相關(guān)文章:光敏電阻工作原理



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();