STC12C5A60S2單片機IO口工作模式設定
STC12C5A60S2 系列單片機其所有I/O口均可由軟件配置成4種工作類型之一。4種類型分別為:準雙向口(標準8051 輸出模式)、推挽輸出、僅為輸入(高阻)或開漏輸出功能。
P0口:P0口為一個8位漏級開路雙向I/O口,每個管腳可吸收8TTL門電流。當P1口的管腳寫“1”時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FLASH編程時,P0口作為原碼輸入口,當FLASH進行校驗時,P0輸出原碼,此時P0外部電位必須被拉高;
P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入“1”后,電位被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收;
P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳電位被內部上拉電阻拉高,且作為輸入。作為輸入時,P2口的管腳電位被外部拉低,將輸出電流,這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉的優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號;
P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入時,由于外部下拉為低電平,P3口將輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口:
P3.0 RXD(串行輸入口)
P3.1 TXD(串行輸出口)
P3.2 INT0(外部中斷0)
P3.3 INT1(外部中斷1)
P3.4 T0(記時器0外部輸入)
P3.5 T1(記時器1外部輸入)
每個口由2個控制寄存器中的相應位控制每個引腳工作類型。
STC12C5A60S2系列單片機上電復位后為準雙向口(傳統8051的I/O口)模式。2V以上時為高電平,0.8V以下時為低電平。
I/O口工作類型設定
PxM1[7:0] PxM0[7:0] I/O 口模式
0 0 準雙向口 (傳統 8051I/O口模式 ),灌電流可達20mA, 拉電流為230uA
0 1 推挽輸出 (強上拉輸出, 可達20mA, 要加限流電阻)
1 0 僅為輸入 (高阻)
1 1 開漏 (Open Dra in), 內部上拉電阻斷開, 要外加
注意:
雖然每個I/O口在弱上拉時都能承受20mA的灌電流(還是要加限流電阻,如 1K,560Ω等),在強推挽輸出時都能輸出20mA的拉電流(也要加限流電阻),但整個芯片的工作電流推薦不要超過55mA。即從MCU-VCC流入的電流不超過55mA,從MCU-GND流出電流不超過55mA,整體流入/流出電流都不能超過55mA. |