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

📄 ad_sample.c

📁 一个电力系统谐波检测的程序
💻 C
字号:
#include "..\APP\config.h"
 
 void AD_INIT()
 {
 
	 PINSEL1 |=(1<<22);
	 PINSEL1 |=(1<<24);
	 PINSEL1 |=(1<<26);// 
	 PINSEL1 |=(1<<18);
	 PINSEL1 |=(1<<20);
	 PINSEL0 |=(3<<8);
	/* 进行ADC模块设置 */
	AD0CR = (0 << 0)						|	// SEL=8,选择通道3
			((Fpclk / 1000000 - 1) << 8)	|	// CLKDIV=Fpclk/1000000-1,转换时钟为1MHz
			(0 << 16)						|	// BURST=0,软件控制转换操作
			(0 << 17)						|	// CLKS=0, 使用11clock转换
			(1 << 21)						|  	// PDN=1,正常工作模式
			(0 << 22)						|  	// TEST1:0=00,正常工作模式
			(0 << 24)						|	// START=1,直接启动ADC转换
			(0 << 27);						 	// 直接启动ADC转换时,此位无效
 	//DelayNS(10);
	//ADC_Data = AD0DR;		// 读取ADC结果,并清除DONE标志位	 
 }
 void AD_START()
 {
		uint32 AD_RESULT[6];  uint8 i=0;
		memset(AD_RESULT,0,sizeof(AD_RESULT))  ;
	 	for(i=0;i<6;i++)
		{
			 
	 	  if(i<3)	 {	AD0CR = (1 << i)						|	// SEL=8,选择通道3
			((Fpclk / 1000000 - 1) << 8)	|	// CLKDIV=Fpclk/1000000-1,转换时钟为1MHz
			(0 << 16)						|	// BURST=0,软件控制转换操作
			(0 << 17)						|	// CLKS=0, 使用11clock转换
			(1 << 21)						|  	// PDN=1,正常工作模式
			(0 << 22)						|  	// TEST1:0=00,正常工作模式
			(0 << 24)						|	// START=1,直接启动ADC转换
			(0 << 27);						 	// 直接启动ADC转换时,此位无效
		   }
	 	  else {	AD0CR = (1 << i+1)						|	// SEL=8,选择通道3
			((Fpclk / 1000000 - 1) << 8)	|	// CLKDIV=Fpclk/1000000-1,转换时钟为1MHz
			(0 << 16)						|	// BURST=0,软件控制转换操作
			(0 << 17)						|	// CLKS=0, 使用11clock转换
			(1 << 21)						|  	// PDN=1,正常工作模式
			(0 << 22)						|  	// TEST1:0=00,正常工作模式
			(0 << 24)						|	// START=1,直接启动ADC转换
			(0 << 27);						 	// 直接启动ADC转换时,此位无效
		  }	
	 
  	    AD0CR |=START_AD;
     	while ((AD0DR & 0x80000000) == 0);
	 	AD_RESULT[i]=AD0DR;
		AD_RESULT[i] = (AD_RESULT[i] >> 6) & 0x3ff;
	    
		}
 }
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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