2023年12月30日發(作者:年會禮品)

:準雙向一般只能用于數字輸入輸出,輸入時為弱上拉狀態(約50K上拉),端口只有兩種狀態:高或低。
2:雙向除用于數字輸入輸出外還可用于模擬輸入輸出,模擬輸入時端口通過方向控制設置成為高阻輸入狀態。雙向端口有三種狀態:高、低或高阻。
3:初始狀態和復位狀態下準雙向口為1,雙向口為高阻狀態.有帶些比較器的單片機,比較器的輸入端只能做在雙向口,不能做在準雙向口.所以軟件設計的第一步就是對 I/O 口的設置.
標準51內核單片機的IO口,P0口則為雙向三態輸入輸出口,P1P2P3是準雙向IO口,沒有方向控制,做輸入時需要先往端口數據寄存器寫1才行(也可看作此時為輸出,端口輸出高電平)。
word文檔可編輯
對單片機的控制,其實就是對I/O口的控制,無論單片機對外界進行何種控制,或接受外部的何種控制,都是通過I/O口進行的。51單片機總共有P0、P1、P2、P3四個8位雙向輸入輸出端口,每個端口都有鎖存器、輸出驅動器和輸入緩沖器。4個I/O端口都能作輸入輸出口用,其中P0和P2通常用于對外部存儲器的訪問。
51系列單片機有4個I/O端口,每個端口都是8位準雙向口,共占32根引腳。每個端口都包括一個鎖存器(即專用寄存器P0~P3)、一個輸出驅動器和輸入緩沖器。通常把4個端口籠統地表示為P0~P3。
在無片外擴展存儲器的系統中,這4個端口的每一位都可以作為準雙向通用I/O端口使用。在具有片外擴展存儲器的系統中,P2口作為高8位地址線,P0口分時作為低8位地址線和雙向數據總線。
51單片機4個I/O端口線路設計的非常巧妙,學習I/O端口邏輯電路,不但有利于正確合理地使用端口,而且會給設計單片機外圍邏輯電路有所啟發。
下面簡單介紹一下輸入/輸出端口結構。
1.P0口和P2的結構
1.1 P0口的結構:下圖為P0口的某位P0.n(n=0~7)結構圖,它由一個輸出鎖存器、兩個三態輸入緩沖器和輸出驅動電路及控制電路組成。從圖中可以看出,P0口既可以作為I/O用,也可以作為地址/數據線用。
.2 P0口作為普通I/O口:
①輸出時,CPU發出控制電平“0”封鎖“與”門,將輸出上拉場效應管T1截止,同時使多路開關MUX把鎖存器與輸出驅動場效應管T2柵極接通。故內部總線與P0口同相。由于輸出驅動級是漏極開路電路,若驅動NMOS或其它拉流負載時,需要外接上拉電阻。P0的輸出級可驅動8個LSTTL負載。
② 輸入時----分讀引腳或讀鎖存器
讀引腳:由傳送指令(MOV)實現;
word文檔可編輯
下面一個緩沖器用于讀端口引腳數據,當執行一條由端口輸入的指令時,讀脈沖把該三態緩沖器打開,這樣端口引腳上的數據經過緩沖器讀入到內部總線。
讀鎖存器:有些指令 如:ANL P0,A稱為“讀-改-寫”
指令,需要讀鎖存器。上面一個緩沖器用于讀端口鎖存器數據。
**原因:如果此時該端口的負載恰是一個晶體管基極,且原端口輸出值為1,那么導通了的PN結會把端口引腳高電平拉低;若此時直接讀端口引腳信號,將會把原輸出的“1”電平誤讀為“0”電平。現采用讀輸出鎖存器代替讀引腳,圖中,上面的三態緩沖器就為讀鎖存器Q端信號而設,讀輸出鎖存器可避免上述可能發生的錯誤。**
說明:
??P0口必須接上拉電阻;
??在讀信號之前數據之前,先要向相應的鎖存器做寫1操作的I/O口稱為準雙向口;
??三態輸入緩沖器的作用:
??(ANL P0,A)
word文檔可編輯
準雙向口:
從圖中可以看出,在讀入端口數據時,由于輸出驅動FET并接在引腳上,如果T2導通,就會將輸入的高電平拉成低電平,產生誤讀。所以在端口進行輸入操作前,應先向端口鎖存器寫“1”,使T2截止,引腳處于懸浮狀態,變為高阻抗輸入。這就是所謂的準雙向口。
2、P0作為地址/數據總線
在系統擴展時,P0端口作為地址/數據總線使用時,分為:
(1) P0引腳輸出地址/數據信息: CPU發出控制電平“1”,打開“與”門,又使多路開關MUX把CPU的地址/數據總線與T2柵極反相接通,輸出地址或數據。由圖上可以看出,上下兩個FET處于反相,構成了推拉式的輸出電路,其負載能力大大增強。
P0作為地址/數據總線----真正的雙向口
(2)P0引腳輸出地址/輸入數據:
輸入信號是從引腳通過輸入緩沖器進入內部總線。此時,CPU自動使MUX向下,并向P0口寫“1”,“讀引腳”控制信號有效,下面的緩沖器打開,外部數據讀入內部總線。
二、P2的內部結構
2.1 .P2口作為普通I/O口:CPU發出控制電平“0” ,使多路開關MUX倒向鎖存器
輸出Q端,構成一個準雙向口。其功能與P1相同。
word文檔可編輯
2.2 .P2口作為地址總線: 在系統擴展片外程序存儲器擴展數據存儲器且容量超過256B (用MOVX @DPTR指令)時,CPU發出控制電平“1”,使多路開關MUX倒內部地址線。此時,P2輸出高8位地址。
三.P1口、P3口的內部結構
①P1口的一位的結構
它由一個輸出鎖存器、兩個三態輸入緩沖器和輸出驅動電路組成----準雙向口。
②P3的內部結構
一、作為通用I/O口與P1口類似----準雙向口(W=1)
word文檔可編輯
二、P3第二功能(Q=1)
此時引腳部分輸入(Q=1、W=1) ,部分輸出(Q=1、W輸出) 。
P3第二功能各引腳功能定義:
P3.0:RXD串行口輸入
P3.1:TXD串行口輸出
P3.2:INT0外部中斷0輸入
P3.3:INT1外部中斷1輸入
P3.4:T0定時器0外部輸入
P3.5:T1定時器1外部輸入
P3.6:WR外部寫控制
P3.7:RD外部讀控制
綜上所述:當P0作為I/O口使用時,特別是作為輸出時,輸出級屬于開漏電路,必須外接上拉電阻才會有高電平輸出;如果作為輸入,必須先向相應的鎖存器寫“1”,才不會影響輸入電平。
當CPU內部控制信號為“1”時,P0口作為地址/數據總線使用,這時,P0口就無法再作為I/O口使用了。
P1、P2 和P3 口為準雙向口, 在內部差別不大, 但使用功能有所不同。
P1口是用戶專用 8 位準雙向I/O口, 具有通用輸入/輸出功能, 每一位都能獨立地設定為輸入或輸出。當有輸出方式變為輸入方式時, 該位的鎖存器必須寫入“1”, 然后才能進入輸入操作。
P2口是 8 位準雙向I/O口。外接I/O設備時, 可作為擴展系統的地址總線, 輸出高8位地址, 與P0 口一起組成 16 位地址總線。 對于 8031 而言, P2 口一般只作為地址總線使用, 而不作為I/O線直接與外部設備相連。
word文檔可編輯
本文發布于:2023-12-30 00:13:35,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/1703866415255927.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:雙向IO口.doc
本文 PDF 下載地址:雙向IO口.pdf
| 留言與評論(共有 0 條評論) |