⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4360.c

📁 ADS下基于AT91SAM7X256-EK的可以运行的uCOS-II源码
💻 C
字号:
// 导入头文件
#include "AT91SAM7X256.h"
#include "4360.h"






// 函数原型
/*_______________________________________________________________________________________________
__函数原型:	void CONTROL_register(void)
__参数说明:   无
__返回值:     无
__说明:		向C寄存器发送3字节的控制数据;
_______________________________________________________________________________________________*/
 void CONTROL_register()
{  
  //unsigned long control=1042820; //R DIVIDER OUTPUT
 //unsigned long control=1042724;//digital lock detect
 //unsigned long control=1042916;  //111
  //unsigned long control=1042788;  //011
  //unsigned long control=1042756; //N DIVIDER OUTPUT
 unsigned long control=0x025940;  
 unsigned char i;
 *AT91C_PIOA_CODR=AT91C_PIO_PA0;
 *AT91C_PIOA_CODR=AT91C_PIO_PA2;
 
 DELAY(1);
 for(i=0;i<24;i++)
  {
   if((control&0x800000)==0x800000)
   *AT91C_PIOA_SODR=AT91C_PIO_PA1,
   DELAY(1),
   *AT91C_PIOA_SODR=AT91C_PIO_PA0,
   DELAY(1),
   *AT91C_PIOA_CODR=AT91C_PIO_PA0;
   else
   *AT91C_PIOA_CODR=AT91C_PIO_PA1,
   DELAY(1),
   *AT91C_PIOA_SODR=AT91C_PIO_PA0,
   DELAY(1),
   *AT91C_PIOA_CODR=AT91C_PIO_PA0;
   control=control<<1;
  }
 DELAY(10);
 *AT91C_PIOA_SODR=AT91C_PIO_PA2;
 DELAY(10);
 *AT91C_PIOA_CODR=AT91C_PIO_PA2;
}




/*_______________________________________________________________________________________________
__函数原型:	void  N_register(compose)
__参数说明:   无
__返回值:     无
__说明:		向N寄存器发送3字节数据,该数据用于频率合成;
_______________________________________________________________________________________________*/

 void  N_register(unsigned long compose)
{  
 unsigned char i;
 *AT91C_PIOA_CODR=AT91C_PIO_PA0;
 *AT91C_PIOA_CODR=AT91C_PIO_PA2;
 DELAY(1);
  for(i=0;i<24;i++)
  {
   if((compose&0x800000)==0x800000)
   *AT91C_PIOA_SODR=AT91C_PIO_PA1,
   DELAY(1),
   *AT91C_PIOA_SODR=AT91C_PIO_PA0,
   DELAY(1),
   *AT91C_PIOA_CODR=AT91C_PIO_PA0;
   else
   *AT91C_PIOA_CODR=AT91C_PIO_PA1,
   DELAY(1),
   *AT91C_PIOA_SODR=AT91C_PIO_PA0,
   DELAY(1),
   *AT91C_PIOA_CODR=AT91C_PIO_PA0;
    compose=compose<<1;
  }
 DELAY(10);
 *AT91C_PIOA_SODR=AT91C_PIO_PA2;
 DELAY(10);
 *AT91C_PIOA_CODR=AT91C_PIO_PA2;
 DELAY(100);
  DELAY(100);
   DELAY(100);
    DELAY(100);
     DELAY(100);
      DELAY(100);

}



/*_______________________________________________________________________________________________
__函数原型:	void R_register(discompose)

__参数说明:	无
__返回值:	无
__说明:	   	向R寄存器发送3字节数据,该数据用于分频;
__________________________________________________________________________*/
 void R_register()
{ 
 unsigned char i;
 //unsigned long R=393617;  //6ns
 //unsigned long R=262545; //3ns
 unsigned long R=0x130029;//10分频
 *AT91C_PIOA_CODR=AT91C_PIO_PA0;
 *AT91C_PIOA_CODR=AT91C_PIO_PA2;
 DELAY(1);
 for(i=0;i<24;i++)
  {
   if((R&0x800000)==0x800000)
   *AT91C_PIOA_SODR=AT91C_PIO_PA1,
   DELAY(1),
   *AT91C_PIOA_SODR=AT91C_PIO_PA0,
   DELAY(1),
   *AT91C_PIOA_CODR=AT91C_PIO_PA0;
   else
   *AT91C_PIOA_CODR=AT91C_PIO_PA1,
   DELAY(1),
   *AT91C_PIOA_SODR=AT91C_PIO_PA0,
   DELAY(1),
   *AT91C_PIOA_CODR=AT91C_PIO_PA0;
   R=R<<1;
  }
 DELAY(10);
 *AT91C_PIOA_SODR=AT91C_PIO_PA2;
 DELAY(10);
 *AT91C_PIOA_CODR=AT91C_PIO_PA2;
}




/****************************
          延时程序
****************************/

void DELAY(unsigned int n)
{
  unsigned int i,j;
  for(j=0;j<n;j++){
      for(i=0;i<10;i++);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -