您的位置 首页 主动

飞思卡尔初学之PWM调试笔记

M9S12XS128单片机有8个独立的PWM输出通道,其中每相邻的两个可以级联成一个通道。本文着重应用实践,理论性的东西少谈为妙,因为理论的东

M9S12XS128单片机 有8个独立的PWM输出通道,其间每相邻的两个能够级联成一个通道。

本文侧重使用实践,理论性的东西少谈为妙,由于理论的东西材料上都有。想借此渠道记载下调试心得避免日后忘记,因自己也是初学该款单片机,不免有过错之处,还期望达人点拨。

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。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/zhudong/257033.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部