什么是脈沖寬度調(diào)制?
那先搬出一段概念: 脈沖寬度調(diào)制 (英語:Pulse Width Modulation,縮寫: PWM ),簡稱 脈寬調(diào)制 ,是將模擬信號變換為脈沖的一種技術(shù),一般變換后脈沖的周期固定,但脈沖的占空比會依模擬信號的大小而改變。
那大家肯定又會問,什么是占空比?其實占空比就是指有效電平占整個輸出信號的比例。PWM在實際應(yīng)用中有什么作用呢,我們以呼吸燈為例,為大家演示PWM的具體用法與實際作用。
詳細(xì)程序講解
首先,配置定時器,將定時器配置為約100us中斷一次。同時在主函數(shù)我們使PWM的占空比(在這里即OUT的值)不斷改變,從0自加到100,再從100 自減到0。50MS的延遲控制燈亮暗的頻率。大家還可以使用按鍵來控制PWM的占空比,來實現(xiàn)亮度控制。
在定時器中斷函數(shù)里,我們設(shè)置一個計數(shù)位,不斷從0增加到100,同時在計數(shù)位大于設(shè)置的占空比OUT時,輸出高電平(P1=0xFF),小于設(shè)置值OUT輸出低電平(P1=0X00)。那么PWM波的頻率也就是1s/(100us*100)=100Hz,(1s除以每次中斷時間*count)。
這個時候io口輸出的其實是按圖中所示的由高低電平組成的波形。一個高電平加一個低電平即為一個周期。
效果展示
實際運行效果,LED燈逐漸變亮又逐漸變暗,如果調(diào)節(jié)變化的速率,還會有新的發(fā)現(xiàn),大家可以試一試。
以上為使用定時器生成PWM波的方法,現(xiàn)在許多比較新的單片機自帶PWM輸出,例如stc12c5a60s2,stm32等,配置的方法各不相同,但是都能實現(xiàn)PWM的輸出與控制。PWM作為一種十分常用的工具,在燈光,電機控制方面有非常廣泛的應(yīng)用,大家如果不滿足于簡單的呼吸燈,還可以通過電機驅(qū)動控制電機,用PWM來實現(xiàn)電機調(diào)速,希望大家可以通過動手實踐,掌握PWM的使用方法。
-
led燈
+關(guān)注
關(guān)注
22文章
1591瀏覽量
107647 -
PWM
+關(guān)注
關(guān)注
114文章
5099瀏覽量
212807 -
電機驅(qū)動
+關(guān)注
關(guān)注
60文章
1181瀏覽量
86469 -
定時器
+關(guān)注
關(guān)注
23文章
3226瀏覽量
114144 -
脈沖寬度調(diào)制
+關(guān)注
關(guān)注
7文章
81瀏覽量
13677
發(fā)布評論請先 登錄
相關(guān)推薦
評論