stc單片機IO配置與PWM
STC2C5201AD系列單片機所有I/O口均可由軟件配置成4種工作類型之一,如下表所示。4種類型分別為:準雙向口/弱上拉(標準8051輸出模式)、強推挽輸出/強上拉、僅為輸入(高阻)或開漏輸出功能。每個口由2個控制寄存器中的相應位控制每個引腳工作類型。STC- 2C5201AD系列單片機上電復位后為準雙向口/弱上拉(傳統(tǒng)805的I/O口)模式。2V以上時為高電平,0.8V以下時為低電平。每個I/O口驅動能力均可達到20mA,但整個芯片最大不得超過90mA。
本文引用地址:http://cafeforensic.com/article/201612/324113.htmP3口設定
P3M1 [7:0] | P3M0 [7 : 0] | I/O口模式 |
0 | 0 | 準雙向口(傳統(tǒng)805I/O口模式), 灌電流可達20mA ,拉電流為230μA , 由于制造誤差,實際為250uA~50uA |
0 | 1 | 強推挽輸出(強上拉輸出,可達20mA,要加限流電阻) |
1 | 0 | 僅為輸入(高阻) |
1 | 1 | 開漏(Open Drain),內部上拉電阻斷開,要外上拉 |
MOV P3M1,#10100000B
MOV P3M0 #10010000B
P3.7為開漏P3.5為高阻P3.4為強推挽輸出,其他為準雙向
PWM輸出時I/O口的狀態(tài)
當某個I/O口作為PWM輸出用時,該口的狀態(tài):
PWM之前口的狀態(tài) | PWM時口的狀態(tài) |
弱上拉/準雙向口 | 強推挽輸出/強上拉輸出,要加輸出限流電阻10K ~1K |
強推挽輸出 | 強推挽輸出/強上拉輸出,要加輸出限流電阻10K ~1K |
僅為輸入/高阻 | PWM無 |
開漏 | 開漏 |
普通I/O口---〉限流電阻用(10K到1K)-----〉接負載
4.6.如何讓I/O口上電復位時為低電平
普通8051單片機上電復位時普通I/O口為弱上拉高電平輸出,而很多實際應用要求上電時某
些I/O口為低電平輸出,否則所控制的系統(tǒng)(如馬達)就會誤動作,現(xiàn)STC12系列單片機由于既有弱上拉輸出又有強推挽輸出,就可以很輕松的解決此問題?,F(xiàn)可在STC12系列單片機I/O口上加一個下拉電阻(1K/2K/3K),這樣上電復位時,雖然單片機內部I/O口是弱上拉/高電平輸出,但由于內部上拉能力有限,而外部下拉電阻又比較小,無法將其拉高,所以該I/O口上電復位時外部為低電平。如果要將此I/O口驅動為高電平,可將此I/O口設置為強推挽輸出,而強推挽輸出時,I/O口驅動電流可達20mA,故肯定可以將該口驅動為高電平輸出。
10.3.4脈寬調節(jié)模式(PWM)
脈寬調制(PWM,Pulse Width Modulation)是一種使用程序來控制波形占空比、周期、相位波形的技術,在三相電機驅動、D/A轉換等場合有廣泛的應用。STC 2C520 AD系列單片機的PCA模塊可以通過程序設定,使其工作于8位PWM模式。PWM模式的結構如下圖所示。
評論