智能车制作
标题:
【分享】PWM控制
[打印本页]
作者:
wanbei
时间:
2011-4-18 19:43
标题:
【分享】PWM控制
#include <hidef.h> /* common defines and macros */
#include <mc9s12xs128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128mal"
void PLL_Init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
{ //锁相环时钟=2*16*(2+1)/(1+1)=19.2MHz
REFDV=4; //总线时钟=19.2/2=9.6MHz
SYNR=2;
while(!(CRGFLG&0x08));
CLKSEL=0x80; //选定锁相环时钟
}
/******************************************************************************************
//-----PWM初始化程序------//
******************************************************************************************/
void PWM_duoji_Init(unsigned char ZK)
{
PWME_PWME2=0; //关闭0通道
PWMPRCLK=0X70; //对总线时钟进行预分频,总线时钟为9.6M,分频后为 7.5K
PWMCLK_PCLK2=0; //设B 为其时钟源
PWMSCLB=0X7d;
PWMPOL_PPOL2=1;//上升沿翻转
PWMCAE_CAE2=0;//左对齐输出
PWMDTY2=ZK; //占空比为50%的波形
PWMPER2=249; //输出为 300Hz的波
PWMCNT2=0X00;//0 通道计数器清0
PWME_PWME2=1;//0 通道使能,0通道为输出通道
}
/*void PWM_dianji_Init(unsigned char ZK)
{
PWME_PWME1=0; //关闭0通道
PWMPRCLK=0X07; //对总线时钟进行预分频,总线时钟为9.6M,分频后为 7.5K
PWMCLK_PCLK1=0; //设A 为其时钟源
PWMSCLA=0X7d;
PWMPOL_PPOL1=1;//上升沿翻转
PWMCAE_CAE1=0;//左对齐输出
PWMDTY1=ZK; //占空比为50%的波形
PWMPER1=249; //输出为 300Hz的波
PWMCNT1=0X00;//0 通道计数器清0
PWME_PWME1=1;//0 通道使能,0通道为输出通道
} */
void main()
{
PLL_Init();
PWM_duoji_Init(86);
//PWM_dianji_Init(125);
EnableInterrupts;
for(;;)
{
_FEED_COP(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
作者:
瞬风
时间:
2011-4-23 12:23
谢谢诶
作者:
瞬风
时间:
2011-4-23 12:23
谢谢诶
作者:
376924623
时间:
2011-4-24 16:04
谢谢啦
作者:
hello1043
时间:
2011-4-28 21:43
谢谢哎
作者:
csy10841054
时间:
2012-2-24 15:09
谢哎
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2