中级会员
- 积分
- 237
- 威望
- 197
- 贡献
- 40
- 兑换币
- 0
- 注册时间
- 2011-4-16
- 在线时间
- 0 小时
|
- /*---------------------------------------------------------*/
- /************************************************************
- 飞翔科技MC9S12XDP512汽车电子综合开发平台
- E-mail:bhfengchong@gmail.com
- 2008f.d@163.com
- 淘宝店:http://fxfreefly.taobao.com
- http://fxfreefly2.taobao.com
- ************************************************************/
- /*---------------------------------------------------------*/
- #include <hidef.h> /* common defines and macros */
- #include "derivative.h" /* derivative-specific definitions */
- #define LEDCPU PORTK_PK4
- #define LEDCPU_dir DDRK_DDRK4
- #define BUS_CLOCK 80000000 //总线频率
- #define OSC_CLOCK 16000000 //晶振频率
- /*************************************************************/
- /* 初始化锁相环 */
- /*************************************************************/
- void INIT_PLL(void)
- {
- CLKSEL &= 0x7f; //设置OSCCLK作为系统时钟
- PLLCTL &= 0x8F; //禁止锁相环
-
- //PLLCLK=2×OSCCLK×(SYNR+1)/(REFDV+1), fbus=PLLCLK/2
- #if(BUS_CLOCK == 120000000)
- SYNR = 0xcd;
- #elif(BUS_CLOCK == 104000000)
- SYNR = 0xcc;
- #elif(BUS_CLOCK == 96000000)
- SYNR = 0xcb;
- #elif(BUS_CLOCK == 88000000)
- SYNR = 0xca;
- #elif(BUS_CLOCK == 80000000)
- SYNR = 0xc9;
- #elif(BUS_CLOCK == 72000000)
- SYNR = 0xc8;
- #elif(BUS_CLOCK == 64000000)
- SYNR = 0xc7;
- #elif(BUS_CLOCK == 56000000)
- SYNR = 0xc6;
- #elif(BUS_CLOCK == 48000000)
- SYNR = 0xc5;
- #elif(BUS_CLOCK == 40000000)
- SYNR = 0x44;
- #elif(BUS_CLOCK == 32000000)
- SYNR = 0x43;
- #elif(BUS_CLOCK == 24000000)
- SYNR = 0x42;
- #elif(BUS_CLOCK == 16000000)
- SYNR = 0x01;
- #endif
- REFDV = 0x81;
- PLLCTL |=0x70; //使能锁相环
- asm NOP;
- asm NOP;
- while(!(CRGFLG&0x08)); //PLLCLK锁定
- CLKSEL |= 0x80; //设置PLLCLK为系统时钟
- }
- /*************************************************************/
- /* 延时函数 */
- /*************************************************************/
- void delay(void)
- {
- unsigned int i,j;
- for(i=0;i<10;i++)
- for(j=0;j<50000;j++);
- }
- /*************************************************************/
- /* 主函数 */
- /*************************************************************/
- void main(void) {
- DisableInterrupts;
- INIT_PLL();
- LEDCPU_dir = 1;
- LEDCPU = 0;
- EnableInterrupts;
-
- for(;;)
- {
- delay();
- LEDCPU = ~LEDCPU; //反转灯的状态
- }
- }
复制代码 |
|