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

📄 ad1.c

📁 DSP2407的AD程序
💻 C
字号:
#include "SEED-DEC2407.h"

unsigned int k,j,Ad_data[16];

void kick_dog()
{
 *WDKEY =0X5555;
 *WDKEY=0XAAAA;
}

void SystemInit(void)
{
	 WSGR = 0;	
    *WDCR = 0x6f;
	*SCSR1 = 0x0280; //2*fin,且使能ADC  
}

void AdInit(void)
{
	/* reset adc */
	*ADCTRL1 = 0x4000; 
	*ADCTRL2 = 0x4000;
	*MAXCONV = 0;
	kick_dog();
    
	/* run,seq casc operation */
	*ADCTRL1 = 0x3F10;
	*MAXCONV = 0x0f;
	
	*CHSELSEQ1 = 0x3210;
	*CHSELSEQ2 = 0x7654;
	*CHSELSEQ3 = 0xBA98;
	*CHSELSEQ4 = 0xFEDC;
	kick_dog();
	*ADCTRL2 = 0x2600;   //?
}

interrupt void AD(void)
{
	unsigned int k;
	if((*PIVR & 0x04) == 0x04)
	
	{
	
		   *PIACKR0 = *PIACKR0 | 0x04;//?
		   Ad_data[0] = *RESULT0;
		   Ad_data[1] = *RESULT1;
		   Ad_data[2] = *RESULT2;
		   Ad_data[3] = *RESULT3;
		   Ad_data[4] = *RESULT4;
		   Ad_data[5] = *RESULT5;
		   Ad_data[6] = *RESULT6;
		   Ad_data[7] = *RESULT7;
		   Ad_data[8] = *RESULT8;
 		   Ad_data[9] = *RESULT9;
		   Ad_data[10] = *RESULT10;
		   Ad_data[11] = *RESULT11;
		   Ad_data[12] = *RESULT12;
		   Ad_data[13] = *RESULT13;
		   Ad_data[14] = *RESULT14;
		   Ad_data[15] = *RESULT15;
		   
          for(k=0;k<=15;k++)
   {    
    Ad_data[k]=Ad_data[k]>>6; 	// 把AD转换的结果右移6位后存入规定的数组
                         		//检验每个A/D转换的结果
      }
		   *ADCTRL2 = *ADCTRL2|  0x2000;	   
	} 
	*IFR = 0x01;
  asm(" CLRC INTM ");
   
} 
void PHANTOM()
{

}

void main()
{
	unsigned int i;
	i = 0;
	j = 0;
	//DINT;
	asm(" SETC INTM ");
	SystemInit();
	*IFR = 0x3f;
	*IMR = 0x0001; 
    AdInit(); 
	asm(" CLRC INTM ");
	//EINT; 
	for(;;)
	{

   asm(" RPT #5");
   asm(" NOP");
	}
}

⌨️ 快捷键说明

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