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

📄 user.h

📁 2407DSP开发应用程序实例(有14个常用模块程序)
💻 H
字号:
/********************************************************
*	文件名:user.h
*	说明:	该文件中定义全局变量
*	程序员:崔晶
*	日期:	2003.6.2
*********************************************************/
//定义采样点数
#define N	32
//N=2**M 
#define M	5
#define pi	3.1416	
//-----------------------------------------------------------------------------------											
//定义三相电流、电压,励磁电压、励磁电流的采样结果保存数组,放在DARAM的B0块中,起始地址2000h
//-----------------------------------------------------------------------------------
#pragma DATA_SECTION(ia, ".user0")
int ia[N]={2730, 1755, 712, -358, -1414, -2416, -3325, -4107, -4730, -5172,
    	-5415, -5450, -5276, -4899, -4333, -3601, -2731, -1756, -713, 357,
    	 1413, 2415, 3324, 4106, 4729, 5171, 5414, 5449, 5275, 4898,
    	 4332, 3600};
/*{-9831, 1981, 15589, 9817, 4857, 9477, 6492, 1347, 7431, 5642,
    	 -13141, -17918, 223, 9093, 2441, 3895, 9830, 6109, 6785, 15399,
    	 8249, -8480, -2654, 16775, 18782, 12480, 16979, 18915, 12883, 16123,
    	 19933, 4196};*/ 
#pragma DATA_SECTION(ib, ".user0")
int ib[N]={9830, 6109, 6785, 15399, 8249, -8480, -2654, 16775, 18782, 12480,
    	 16979, 18915, 12883, 16123, 19933, 4196, -9831, 1981, 15589, 9817,
    	 4857, 9477, 6492, 1347, 7431, 5642, -13141, -17918, 223, 9093,
    	 2441, 3895}; 
#pragma DATA_SECTION(ic, ".user0")
int ic[N]={9830, 3895, 2441, 9093, 223, -17918, -13141, 5642, 7431, 1347,
     	6492, 9477, 4857, 9817, 15589, 1981, -9831, 4196, 19933, 16123,
     	12883, 18915, 16979, 12480, 18782, 16775, -2654, -8480, 8249, 15399,
    	 6785, 6109};
#pragma DATA_SECTION(ua, ".user0")
int ua[N]={6553, 6427, 6054, 5449, 4634, 3640, 2507, 1278, 0, -1279,
    	 -2508, -3641, -4635, -5450, -6055, -6428, -6554, -6428, -6055, -5450,
    	 -4635, -3641, -2508, -1279, -1, 1278, 2507, 3640, 4634, 5449,
    	 6054, 6427};
/*{24576, 18304, 17119, 25524, 13984, -9672, -5170, 16408, 16384, 6245,
     	9967, 10918, 2399, 5995, 10849, -8191, -24576, -8191, 10849, 5995,
     	2399, 10918, 9967, 6245, 16383, 16408, -5170, -9672, 13984, 25524,
     	17119, 18304};*/ 
#pragma DATA_SECTION(ub, ".user0")
int ub[N]={12288, 7637, 8481, 19249, 10312, -10600, -3318, 20969, 23478, 15600,
    	 21224, 23644, 16104, 20154, 24917, 5245, -12288, 2477, 19487, 12271,
    	 6071, 11846, 8115, 1684, 9289, 7053, -16426, -22397, 279, 11366,
    	 3051, 4868}; 
#pragma DATA_SECTION(uc, ".user0")
int uc[N]={12288, 4868, 3051, 11366, 279, -22397, -16426, 7053, 9289, 1684,
    	 8115, 11846, 6071, 12271, 19487, 2477, -12289, 5245, 24917, 20154,
    	 16104, 23644, 21224, 15600, 23478, 20969, -3318, -10600, 10312, 19249,
    	 8481, 7637}; 
