一、P0口特性:
P0口為三態(tài)雙向I/O口。對于內(nèi)部有程序存貯器的單片機基本系統(tǒng)(如定制的8051),P0口可以作為輸入/輸出口使用,直接連外部的輸入/輸出設(shè)備;也可以作為系統(tǒng)擴展的地址/數(shù)據(jù)總線口。對于內(nèi)部沒有程序存貯器的單片機(如8031),P0口只能作為地址/數(shù)據(jù)總線口使用。
1、P0口的輸出驅(qū)動器中也有一個多路電子開關(guān)。輸出驅(qū)動器轉(zhuǎn)接至口鎖動器的Q端時,P0口作為雙向I/O口使用。
這時,CPU發(fā)來的控制信號為低電平,使輸出驅(qū)動電路的上拉場效應(yīng)管T1截止。P0口的鎖存器為“1”時,輸出驅(qū)動器中的兩個場效應(yīng)管均截止,引腳浮空;由于P0口輸出電路是漏極開路的電路,必須外接10kΩ拉高電阻才能有高電平輸出。而寫入“0”時,下管導通輸出低電平。
2、當輸出驅(qū)動器轉(zhuǎn)接至地扯/數(shù)據(jù)時,P0口作為地址/數(shù)據(jù)總線口使用,分時輸出外部存貯器的低8位地址A0~A7和傳送數(shù)據(jù)D0~D7。低8位地址先由地址允許鎖存信號ALE鎖存到外部的地址鎖存器中,接著P0口便輸入/輸出數(shù)據(jù)信息。P0口輸出的低8位地址來源于PCL、DPL、R0、R1等。
二、P0口使用方法
P0口為三態(tài)雙向I/O口,當用作輸入口時,一般接10kΩ左右的拉高電阻。下圖所示的8751基本系統(tǒng)中,將一個開關(guān)K0接至P1.0和P0.0的電路有所差別,其原因是P1口內(nèi)部具有拉高電阻,P0.0必須外接拉高電阻,才能使開關(guān)K0閉合時讀P0.0引腳為0,K0斷開時讀P0.0引腳為1。