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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于51單片機P0口的結(jié)構(gòu)及上拉問題

          關(guān)于51單片機P0口的結(jié)構(gòu)及上拉問題

          作者: 時間:2013-12-27 來源:網(wǎng)絡(luò) 收藏

          關(guān)于51單片機P0口的結(jié)構(gòu)及上拉問題

          1.P0作為地址數(shù)據(jù)總線時,V1和V2是一起工作的,構(gòu)成推挽結(jié)構(gòu)。高電平時,V1打開,V2截止;低電平時,V1截止,V2打開。這種情況下不用外接上拉電阻。而且,當(dāng)V1打開,V2截止,輸出高電平的時候,因為內(nèi)部電源直接通過V1輸出到線上,因此驅(qū)動能力(電流)可以很大,這就是為什么教科書上說可以"驅(qū)動8個TTL負(fù)載"的原因。

          2.P0作為一般端口時,V1就永遠(yuǎn)的截止,V2根據(jù)輸出數(shù)據(jù)0導(dǎo)通和1截止,導(dǎo)通時拉地,當(dāng)然是輸出低電平;截止時,PO口就沒有輸出了,(注意,這種情況就是所謂的高阻浮空狀態(tài)),如果加上外部上拉電阻,輸出就變成了高電平1。

          關(guān)于51單片機P0口的結(jié)構(gòu)及上拉問題

          3.其他端口P1 P2 P3,在內(nèi)部直接將P1口中的V1換成了上拉電阻,所以不用外接,但內(nèi)部上拉電阻太大,電流太小,有時因為電流不夠,也會再并一個上拉電阻。

          4.在某個時刻,上輸出的是作為總線的地址數(shù)據(jù)信號還是作為普通I/O口的電平信號,是依靠多路開關(guān)MUX來切換的.而MUX的切換,又是根據(jù)單片機指令來區(qū)分的.當(dāng)指令為外部存儲器/IO口讀/寫時,比如 MOVX A,@DPTR ,MUX是切換到地址/數(shù)據(jù)總線上;而當(dāng)普通MOV傳送指令操作時,MUX是切換到內(nèi)部總線上的.

          PS:

          Because Ports 1, 2, and 3 have fixed internal pullups, they are sometimes called “quasi- bidirectional” ports.

          因為端口1、2、3有固定的內(nèi)部上拉,所以有時候他們被稱為"準(zhǔn)雙向"口.

          Port 0, on the other hand, is considered “true” bidirectional, because when configured as an input it floats.

          端口0, 從另外一方面來說,就被 認(rèn)為是"真正的"雙向,因為當(dāng)它被設(shè)置為輸入的時候是浮空(高阻態(tài))的.

          51單片機相關(guān)文章:51單片機教程


          單片機相關(guān)文章:單片機教程


          單片機相關(guān)文章:單片機視頻教程


          單片機相關(guān)文章:單片機工作原理


          上拉電阻相關(guān)文章:上拉電阻原理


          關(guān)鍵詞: 51單片機 P0口 上拉問題

          評論


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