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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機管腳說明(二)

          51單片機管腳說明(二)

          作者: 時間:2012-07-31 來源:網(wǎng)絡(luò) 收藏

          P3口的特殊功能(即第二功能):

          使P3端品各線處于第二功能的條件是:

          1串行I/O處于運行狀態(tài)(RXD,TXD);

          2打開了處部中斷(INT0,INT1);

          3定時器/計數(shù)器處于外部計數(shù)狀態(tài)(T0,T1)

          4執(zhí)行讀寫外部RAM的指令(RD,WR)

          在應(yīng)用中,如不設(shè)定P3端口各位的第二功能(WR,RD信叼的產(chǎn)生不用設(shè)置),則P3端口線自動處于第一功能狀態(tài),也就是靜態(tài)I/O端口的工作狀態(tài)。在更多的場合是根據(jù)應(yīng)用的需要,把幾條端口線設(shè)置為第二功能,而另外幾條端口線處于第一功能運行狀態(tài)。在這種情況下,不宜對P3端口作字節(jié)操作,需采用位操作的形式。

          端口的負載能力和輸入/輸出操作:

          P0端口能驅(qū)動8個LSTTL負載。如需增加負載能力,可在P0總線上增加總線驅(qū)動器。P1,P2,P3端口各能驅(qū)動4個LSTTL負載。

          前已述及,由于P0-P3端口已映射成特殊功能寄存器中的P0一P3端口寄存器,所以對這些端口寄存器的讀/寫就實現(xiàn)了信息從相應(yīng)端口的輸入/輸出。例如:

          MOV A, P1 ;把Pl端口線上的信息輸入到A

          MoV P1, A ;把A的內(nèi)容由P1端口輸出

          MOV P3, #0FFH ;使P3端口線各位置l

          串行端口:

          MCS-51系列片內(nèi)有一個串行I/O端口,通過引腳RXD(P3.0)和TXD(P3.1)可與外設(shè)電路進行全雙工的串行異步通信。

          1.串行端口的基本特點

          8031的串行端口有4種基本工作方式,通過編程設(shè)置,可以使其工作在任一方式,以滿足不同應(yīng)用場合的需要。其中,方式0主要用于外接移位寄存器,以擴展的I/O電路;方式1多用于雙機之間或與外設(shè)電路的通信;方式2,3除有方式l的功能外,還可用作多機通信,以構(gòu)成分布式多微機系統(tǒng)。

          串行端口有兩個控制寄存器,用來設(shè)置工作方式、發(fā)送或接收的狀態(tài)、特征位、數(shù)據(jù)傳送的波特率(每秒傳送的位數(shù))以及作為中斷標志等。

          串行端口有一個數(shù)據(jù)寄存器SBUF(在特殊功能寄存器中的字節(jié)地址為99H),該寄存器為發(fā)送和接收所共同。發(fā)送時,只寫不讀;接收時,只讀不寫。在一定條件下,向陽UF寫入數(shù)據(jù)就啟動了發(fā)送過程;讀SBUf就啟動了接收過程。

          串行通信的波特率可以程控設(shè)定。在不同工作方式中,由時鐘振蕩頻率的分頻值或由定時器Tl的定時溢出時間確定,使用十分方便靈活。



          關(guān)鍵詞: 說明 管腳 單片機

          評論


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