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

📄 main.c

📁 利用单片机和ad9851来产生1KHz--10MHz的正弦信号的代码。
💻 C
字号:
//本程序为从机模块应用程序,IOA口分配为:IOA0--TLV5618的DIN,DA_DIN;IOA1--DA_SCLK;IOA2--DA_CS;
//IOA3--AD_DCLK;IOA4--AD_CS;IOA5--AD_DIN;IOA6--AD_DOUT;
//IOB5.6.7用于7219显示
//***************************************************************************************//
#include "SPCE061V004.H"
#define	 TIMER_DATA_FOR_1HZ (0x82ff)	    // 时钟频率为Fosc/2,采样率为1Hz	
unsigned long int AMP;                      //CHX的AD转换得到的幅度值
unsigned int AD_Data0,AD_Data1,AD_Data2,AD_Data3;     //CHX的AD转换得到的数据
extern  void Display(unsigned long int data);
unsigned int data_val;             //5618的控制字
//************test yong ***************************************//
unsigned int KeyFlag,KeyVal,test_time;
//*************************************************************// 
//**************************************************************//
//函数名称:InitialAGCIOPort()
//函数功能:初始化AGC的各个IO口
//参数:无
//**************************************************************//
void InitAGCIOPort()
{
    *P_Watchdog_Clear= 0x0001;
    *P_IOA_Dir &= 0xffbf;
    *P_IOA_Dir |= 0x003f;
    *P_IOA_Attrib &= 0xffbf;
    *P_IOA_Attrib |= 0x003f;
    *P_IOA_Data = 0x0000;
    
    *P_IOB_Dir = 0x0002;            //初始化IOB2为带上拉电阻的输入口
    *P_IOB_Attrib = 0x0002;
    *P_IOB_Data = 0x0004;
}
//*************************************************************//
//Delay
//*************************************************************//
void Delay(unsigned int time)
{
	unsigned int i;
	for(i=0;i<time;i++)
	*P_Watchdog_Clear = 1;
}	
//********************************************************************************//
//主函数
//********************************************************************************//
main()
{
	__asm("int off");
	*P_Watchdog_Clear = 1;
	InitAGCIOPort();
	AMP = 0;
	Display(AMP);
	
    AD_Data0 = 0; 
    data_val = 10;
    test_time = 1000;
	CtrlTLV5618(data_val);
	
//	*P_TimerA_Ctrl = 0x0030; 				  	// 时钟频率为CLKA的Fosc/2
//	*P_TimerA_Data = TIMER_DATA_FOR_1HZ; 		// 置入计数初值,显示刷新频率为 1Hz
//	*P_INT_Ctrl=C_IRQ3_EXT1 | 0x1000; 		    //Open IRQ3_EXT1 interrupt and timeA interrupt
	*P_INT_Ctrl=C_IRQ3_EXT1;
	__asm("INT IRQ");

	    while(1)
	 {    
       ///////////////////////////////////////////////////////////////////////////////
/*       KeyFlag = KeyScan();
		if(KeyFlag)
		{
			KeyVal = GetKey();
			switch (KeyVal)
//**********************************************************************************************/
/*	        {  case 1:              
           test_time+=1;
               break;                        
//**********************************************************************************************/              
/*              case 2:             
          test_time-=1;
              break; 
//**********************************************************************************************/
/*              case 3:
           test_time+=10;          
              break;
//**********************************************************************************************/
/*              case 4:
             test_time-=10;       
              break;         
//**********************************************************************************************/          
/*              case 5:
             test_time=0;
		      break;                     
//**********************************************************************************************/
/*              case 6:
            test_time=65535;
                break;                    
//***********************************************************************************************/
/*              case 7: 
              test_time-=100;
              break;                     
//**********************************************************************************************/              
/*              case 8:
              test_time+=100;
              break;                                          
//**********************************************************************************************/             
/*              case 9:

     
              break; 
//**********************************************************************************************/       
/*              case 10:

     
              break; 
//**********************************************************************************************/       
/*              case 11:                   //增加频率搜索50KHz

              break; 
//************************************************************************************************/
/*              case 12:                  //减频搜索50KHz

              break; 
//************************************************************************************************/
/*              case 13:
	
              break; 
//************************************************************************************************/
/*              case 14:
       
              break; 
//************************************************************************************************/  
/*              case 15:

              break; 
//************************************************************************************************/ 
/*              case 16:
    
              break; 
//************************************************************************************************/
/*              default:
              break;
         }                   //switch 结束 
			*P_Watchdog_Clear = 0x0001; 
      } */
      //////////////////////////////////////////////////////////////////////////////////// 
       AGC();
       *P_Watchdog_Clear = 0x0001; 
     }
}       

⌨️ 快捷键说明

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