51單片機(jī)的P1、P2、P3口的工作原理
1、P1口某一位的內(nèi)部電路結(jié)構(gòu)如下圖所示,在51單片機(jī)的P0,P1,P2,P3口中,P1口的結(jié)構(gòu)最簡單,用途也最單一。僅僅只作為普通的數(shù)據(jù)輸入/輸出(I/O)端口使用。從圖中可以看出,P0口與P1口的主要差別在于:P1端口用內(nèi)部上拉電阻代替了P0端口的場效應(yīng)管,并且輸出的信息只有內(nèi)部總線的信息,沒有了數(shù)據(jù)/地址總線的復(fù)用。 本文引用地址:http://m.butianyuan.cn/article/201611/316091.htm1)P1口用作輸入端口 如果P1口用作輸入端口,即Q=0,/Q=1;則場效應(yīng)管導(dǎo)通,引腳被直接連到電源的地GND上,即使引腳輸入的是高電平,被直接拉低為“0“,所以,與P0端口一樣,在將數(shù)據(jù)輸入P1端口之前,先要通過內(nèi)部總線向鎖存器寫”1“,這樣/Q=0,場效應(yīng)管截止,P1端口輸入的“1”才可以送到三態(tài)緩沖器的輸入端,此時(shí)再給三態(tài)門的讀引腳送一個(gè)讀控制信號,引腳上的“1”就可以通過三態(tài)緩沖器送到內(nèi)部總線。具有這種操作特點(diǎn)的輸入/輸出端口,一般稱之為準(zhǔn)雙向I/O口,51單片機(jī)的P1,P2,P3口都是準(zhǔn)雙向口。而P0端口由于輸出具有三態(tài)功能(輸出端口的三態(tài)是指:高電平,低電平,高阻態(tài)這三態(tài)),所以在作為輸入端口時(shí),無需先寫“1”然后再進(jìn)行讀操作。 2)P1口用作輸出端口 如果P1口用作輸出端口,應(yīng)給鎖存器的寫鎖存CP端輸入寫脈沖信號,內(nèi)部總線送來的數(shù)據(jù)就可以通過D端進(jìn)入鎖存器并從Q和/Q端輸出,如果D端輸入“1”,則/Q=0,場效應(yīng)管截止,由于上拉電阻的作用,在P1.X引腳輸出高電平“1”,反之,如果D端輸入“0”,則/Q=1,場效應(yīng)管導(dǎo)通, P1.X引腳連到地線上,從而在引腳輸出“0”。 2、P2口的內(nèi)部電路結(jié)構(gòu)如下圖所示,可以看出P2口既有片內(nèi)上拉電阻,又有切換開關(guān)MUX,所以P2口在功能上兼有P0和P1端口的特點(diǎn),這主要體現(xiàn)在輸出功能上,當(dāng)切換開關(guān)向下接通時(shí),從內(nèi)部總線輸出的一位數(shù)據(jù)經(jīng)反相器和場效應(yīng)管反相后,輸出在端口引腳線上;當(dāng)多路開關(guān)向上時(shí),輸出的一位地址信號也經(jīng)反相器和場效應(yīng)管反相后,輸出在端口引腳線上。 如果P2口用作輸入端口,即Q=0,/Q=1;則場效應(yīng)管導(dǎo)通,引腳被直接連到電源的地GND上,即使引腳輸入的是高電平,被直接拉低為“0“,所以,與P0端口一樣,在將數(shù)據(jù)輸入P2端口之前,先要通過內(nèi)部總線向鎖存器寫”1“,這樣/Q=0,場效應(yīng)管截止,P2端口輸入的“1”才可以送到三態(tài)緩沖器的輸入端,此時(shí)再給三態(tài)門的讀引腳送一個(gè)讀控制信號,引腳上的“1”就可以通過三態(tài)緩沖器送到內(nèi)部總線。 2)P2口用作輸出端口 如果P2口用作輸出端口,應(yīng)給鎖存器的寫鎖存CP端輸入寫脈沖信號,內(nèi)部總線送來的數(shù)據(jù)就可以通過D端進(jìn)入鎖存器并從Q和/Q端輸出,再通過電子開關(guān)、非門和場效應(yīng)管從端口輸出。 3、P3口的內(nèi)部電路結(jié)構(gòu)如下圖所示,可以看出P3口和P1口的結(jié)構(gòu)相似,區(qū)別僅在于P3端口的個(gè)端口線有兩種功能選擇,當(dāng)處于第一功能時(shí),第二輸出功能線為1,此時(shí),內(nèi)部總線信號經(jīng)鎖存器和場效應(yīng)管輸入/輸出,其作用與P1端口作用相同,當(dāng)處于第二功能時(shí),鎖存器輸出1,通過第二輸出功能線輸出特定的信號,在輸入方面,既可以通過緩沖器讀入引腳信號。還可以通過替代輸入功能讀入片內(nèi)的特定第二功能信號。 1)P3口用作輸入端口 P3用作輸入端口時(shí),其使用方法與P1和P2類似。 2)P2口用作輸出端口 P3用作輸出端口時(shí),其使用方法與P1和P2類似。 使P3端口各引腳處于第二功能的條件是: 1、串行I/O處于運(yùn)行狀態(tài)(RXD,TXD); 2、打開了處部中斷(INT0,INT1); 3、定時(shí)器/計(jì)數(shù)器處于外部計(jì)數(shù)狀態(tài)(T0,T1) 4、執(zhí)行讀寫外部RAM的指令(RD,WR) 在應(yīng)用中,如不設(shè)定P3端口各位的第二功能(WR,RD信號的的產(chǎn)生不用設(shè)置),則P3端口線自動(dòng)處于第一功能狀態(tài),也就是靜態(tài)I/O端口的工作狀態(tài)。在更多的場合是根據(jù)應(yīng)用的需要,把幾條端口線設(shè)置為第二功能,而另外幾條端口線處于第一功能運(yùn)行狀態(tài)。在這種情況下,不宜對P3端口作字節(jié)操作,需采用位操作的形式。 端口的負(fù)載能力和輸入/輸出操作: P0端口能驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。如需增加負(fù)載能力,可在P0總線上增加總線驅(qū)動(dòng)器。 P1,P2,P3端口各能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
作輸出時(shí):將“1”寫入鎖存器,是輸出極的場效應(yīng)管截止,輸出線有內(nèi)部上拉電阻提升為高點(diǎn)位,輸出“1”
作輸入時(shí):必須先將“1”寫入鎖存器,場效應(yīng)管截止。該口線由內(nèi)部上拉電阻提拉成高電平,同時(shí)也能被外部輸入源拉成低電平,既當(dāng)外部輸入“1”時(shí)該口線為高電平,而出入0時(shí),該口為低電平。
評論