枭龙战机

AD9833产生三角波初始化

0
阅读(2471)
//初始化
void AD9833_Init(void)
 {
 Write_16bit_All_Two(0x21,0x00); //RESET=1,
 //初始化为标准三相电源
 Write_16bit_All_Two(0x00,0x00); //RESET=0,
 }
//初始化为频率为50,相位移为0
void AD9833_50HZ_0Ps_Init(void)
 {
 Write_28bit_One_FR(1, 0, 0x6a,0x40,0x40,0x13 );
 Write_28bit_One_FR(1, 1, 0xaa,0x40,0x80,0x13);
 Write_12bit_One_PR(1, 0, 0, 0,0);
 Write_12bit_One_PR(1, 1, 0, 0,0);
 }
void Write_12bit_One_PR(bit If_to_all, bit Phase_0_or_1, UNCHAR Char_1,UNCHAR 
Char_2,UNCHAR AD9833_CS)
{
UNINT word_12;
if (Phase_0_or_1 == 1)
     word_12= Char_1 |0xE0;  
else
      word_12= Char_1 |0xC0; 
if (If_to_all == 1) 
     {
     Write_16bit_All_Two(word_12,Char_2);
 }
else 
 {
 Write_16bit_One(word_12,Char_2,Which_AD9833_CS);
   }
}
void Write_14bit_One_FR(  bit Msbs_or_Lsbs, bit If_to_All,UNCHAR 
FREQ0_or_1,UNCHAR  Char_1,UNCHAR Char_2,UNCHAR Which_AD9833_CS)
{
  UNCHAR word_14_h,control_word_h,control_word_l;
  if (FREQ0_or_1 == 1)  
   {  
     word_14_h= Char_1 |0x80;
   }
  else  
   {
     word_14_h= Char_2 |0x40;
   }
if(Msbs_or_Lsbs == 1)  
 {
 control_word_h= 0x10 ;
 control_word_l = 0x00;
 }
else
 { 
   control_word_h= 0x00 ;
 control_word_l = 0x00;
 }
if (If_to_All == 1) 
   {  
     Write_16bit_All_Two(0x20,0x00);
     Write_16bit_All_Two(word_14_h,Char_2);
   }
else 
   {
     Write_16bit_One(0x20,0x00, Which_AD9833_CS);
     Write_16bit_One(word_14_h,Char_2, Which_AD9833_CS);
 }