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