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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機讀端口與讀引腳的區(qū)別

          單片機讀端口與讀引腳的區(qū)別

          作者: 時間:2016-11-23 來源:網絡 收藏
          把I/O口作為輸入口使用時,是“讀引腳”,不同于“讀端口”。注意,讀端口的“口”
          不是P0口、P1口的“口”,而是鎖存器的Q端口,也就是讀鎖存器Q端的輸出信號然后送
          三態(tài)緩沖器輸入,經過緩沖器輸出到單片機內部總線。而讀引腳則是直接把芯片引腳上
          的外部數(shù)據,經過三態(tài)緩沖器把數(shù)據放到內部總線。

          例如,用MOV進行讀引腳操作:

          MOV P1,0FFH ;注意首先把P1引腳置為高電平
          MOV A,P1 ;P1作為輸入口,讀P1口信號到A

          編程時須先置I/O口引腳為高電平的原因如下(請查看口電路結構圖):

          51單片機的P0口是雙向口,P1~3口是準雙向口,其I/O口引腳都和單片機內部的場效應管
          FET漏極連接。首先我們不妨假設init時引腳為低電平(我不知道單片機reset時
          引腳缺省電平是低還是高?還是不定?),即FET漏極為低電平,因為此時FET是導通的,
          所以無論外部輸入1還是0,都會產生拉電流,拉為低電平,從而無法正確判斷外部輸入
          的是1還是0.嚴重的話,如果拉電流過大,還可能燒壞FET。

          因此,init時只好將引腳設為高電平,例如MOV P1,0FFH,由單片機口電路的結構圖可以
          看出,這條指令的內部電路邏輯是這樣的:
          先把0FFH放到內部總線,鎖存器輸入端(D端)從內部總線取數(shù)據,鎖存,然
          后從Q非端輸出到FET極,顯然此時Q非為0,F(xiàn)ET截止,通過漏極上拉電阻輸出高電平,
          不會影響外部輸入電平(相當于和外部輸入邏輯與)。


          評論


          技術專區(qū)

          關閉
          看屁屁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); })();