首先我們要知道什么是PWM,即脈沖寬度調制,它的實現原理很簡單,即通過單片機的高低電平控制MOS管或三極管的開通和關斷,以實現小功率控制大功率的目的,在PWM中,高低電平的變換速度極快,一般都不大于1MS。

沒有PWM外設的MCU怎么做可調占空比

如上圖中的三個PWM波,如果一半的時間是高電平一半的時間是低電平,那么他的占空比是50%,所謂占空比即高電平所占PWM周期的比例。

通過簡單的延時

在一個沒有PWM外設的MCU來做可調的占空比,最簡單的辦法是,讓單片機循環的輸出高低電平。比如我們要輸出一個占空比為50的PWM我們可以這么寫,雖然不是正規途徑生成的PWM波,但是實現效果上卻和PWM波一個樣。

while(1)

{

P1=1;

DELAY(1MS);

P1=0;

DELAY(1MS);

}

沒有PWM外設的MCU怎么做可調占空比

占空比可調的PWM

這個占空比其實也很容易改變,只需要我們改變高低電平的時間,如果你不想這么做,可以往單片機上加一個電位器,在我們旋轉電位器的時候,把對應的電壓傳給單片機,單片機再通過不同的電壓改變不同的時間,以此來達到調節占空比的目的。