#pragma DATA_SECTION(irf, ".user0")
//-----------------------------------------------------------------------------------
int irf[N]={0}; 
#pragma DATA_SECTION(uf, ".user0")
int uf[N]={0};
//-----------------------------------------------------------------------------------
//定义FFT结果的保存数组,放在B1块,起始地址3000h
//-----------------------------------------------------------------------------------
#pragma DATA_SECTION(intest, ".user1") 
int intest[2*N]={0};
//-----------------------------------------------------------------------------------
//FFT分析结果保存数组
//-----------------------------------------------------------------------------------
int iaout[2*N]={0};
int ibout[2*N]={0};
int icout[2*N]={0}; 
int uaout[2*N]={0};
int ubout[2*N]={0};
int ucout[2*N]={0};
//-----------------------------------------------------------------------------------
//三相电压、电流的均方根值
//-----------------------------------------------------------------------------------
int ia_rms=0,ib_rms=0,ic_rms=0,ua_rms=0,ub_rms=0,uc_rms=0;
int pa=0,pb=0,pc=0,pall=0;
//-----------------------------------------------------------------------------------
//全波富立叶算法得到的三相电压、电流的实部、虚部
//-----------------------------------------------------------------------------------
int ia_real=0,ia_imag=0,ib_real=0,ib_imag=0,ic_real=0,ic_imag=0;
int ua_real=0,ua_imag=0,ub_real=0,ub_imag=0,uc_real=0,uc_imag=0;
//----------------------------------------------------------------------------------- 
//三相电压、电流的相角
//-----------------------------------------------------------------------------------
unsigned int phi_ia,phi_ua,phi_ib,phi_ub,phi_ic,phi_uc,phi_a,phi_b,phi_c;
//-----------------------------------------------------------------------------------
//定义标志位
//-----------------------------------------------------------------------------------
unsigned char flag_ad=0;		//N点A/D采样结束标志位  
    
//-----------------------------------------------------------------------------------
//data for 32 points FFT
//sample function: x=1/4+1/4cos(3*2*pi*f*t)-1/4cos(6*2*pi*f*t)+1/4cos(9*2*pi*f*t);
//f=50Hz
//-----------------------------------------------------------------------------------
int indatr[N]={16384, 10270, 9551, 18713, 8192, -14223, -8304, 14810, 16384, 7843,
     13102, 15469, 8192, 12807, 18418, -157, -16384, -157, 18418, 12807,
     8191, 15469, 13102, 7843, 16383, 14810, -8304, -14223, 8192, 18713,
     9551, 10270
};
//32点FFT的sin 表 
//---------------------------------------------------------------			
const int sintab[N]={
			0x7FFF,0x0000,0x7D89,0xE708,0x7640,0xCF05,0x6A6C,0xB8E4,
			0x5A81,0xA57F,0x471C,0x9594,0x30FB,0x89C0,0x18F8,0x8277,
			0x0000,0x8001,0xE708,0x8277,0xCF05,0x89C0,0xB8E4,0x9594,
			0xA57F,0xA57F,0x9594,0xB8E4,0x89C0,0xCF05,0x8277,0xE708,
};
//32点全波富立叶算法的sin和cos 表,Q15格式
//---------------------------------------------------------------			
int sintabf[N]={
			0,6392,12539,18204,23170,27245,30273,32138,32767,32138,
    			30273,27245,23170,18204,12539,6392,0,-6393,-12540,-18205,
    			-23171,-27246,-30274,-32139,-32767,-32139,-30274,-27246,
    			-23171,-18205,-12540, -6393
};
int costabf[N]={
			32767,32138,30273,27245,23170,18204,12539,6392,0,-6393,
    			-12540,-18205,-23171,-27246,-30274,-32139,-32767,-32139,
    			-30274,-27246,-23171,-18205,-12540,-6393,-1,6392,12539,
    			18204,23170,27245,30273,32138,	
};
/**********************I2C子程序用到的变量********************/
/*00h:控制字00,02-03h秒(XXXX,XXXX),分((XXXX,XXXX),*/
/*04-05h;时(XXXX,XXXX),年(XX),日期(XX,XXXX),06h;星期(XXX),月份(X,XXXX)*/

unsigned int 	time[5];////读出的时间time[0]年(XXXX XXXX XXXX XXXX)、time[1]月(XXXX XXXX)日(XXXX XXXX)、
		       ////time[2]星期(0000 XXXX)时(XXXX XXXX)、time[3]分(XXXX XXXX)秒(XXXX XXXX)
unsigned int	pcf_data[8];
unsigned int    year_base;
unsigned int 	chtime[4];//写日历时钟

unsigned int	prom_data[50];	//写EEPROM的暂时寄存器

unsigned int 	SET_SAVE_Flag=0;	//向eeprom中写定值标志
unsigned int 	SET_SAVE_Timer=0; 
//////////////////////////////////////
unsigned int source[6]={0x22,0x18,0x05,0x09,0x06,0x01};
unsigned int result[6];

⌨️ 快捷键说明

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