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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)的幾種IO口配置

          單片機(jī)的幾種IO口配置

          作者: 時(shí)間:2010-01-27 來(lái)源:網(wǎng)絡(luò) 收藏

          學(xué)習(xí)、開(kāi)發(fā)和應(yīng)用中,口的對(duì)功能的實(shí)現(xiàn)起著重要的作用,下面介紹常見(jiàn)的四種,而現(xiàn)在很多都兼有這四種,可供選擇。

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


          一.準(zhǔn)雙向口配置

          如下圖,當(dāng)輸出為高電平時(shí),其驅(qū)動(dòng)能力很弱,外部負(fù)載很容易將其拉至低電平。當(dāng)輸出為低電平時(shí),其驅(qū)動(dòng)能力很強(qiáng),可吸收相當(dāng)大的電流。

          準(zhǔn)雙向口有三個(gè)上拉晶體管,一個(gè)“極弱上拉”,當(dāng)端鎖存器為邏輯“1”時(shí)打開(kāi),當(dāng)端口懸空時(shí),“極弱上拉”將端口上拉至高電平。

          第二個(gè)上拉晶體管為“弱上拉”,當(dāng)端口鎖存器為邏輯“1”且端口本身也為“1”時(shí)打開(kāi),此上拉提供的電流,使準(zhǔn)雙向口輸出為“1”。如果此時(shí)端口被外部裝置拉到邏輯“0”時(shí),通過(guò)施密特觸發(fā)器,控制“弱上拉”關(guān)閉,而“極弱上拉”維持開(kāi)狀態(tài),為了把這個(gè)端口拉低,外部裝置必須有足夠的灌電流能力,使管腳上的電壓,降到門(mén)檻電以下。

          第三個(gè)上拉晶體管為“強(qiáng)上拉”,當(dāng)端口鎖存器由“0”跳變到“1”時(shí),這個(gè)上拉用來(lái)加快端口由邏輯“0”到邏輯“1”的轉(zhuǎn)換速度。

          準(zhǔn)雙向口做為輸入時(shí),通個(gè)一個(gè)施密特觸如器和一個(gè)非門(mén),用以干擾和濾波。

          準(zhǔn)雙向口用作輸入時(shí),可對(duì)地接按鍵,如下圖1,當(dāng)然也可以去掉R1直接接按鍵,當(dāng)按鍵閉合時(shí),端口被拉至低電平,當(dāng)按鍵松開(kāi)時(shí),端口被內(nèi)部“極弱上拉”晶體管拉至高電平。當(dāng)端口作為輸出時(shí),不應(yīng)對(duì)地外接LED如圖形控制,這樣端口的驅(qū)動(dòng)能力很弱,LED只能發(fā)很微弱的光,如果要驅(qū)動(dòng)LED,要采用圖3的方法,這樣準(zhǔn)雙向口在輸出為低時(shí),可吸收20mA的電流,故能驅(qū)動(dòng)LED。圖4的方法也可以,不過(guò)LED不發(fā)光時(shí),端口要吸收收很大電流。


          二.開(kāi)漏輸出配置

          這種配置,關(guān)閉所有上拉晶體管,只驅(qū)動(dòng)下拉晶體管,下拉與準(zhǔn)雙向口下拉配置相同,因此只能輸出低電平(吸收電流),和高阻狀態(tài)。不能輸出高電平(輸也電流)。如果要作為邏輯輸出,必須接上拉電阻到VCC。這種配置也可以通過(guò)上圖3和圖4來(lái)驅(qū)動(dòng)LED。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 配置 IO 單片機(jī)

          評(píng)論


          相關(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); })();