8051單片機(jī)端口結(jié)構(gòu)—P3口
掃描二維碼
隨時(shí)隨地手機(jī)看文章
P3口是一個(gè)多功能端口,對(duì)比P1的結(jié)構(gòu)圖不難看出,P3口與P2口的差別在于多了與非門和緩沖器。正是這兩個(gè)部分,使得P3口除了具有P1口的準(zhǔn)雙向I/O功能之外,還可以使用各引腳所具有的第二功能。
與非門的作用實(shí)際上是一個(gè)開關(guān),決定是輸出鎖存器上的數(shù)據(jù)還是輸出第二功能W的信號(hào)。WR和RD三個(gè)第二輸出功能引腳。當(dāng)W=1時(shí),輸出Q端信號(hào);當(dāng)Q=1時(shí),可輸出W線信號(hào)。編程時(shí),可不必事先由軟件設(shè)置P3口為通用I/O口還是第二功能。
當(dāng)CPU對(duì)P3口進(jìn)行特殊功能寄存器尋址訪問時(shí),由內(nèi)部硬件自動(dòng)將第二功能輸出線W置1,這時(shí)P3口為通用I/O口;當(dāng)CPU不把P3口作為特殊功能寄存器尋址訪問時(shí),即可用作第二功能輸出/輸入線時(shí),由內(nèi)部硬件使鎖存器Q=1.P3口可作為通用I/O口使用時(shí),工作原理與P1口類似.
P3口作為通用I/O進(jìn)行特殊功能寄存器尋址時(shí),"第二輸出端"W保持高電平,打開與非門,所以D鎖存器輸出端Q的狀態(tài)可通過與非門送至FET場(chǎng)效應(yīng)管輸出,這是作通用I/O輸出的情況.當(dāng)P3口作為輸入使用(即CPU讀引腳狀態(tài))時(shí),同P0-P2口一樣,先用軟件向口鎖存器寫入"1",即使D鎖存器Q端保持為1,與非門輸出為0,FET場(chǎng)效應(yīng)管截止,引腳端可作為高阻輸入.
當(dāng)CPU發(fā)出讀命令時(shí),使緩沖器上的"讀引腳"信號(hào)有效,三態(tài)緩沖器導(dǎo)通,于是引腳的狀態(tài)經(jīng)緩沖器2,緩沖器1送到CPU內(nèi)部總線.當(dāng)P3口用于第二功能時(shí),8個(gè)引腳可獨(dú)立定義.當(dāng)某個(gè)被用作第二功能時(shí),該位的D端鎖存器Q應(yīng)被內(nèi)部硬件置1,使與非門對(duì)"第二輸出功能端"W是暢通的."第二輸出功能端"W可為TXD,WR和RD三個(gè)第二輸出功能引腳.
例如,某一位被選擇為RD功能,則該位的W線上即RD控制信號(hào)狀態(tài)通過與非門和FET輸出引腳端.由于D鎖存器Q端已被置1,W線不作第二功能輸出時(shí)保持為1,場(chǎng)效應(yīng)管FET截止,該引腳為高阻輸入,此時(shí),第二輸入功能為:RXD,INTO,INT1,TO和T1. 由于端口不作為通用I/O口,"讀引腳"信號(hào)無(wú)效,三態(tài)緩沖器不導(dǎo)通,某位引腳的第二輸入功能信號(hào)經(jīng)緩沖器2送入功能端,然后再進(jìn)入各自的第二功能處理機(jī)構(gòu).
綜上所述,P0口的輸出級(jí)與P1-P3口的輸出級(jí)在結(jié)構(gòu)上是不同的,因此,它們的負(fù)載能力和接口要求也是各不相同.下面我們回顧一下四個(gè)端口的特點(diǎn):
P0口與其他口號(hào)不同,它的輸出級(jí)無(wú)上拉電阻.當(dāng)把它用作通用I/O口使用時(shí),輸出極是開漏電路, 故用作輸出時(shí)需外接上拉電阻,用作輸入時(shí)應(yīng)先向口鎖存器寫1;把它當(dāng)作地址/數(shù)據(jù)總線時(shí),則無(wú)需外接上拉電阻,也無(wú)需先寫1.P0口的每一位輸出可驅(qū)動(dòng)8個(gè)TTL負(fù)載.
P1-P3口的輸出級(jí)外接有內(nèi)部上拉電阻,它們的每一位輸出可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載輸入端.由于它們的輸出級(jí)具有上拉電阻,所以無(wú)需外接上拉電阻.P1-P3口也都是準(zhǔn)雙向口,即作輸入時(shí),必須先在相應(yīng)端口鎖存器寫1.