開篇
MCS51單片機有4個8位的并行I/O埠,分別為P0、P1、P2、P3,
每個埠都包括一個同名的特殊功能暫存器、一個輸出驅動器和輸入緩沖器,
講解順序為 P1–> P3 --> P0 --> P2
P1口
P1 口具有通用I/O口方式,可實作輸出,讀引腳(輸入)和讀鎖存器三種功能,
輸出方式:
單片機執行寫P1口的指令(就是你的C51程式命令),如果你讓某位的資料為1,根據高1低0,那么可判斷輸出為高電平,反之為低電平, (詳解:如果某位的資料為1,則該為鎖存器輸出端Q=1–>-Q=0 --> V截止,從而在引腳上P1.n 上輸出高電平,)

讀引腳方式:
在讀引腳之前,為了防止V接通零線變成低電平,所以在讀引腳之前,必須先用輸出指令置Q=1,_Q為0讓V截止,以免出現外面(輸入的資料)是高電平,讀進來是低電平,
解釋完這里,輸出方式那里也是融會貫通了,

因為P1口作為輸入口時是有條件的(要先寫1),而輸出時是無條件的,因此,被P1口被稱為準雙向口,
讀鎖存器:

P3口
P3口的特點:
除通用的I/O口功能外(P1口的功能),還能實作第二功能口功能,

P3口作為準雙向通用口,作為通用輸入口時應先先使P3.n–>1 ,作為通用輸出口時應先使第二輸出 端–>1.
P0口
P0口的功能:
在CPU控制信號的作用下,可以作為通用的I/O口進行資料的輸入輸出,也可以作為單片機系統的地址/資料線使用,

作為通用I/O口使用:CPU使控制端保持“0”電平

P0口的重點:
科普:漏極開路輸出一般情況下都需要外接上拉電阻,才能輸出高電平,
在使用I/O口功能時,為了能正常改變電平的變化,需要外接一個上拉電阻,地址/資料分時復用方式時無需外接上拉電阻;
P0口具有地址/資料分時復用方式,可實作地址/資料輸出、資料輸入兩種功能;
分時復用方式的資料輸入時無需程式寫1操作,
P2口

P2口的功能特點

與P1口相比就多了資料控制單元、一個多路開關MUX,P2可以實作通用I/O口和地址輸出兩種功能,
作業方式:
用作通用I/O口時,在“控制端”的作用下,多路開關向下打連接至鎖存器實作通用功能,
注意:用作通用I/O口時,P2口無需外接上拉電阻,
用作地址輸出時,MUX在CPU的控制下轉向“地址線”一端,使“地址端”信號與P2.n電平同 相 變化,
總結
1.P0~P3口 都可作為準雙向通用I/O口;
2.其中只有P0口需要外接上拉電阻;
3.在需要擴展片外設備時,P2口可作為其地址線介面;
4.P0口可作為其地址線/資料線復用介面,此時它是真正的雙向口,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/248976.html
標籤:其他


