You are on page 1of 4



8?
1 

 )& 
 //
 A0
88 

$

# 
 $

8  
 2     
   )S  $  
     &   
. 
 >
C
M$8 
//
  
2 S
 
I 
  $

%&
8 
 
?
   
   
 
 
/ A 
   T
 0)  & 

 

 $


0  
2  0

     4(!U%   
 
 I $ 
        4$4- 

 # M // $


   


  
  3
   !!"



%

C 
M
 
&1  $% /
0 
#!!M;: 
 /' 

I
0
 $8. 
 
   
 
   $  %
 

 
  
   
 0 J 
&
   


      
    
 
 &
   

 / )


/
 .$P   /I


  C,M$8


  #C %$

V21>>WW???$1I$W $/W XMW,*

&

2 WS/
>


/
&C /  'I S
#"$

R  ) %  /    


$ ' 

&
)S
/ 0)'1 
2 $

SSPADD=119;
SSPSTATbits.CKE=1; // Enable SMBUS
OpenI2C(MASTER,SLEW_OFF); // Init UART I2C*

R 
 
/'
0
 


  A   )  A 





  
 

void send_smbus(unsigned char addr, unsigned char data)


{
addr=addr|0b10000000;
IdleI2C();
StartI2C(); // issue start signal
IdleI2C();
WriteI2C(DEVICE);
IdleI2C();
while(SSPCON2bits.ACKSTAT);
WriteI2C(addr);
IdleI2C();
while(SSPCON2bits.ACKSTAT);
WriteI2C(data);
IdleI2C();
while(SSPCON2bits.ACKSTAT);
StopI2C();
}

6 
0   0%+%A!$& /0%+
F 

76-6/  '


&
>

#define DEVICE 0b11010010





   


  
  #!
   !!"



8,2&  )
 $88A!& /0)  

$

R      

 A  /   )
    $ R  /   GR HC /   
 
2A#K 
'
)
 
! *L$2& /0) 
 A
/$

6 /    $

'   





$  " 
"

!  
 "
  " 
R   
0'  9 
1//  

 & A//




I 88#88  884?


? 


   


  
  ##
   !!"



I Y#Y( %

 
I 7 
#
Y#C(
Y( )&  A 

 

I R  ) 
I ?
K)0 J1L
I R
A0
:

  !   


R 
  /  

 0 
M
 
 
 ')1

/ 
8
2// $

void definedata(UINT M_PLL1, UINT N_PLL1,unsigned char P1,UINT M_PLL2,UINT


N_PLL2,unsigned char P5){

// data 0
data[1]=M_PLL1.low; // M divider[7..0] PLL1
data[2]=N_PLL1.low; // N divider[7..0] PLL1

data[3]=0b00100000|N_PLL1.high<<1|M_PLL1.high;

//PLL3 bypass 0b001xxxxxx


data[4]=M_PLL2.low; // M divider[7..0] PLL2
data[5]=N_PLL2.low; // N divider[7..0] PLL2

data[6]=0b11100000|N_PLL2.high<<1|M_PLL2.high;

//PLL3 bypass
// data 7
// data 8
data[9]=0b00000000; // PLLselP0 -
data[10]=0b00100000; // PLLselP1 OK - CLK SEL = 0 - S1 = S0 =00
data[11]=0b00000000; // input signal source PLLselP3 PLLselP2
data[12]=0b00010000; // PowerDown - PLLselP5 OK - PLLselP6
//data 13
data[14]=P1; //P1 div
//data[15]=0b //P2 div
//data[16]=0b //P3
//data[17]=0b //P4
data[18]=P5; //P5 div
data[19]=0b00100000; //Y0
data[20]=0b00101001; //Y1 enable, divider P1
data[21]=0b00100000; //Y2
data[22]=0b00100000; //Y3
data[23]=0b00100000; //Y4
data[24]=0b00101101; //Y5 enable divider P5


   


  
  # 
   !!"

You might also like