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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機IO口輸入輸出方式

          51單片機IO口輸入輸出方式

          作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
          傳統(tǒng)51單片機IO接口只可以作為標準雙向IO接口,如果用其來驅(qū)動LED只能用灌電流的方式或是用三極管外擴驅(qū)動電路。

          灌電流方式:LED正極接VCC,負極接IO口。IO為高電平是LED兩極電平相同,沒有電流,LED熄滅;IO為低電平時,電流從VCC流入IO,LED點亮。但是當你吧LED正極接在IO接口,負極接GND時,將IO接口置于高電平,LED會亮,但因為IO接口上拉能力不足而使亮度不理想,可以用下面介紹的方式解決這個問題。

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

          推挽工作方式:LED正負極分別接在兩個IO口上,然后設(shè)置正極IO接口為推挽輸出,負極IO接口為標準雙向灌電流輸入。推挽方式具有強上拉能力,可以實現(xiàn)高電平驅(qū)動LED。

          IO口的四種使用方法

          從I/O口的特性上看,標準51的P0口在作為I/O口使用時,是開漏結(jié)構(gòu),在實際應(yīng)用中通常要添加上拉電阻;P1、P2、P3都是準雙向I/O,內(nèi)部有上拉電阻,既可作為輸入又可以作為輸出。而LPC900系列單片機的I/O口特性有一定的不同,它們可以被配置成4種不同的工作模式:準雙向I/O、推挽輸出、高阻輸入、開漏。

          準雙向I/O模式與標準51相比,雖然在內(nèi)部結(jié)構(gòu)上是不同的,但在用法上類同,比如要作為輸入時都必須先寫“1”置成高電平,然后才能去讀引腳的電平狀態(tài)。?。。。。槭裁词沁@樣子?見下面圖解分析。

          推挽輸出的特點是不論輸出高電平還是低電平都能驅(qū)動較大的電流,比如輸出高電平時可以直接點亮LED(要串聯(lián)幾百歐限流電阻),而在準雙向I/O模式下很難辦到。

          高阻輸入模式的特點是只能作為輸入使用,但是可以獲得比較高的輸入阻抗,這在模擬比較器和ADC應(yīng)用中是必需的。

          開漏模式與準雙向模式相似,但是沒有內(nèi)部上拉電阻。開漏模式的優(yōu)點是電氣兼容性好,外部上拉電阻接3V電源,就能和3V邏輯器件接口,如果上拉電阻接5V電源,又可以與5V邏輯器件接口。此外,開漏模式還可以方便地實現(xiàn)“線與”邏輯功能。

          對于上面疑問的解釋,有這樣一個資料:

          高阻態(tài)這是一個數(shù)字電路里常見的術(shù)語,指的是電路的一種輸出狀態(tài),既不是高電平也不是低電平,如果高阻態(tài)再輸入下一級電路的話,對下級電路無任何影響,和沒接一樣,如果用萬用表測的話有可能是高電平也有可能是低電平,隨它后面接的東西定。

          電路分析時高阻態(tài)可做開路理解。你可以把它看作輸出(輸入)電阻非常大。他的極限可以認為懸空。

          高阻態(tài)的典型應(yīng)用:

          1、在總線連接的結(jié)構(gòu)上??偩€上掛有多個設(shè)備,設(shè)備與總線以高阻的形式連接。這樣在設(shè)備不占用總線時自動釋放總線,以方便其他設(shè)備獲得總線的使用權(quán)?!?br />2、大部分單片機I/O使用時都可以設(shè)置為高阻輸入,如凌陽,AVR等等。高阻輸入可以認為輸入電阻是無窮大的,認為I/O對前級影響極小,而且不產(chǎn)生電流(不衰減),而且在一定程度上也增加了芯片的抗電壓沖擊能力。




          關(guān)鍵詞: 51單片機IO口輸入輸出方

          評論


          技術(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); })();