久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 飛思卡爾初學之PWM調試筆記

飛思卡爾初學之PWM調試筆記

作者: 時間:2016-11-27 來源:網絡 收藏
M9S12XS128單片機 有8個獨立的PWM輸出通道,其中每相鄰的兩個可以級聯成一個通道。

本文著重應用實踐,理論性的東西少談為妙,因為理論的東西資料上都有。想借此平臺記錄下調試心得以免日后遺忘,因本人也是初學該款單片機,難免有錯誤之處,還希望達人指點。

本文引用地址:http://cqxgywz.com/article/201611/322215.htm

PWM應用步驟:

一、PLL初始化,這一步應該說不算PWM設置的內容,但是又必須設置,因為這關系著PWM周期值的計算。從開發板上的晶振來看是16M,但是總線時鐘卻并不是16M,S12單片機里面有個鎖相環設置,要設置好了才準確。具體這個PLL函數我還沒去了解。現在是現成套用。

void PLL_Init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
{ //鎖相環時鐘=2*16*(2+1)/(1+1)=48MHz
CLKSEL=0X00;
PLLCTL=0XE1;
REFDV = 1; //總線時鐘=48/2=24MHz
SYNR = 2;
_asm(nop); // BUS CLOCK=24M
_asm(nop);
while (!(CRGFLG & 0x08)) ;
CLKSEL = 0x80; //選定鎖相環時鐘
}

用了這個PLL初始化函數以后,總線時鐘就是24M了。

二、PWM相關設置

1、禁止PWM。PWME

2、選擇時鐘源。PWMPRCLK, PWMSCLA, PWMSCLB ,PWMCLK。 其中通道0 、1、4、5 可以選擇 ClockA ClockSA。通道2、3、6、7 可以選擇ClockB ClockSB

其中值得說明的是ClockA或ClockB是通過總線時鐘預分頻獲得的。ClockSA或ClockB是分別對ClockA ClockB再次進行分頻獲得的。分頻系數的設置都有相應的寄存器進行設置。后面會提到。

3、極性設置 PWMPOL 。極性是指初始時通道輸出的是高電平還是低電平。這個是關系到占空比的計算。

4、選擇對齊方式 PWMCAE。對齊方式有左對齊和中間對齊兩種。兩種方法在計算占空比時也有差別。

5、設置周期和占空比。PWMPERx PWMDTYx.

6、使能PWM。PWME。

相關寄存器列表如下。




PWM使能寄存器。相應的每一位控制每一個通道。如果是級聯方式,那么使能將由高通道的使能決定。比如

通道0和通道1級聯成16位的PWM,那么這個級聯的PWM的使能就由 PWME_PWME1 決定。


PWM時鐘選擇。0,1,4,5通道 PWMCLK_PCLK(0 or 1 or 4 or 5) =0 (則選擇CLOCKA) =1 (則選擇CLOCKSA)


PWM時鐘源預分頻寄存器

分頻系數的對照表格。 E 代表總線時鐘,也就是前面PLL出來的 Bus Clock。


上一頁 1 2 下一頁

評論


技術專區

關閉