智能车制作

标题: 求教 关于S12超频问题 [打印本页]

作者: 150vb    时间: 2011-3-27 14:41
标题: 求教 关于S12超频问题
我的代码如下,但是就是不稳定,没跑上几圈就降回去了。郁闷啊~~~请求高手指教!!!
  1. void init_PLL(void)         //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
  2.         {   
  3.             CLKSEL=0x00;          // disengage PLL to system
  4.             PLLCTL_PLLON=1;       // turn on PLL
  5.             SYNR=0xc0|0x04;            // VCOFRQ[7:6];SYNDIV[5:0]
  6.                             // fVCO= 2*fOSC*(SYNDIV + 1)/(REFDIV + 1)
  7.                             // fPLL= fVCO/(2 × POSTDIV)
  8.                             // fBUS= fPLL/2
  9.                             // VCOCLK Frequency Ranges  VCOFRQ[7:6]
  10.                             // 32MHz <= fVCO <= 48MHz    00
  11.                             // 48MHz <  fVCO <= 80MHz    01
  12.                             // Reserved                  10
  13.                             // 80MHz <  fVCO <= 120MHz   11                
  14.             REFDV=0x80|0x01;           // REFFRQ[7:6];REFDIV[5:0]
  15.                             // fREF=fOSC/(REFDIV + 1)
  16.                             // REFCLK Frequency Ranges  REFFRQ[7:6]
  17.                             // 1MHz <= fREF <=  2MHz       00
  18.                             // 2MHz <  fREF <=  6MHz       01
  19.                             // 6MHz <  fREF <= 12MHz       10
  20.                             // fREF >  12MHz               11                        
  21.                             // pllclock=2*osc*(1+SYNR)/(1+REFDV)=80MHz;
  22.             POSTDIV=0x00;         // 4:0, fPLL= fVCO/(2xPOSTDIV)
  23.                             // If POSTDIV = $00 then fPLL is identical to fVCO (divide by one).
  24.                             // BUS CLOCK=40M
  25.             _asm(nop);
  26.             _asm(nop);
  27.             while(!(CRGFLG_LOCK==1));//when pll is steady ,then use it;
  28.             CLKSEL=0x80;          //engage PLL to system
  29.         }
复制代码





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2