1,什么是PWM
什么是PWM,專業(yè)點(diǎn)說脈寬調(diào)制,通俗點(diǎn)說 就是不斷的輸出高低電平。 比如 單片機(jī) 40ms的時間 輸出高電平然后60ms的時間 輸出低電平接著一直不斷周期性的交替輸出高低電平 這就是典型的PWM波。高電平輸出的時間40ms就是傳說中的脈寬,40ms+60ms=100ms 便是PWM的周期。假定我們把周期定為100ms.我們可以根據(jù)我們的需要 把高電平的時間加大或者減小,比如 高電平輸出時間加大為80ms.那么低電平的時間就變?yōu)?0ms. 也可以 高電平輸出時間減小為20ms.那么低電平的時間就變?yōu)?0ms.這即是脈寬調(diào)制 調(diào)的便是這高電平的時間。 而高電平(脈寬)在周期中,所占用的時間比例 就被稱為占空比。用數(shù)學(xué)公式表示 高電平的時間/周期的時間=占空比。
2,PWM的實現(xiàn)方式
我們?nèi)绾巫寙纹瑱C(jī)輸出PWM波。有兩種方式 一種是直接用I/O輸出,另一種方式利用模塊。
2.1利用I/O口輸出PWM
如果你的單片機(jī)沒有帶有PWM輸出功能模塊,那么你可以自己寫個程序輸出PWM波。因為PWM不就是高低電平。一個I/O在加上一個定時器,對于任何單片機(jī)來說都是很容易做到的。
2.2利用模塊輸出PWM
對于PIC單片機(jī)而言就帶有輸出PWM的功能模塊。利用模塊輸出PWM其實比利用I/O輸出PWM更加簡單便捷精確。
3,PWM的作用
PWM能用來做什么PWM比較典型的應(yīng)用就是對LED調(diào)光和電機(jī)調(diào)速。那PWM是如何進(jìn)行調(diào)光和調(diào)速的呢,其實也很好理解。以給LED調(diào)光為例。給LED一直通電LED是最亮的。不給LED斷電LED是不亮的。那要是在極短的時間內(nèi)給LED不斷的通電斷電。那給人眼的感覺就是LED雖然是亮的,但亮度較低。
如果單片機(jī)高平輸出時LED是亮的。那么在PWM波中高電平輸出的時間越長LED就越亮,反之則越暗。