27,373
社区成员
发帖
与我相关
我的任务
分享
//===========================================================================
//函数名称: MCUInit.c (AW60系统初始化子程序)
//函数参数: 无
//函数返回: 无
//功能概要: 系统初始化设置,设置ICGC1和ICGC2寄存器,SOPT的寄存器设置,由外部晶振
// f = 4MHz,产生内部总线时钟f = 20MHz
//===========================================================================
#include "MC9S08AW60.h"
void MCUInit(void)
{
SOPT = 0b01100000; //关闭看门狗
ICGC2 = 0b00110000; //ICG设置总线频率
ICGC1 = 0b01111000;
while(!ICGS1_LOCK); //等待FLL稳定
}
#include <MC9S12XEP100.h>
#define BUS_CLOCK 40000000 //总线频率
#define OSC_CLOCK 16000000 //晶振频率
void MCUInit(void)
{
CLKSEL &= 0x7f;
PLLCTL &= 0x8F;
CRGINT &= 0xDF;
#if(BUS_CLOCK == 40000000)
SYNR = 0x44;
#endif
REFDV = 0x83; //PLLCLK=2×OSCCLK×(SYNDIV+1)/(REFDIV+1)=40MHz ,fbus=20M
PLLCTL =PLLCTL|0x70;
asm NOP;
asm NOP;
while(!(CRGFLG&0x08));
CLKSEL |= 0x80;
}