锁相环(PLL)总线频率控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */

#define N 60 //N在0-120之间表示转过角度数

#define BUS_CLOCK 32000000 //总线频率
#define OSC_CLOCK 16000000 //晶振频率

/*************************************************************/
/* 初始化锁相环 */
/*************************************************************/
void INIT_PLL(void)
{
CLKSEL &= 0x7f; //set OSCCLK as sysclk
PLLCTL &= 0x8F; //Disable PLL circuit
CRGINT &= 0xDF;

#if(BUS_CLOCK == 40000000)
SYNR = 0x44;
#elif(BUS_CLOCK == 32000000)
SYNR = 0x43;
#elif(BUS_CLOCK == 24000000)
SYNR = 0x42;
#endif

REFDV = 0x81; //PLLCLK=2×OSCCLK×(SYNR+1)/(REFDV+1)=64MHz ,fbus=32M
PLLCTL =PLLCTL|0x70; //Enable PLL circuit
asm NOP;
asm NOP;
POSTDIV=0x02;
while(!(CRGFLG&0x08)); //PLLCLK is Locked already
CLKSEL |= 0x80; //set PLLCLK as sysclk
}


void INIT_PWM(void)
{
PWME=0;
PWMCTL_CON67=1;//通道67联结

PWMPOL_PPOL7=1;//通道7设置初始输出高电平
PWMCAE_CAE7=0;//左对齐
PWMPER67=18500;//67,T=1s
PWMDTY67=920+N*10;//67,50%


PWMCLK_PCLK7=0;//67,使用clockB
PWMPRCLK=0x30;//8分频

PWME_PWME7=1;//7使能,
}

void main(void)
{
DisableInterrupts;
INIT_PLL();
INIT_PWM();
EnableInterrupts
for(;;)
;
}

相关文档
最新文档