目錄
1. P0
1.1 構(gòu)成
【資料圖】
1.2 做輸入端口
1.3 做輸出端口
2. P1
2.1 構(gòu)成
2.2 做輸入端口
2.3 做輸出端口
3. P2
3.1 構(gòu)成
3.2 做輸入端口
3.3 做輸出端口
4. P3
4.1 構(gòu)成
4.2 做輸入輸出端口
5. 總結(jié)
51單片機并行GPIO,按其特性分為
單一的準雙向口
多功能復用準雙向口
地址總線輸出準雙向口
地址/數(shù)據(jù)總線口的三態(tài)雙向
P0 ~ P3口都有各自的用法:
P0:常作系統(tǒng)數(shù)據(jù)或低8位地址復用口,第二功能:用于系統(tǒng)擴展
P1:常作通用I/O口使用
P2:常作系統(tǒng)高8位地址,第二功能:用于系統(tǒng)擴展
P3:常用第二功能
1. P0
1.1 構(gòu)成
1個輸出鎖存器(D型觸發(fā)器)
2個三態(tài)緩沖器(控制讀引腳或讀鎖存器)
1個輸出驅(qū)動電路(1對場效應晶體管FET構(gòu)成)
1個輸出控制端(1個與門、1個反相器、1個轉(zhuǎn)換開關(guān)MUX組成)
1.2 做輸入端口
P0口的輸入信號既送到下面的三態(tài)緩沖器,又送到V2的漏極。如果鎖存器之前鎖存為0,即Q=0, 非Q=1,則V2導通,通過P0端口的外接上拉電阻,P0口被鉗在0電平上,1無法送入P0口。所以在數(shù)據(jù)輸入P0口前,必須先通過內(nèi)部總線向鎖存器寫1,即Q=1,V2截止,P0口輸入的1就可以送到三態(tài)門的輸入端。此時再給三態(tài)門的讀引腳送一個讀控制信號(高電平),1就可以通過三態(tài)門送到內(nèi)部總線。
1.3 做輸出端口
此時單片機內(nèi)部的CPU會發(fā)出一個0到與門的控制端??刂贫说?一方面關(guān)閉與門,使地址/數(shù)據(jù)總線送來的信號無法通過與門;另一方面控制電子開關(guān),讓電子開關(guān)與鎖存器的 端接通,此時若給寫鎖存器端CP送入寫脈沖信號,內(nèi)部總線送來的數(shù)據(jù)就可以通過D端進入鎖存器,并從Q和非Q端輸出,如果D端輸入1,則非Q端輸出0,該0使場效應管V2截止,通過P0口的外接上拉電阻,可使P0口輸出高電平1。
2. P1
2.1 構(gòu)成
1個輸出鎖存器
2個三態(tài)輸入緩沖器
輸出驅(qū)動電路
2.2 做輸入端口
此時Q=0,非Q=1,場效應管導通,通過P1口的內(nèi)部上拉電阻,P1口被鉗在0電平上,1無法送入P1口。所以與P0口一樣,在數(shù)據(jù)輸入P1口之前,先要通過內(nèi)部總線向鎖存器寫1,讓非Q=0,場效應管截止,P1口輸入的1就可以送到輸入三態(tài)緩沖器的輸入端,此時再給三態(tài)門的讀引腳送一個讀控制信號,1就可以通過三態(tài)緩沖器送到內(nèi)部總線。
2.3 做輸出端口
此時應給鎖存器的寫鎖存器CP端送寫脈沖信號,內(nèi)部總線送來的數(shù)據(jù)就可以通過D端進入鎖存器并從Q和非Q端輸出,如果DUAN輸入1,則非Q=0,0送到場效應管的柵極,場效應管截止,從P1輸出1。
【回到目錄】
3. P2
3.1 構(gòu)成
1個輸出鎖存器、1個轉(zhuǎn)換開關(guān)MUX、2個三態(tài)輸入緩沖器、輸出驅(qū)動電路、1個反相器。
3.2 做輸入端口
此時同樣需要先通過內(nèi)部總線向鎖存器寫1,讓Q=1,場效應管截止,P2口輸入的1才能送到三態(tài)門的輸入端。此時,再給讀引腳送一個讀控制信號,1就可以通過三態(tài)門送到內(nèi)部總線。
3.3 做輸出端口
此時給鎖存器的CP端送寫脈沖信號,內(nèi)部總線上的數(shù)據(jù)就被鎖存進鎖存器并從Q端輸出,再通過電子開關(guān)、非門和場效應管從P2口輸出。
4. P3
4.1 構(gòu)成
1個輸出鎖存器、3個輸入緩沖器、輸出驅(qū)動電路。
輸出驅(qū)動電路包括1個與非門、1個場效應管T、上拉電阻R。
4.2 做輸入輸出端口
與P1、P2作用類似。
5. 總結(jié)
P0口地址為80H,可進行位操作。
P0驅(qū)動NMOS輸入時需外接上拉電阻。
P0可作通用I/O口,作低8位地址/數(shù)據(jù)總線時,無需外接上拉電阻。
P0可做為高阻態(tài)輸入端使用。
P0 ~ P3做輸入時,端口必須先置1,使內(nèi)部場效應管截止,從而不影響輸入電平。
審核編輯:湯梓紅
標簽: