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

📄 soundtable.h

📁 dspic开发控制程序,有助开发pic单片机程序
💻 H
字号:
#ifndef SOUNDTABLE_DATA
#define SOUNDTABLE_DATA

const fractional SIN_TBL[256] = 
{
     0,   804,  1607,  2410,  3211,  4011,  4807,  5601,  6392,  7179,
  7961,  8739,  9511, 10278, 11038, 11792, 12539, 13278, 14009, 14732,
 15446, 16150, 16845, 17530, 18204, 18867, 19519, 20159, 20787, 21402,
 22004, 22594, 23169, 23731, 24278, 24811, 25329, 25831, 26318, 26789,
 27244, 27683, 28105, 28510, 28897, 29268, 29621, 29955, 30272, 30571,
 30851, 31113, 31356, 31580, 31785, 31970, 32137, 32284, 32412, 32520,
 32609, 32678, 32727, 32757, 32767, 32757, 32727, 32678, 32609, 32520,
 32412, 32284, 32137, 31970, 31785, 31580, 31356, 31113, 30851, 30571,
 30272, 29955, 29621, 29268, 28897, 28510, 28105, 27683, 27244, 26789,
 26318, 25831, 25329, 24811, 24278, 23731, 23169, 22594, 22004, 21402,
 20787, 20159, 19519, 18867, 18204, 17530, 16845, 16150, 15446, 14732,
 14009, 13278, 12539, 11792, 11038, 10278,  9511,  8739,  7961,  7179,
  6392,  5601,  4807,  4011,  3211,  2410,  1607,   804,     0,  -804,
 -1607, -2410, -3211, -4011, -4807, -5601, -6392, -7179, -7961, -8739,
 -9511,-10278,-11038,-11792,-12539,-13278,-14009,-14732,-15446,-16150,
-16845,-17530,-18204,-18867,-19519,-20159,-20787,-21402,-22004,-22594,
-23169,-23731,-24278,-24811,-25329,-25831,-26318,-26789,-27244,-27683,
-28105,-28510,-28897,-29268,-29621,-29955,-30272,-30571,-30851,-31113,
-31356,-31580,-31785,-31970,-32137,-32284,-32412,-32520,-32609,-32678,
-32727,-32757,-32767,-32757,-32727,-32678,-32609,-32520,-32412,-32284,
-32137,-31970,-31785,-31580,-31356,-31113,-30851,-30571,-30272,-29955,
-29621,-29268,-28897,-28510,-28105,-27683,-27244,-26789,-26318,-25831,
-25329,-24811,-24278,-23731,-23169,-22594,-22004,-21402,-20787,-20159,
-19519,-18867,-18204,-17530,-16845,-16150,-15446,-14732,-14009,-13278,
-12539,-11792,-11038,-10278, -9511, -8739, -7961, -7179, -6392, -5601,
 -4807, -4011, -3211, -2410, -1607,  -804
};

typedef struct
{
	int mphzinc; 		 //调制phz增量值
	int mphzacc; 		 //调制phz累加器
	int mindexslope; //调制索引斜率值
	int mindex; 		 //调制索引
	int cphzinc; 		 //载波phz增量值(.10986Hz 增量)
	int cphzacc; 		 //载波phz累加器
	int campslope; 	 //载波幅值斜率值
	int camp; 		   //载波幅值
} FMGenStruct;


typedef struct
{
	int minc0; 	//波形发生器0初始调制phz增量值
	int mindx0;	//波形发生器0初始调制索引值
	int cinc0; 	//波形发生器0初始载波phz增量值
	int camp0; 	//波形发生器0初始载波幅值值
	int minc1; 	//波形发生器1初始调制phz增量值
	int mindx1;	//波形发生器1初始调制索引值
	int cinc1; 	//波形发生器1初始载波phz增量值
	int camp1; 	//波形发生器1初始载波幅值值
	int minc2; 	//波形发生器2初始调制phz增量值
	int mindx2;	//波形发生器2初始调制索引值
	int cinc2; 	//波形发生器2初始载波phz增量值
	int camp2; 	//波形发生器2初始载波幅值值
}FMInitStruct;


typedef struct
{
int changepos;  //当改变时应该发生(每1/7200秒自增)
int mslope0;    //FM波形发生器0调制索引斜率值
int caslope0;   //FM波形发生器0载波幅值斜率值
int mslope1;    //FM波形发生器1调制索引斜率值
int caslope1;   //FM波形发生器1载波幅值斜率值
int mslope2;    //FM波形发生器2调制索引斜率值
int caslope2;   //FM波形发生器2载波幅值斜率值
} FMDataStruct;

//==============================================
//滴答声频率1.2KHz
const FMInitStruct TICK_INI = 
{	//minc, mindx, cinc, camp
	13653,10000,10923,10000, 	//波形发生器0
	0,0,0,0,					        //波形发生器1
	0,0,0,0						        //波形发生器2
};

const FMDataStruct TICK_DATA[3] = 
{//	pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
	50,-200,-100,0,0,0,0,
   100,   0,-100,0,0,0,0,
	0,0,0,0,0,0,0
};

//==============================================
// 托科鸟声音,频率为960Hz
const FMInitStruct TOCK_INI = 
{	//minc, mindx, cinc, camp
	13653,10000,8738,10000,		//波形发生器0
	0,0,0,0,					        //波形发生器1
	0,0,0,0						        //波形发生器2
};

const FMDataStruct TOCK_DATA[3] = 
{//	pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
	50,-200,-100,0,0,0,0,
   100,   0,-100,0,0,0,0,
	0,0,0,0,0,0,0
};

//==============================================
// 一声铃响声,频率为1500Hz
const FMInitStruct BELL1_INI = 
{	//minc, mindx, cinc, camp
	9751,10010,13653,0,			//波形发生器0
	0,0,0,0,					      //波形发生器1
	0,0,0,0						      //波形发生器2
};

const FMDataStruct BELL1_DATA[8] = 
{//	pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
	30, -143,800, 0,0,0,0,	//4mS
	70, -143,-12, 0,0,0,0,	//10ms
	1000,  0,-12, 0,0,0,0,	
	2000,  0, -6, 0,0,0,0,
	3000,  0, -3, 0,0,0,0,
	4000,  0, -2, 0,0,0,0,
	5000,  0, -1, 0,0,0,0,
	0,0,0,0,0,0,0
};

//==============================================
//两声铃响声
const FMInitStruct BELL2_INI = 
{	//minc, mindx, cinc, camp
	9751,10010,13653,0,			//波形发生器0
	9751,10010,13653,0,			//波形发生器1
	0,0,0,0						      //波形发生器2
};

const FMDataStruct BELL2_DATA[12] = 
{//	pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
	30, -143,800,   0,  0,0,0,	//4mS
	70, -143,-12,   0,  0,0,0,	//10ms
	1000,  0,-12,   0,  0,0,0,	
	2000,  0, -6,   0,  0,0,0,
	2030,  0, -6,-143,800,0,0,
	2070,  0, -6,-143,-12,0,0,
	3000,  0, -3,   0,-12,0,0,
	4000,  0, -2,   0, -6,0,0,
	5000,  0, -1,   0, -3,0,0,
	6000,  0,  0,   0, -2,0,0,
	7000,  0,  0,   0, -1,0,0,
	0,0,0,0,0,0,0
};

//==============================================
// 三声铃响声
const FMInitStruct BELL3_INI = 
{	//minc, mindx, cinc, camp
	9751,10000,13653,0,			//波形发生器0
	9751,10010,13653,0,			//波形发生器1
	9751,10010,13653,0,			//波形发生器2
};

const FMDataStruct BELL3_DATA[16] = 
{//	pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
	30, -143,800,   0,  0,   0,  0,	//4mS
	70, -143,-12,   0,  0,   0,  0,	//10ms
	1000,  0,-12,   0,  0,   0,  0,	
	2000,  0, -6,   0,  0,   0,  0,
	2030,  0, -6,-143,800,   0,  0,
	2070,  0, -6,-143,-12,   0,  0,
	3000,  0, -3,   0,-12,   0,  0,
	4000,  0, -2,   0, -6,   0,  0,
	4030,  0, -2,   0, -6,-143,800,
	4070,  0, -2,   0, -6,-143,-12,
	5000,  0, -1,   0, -3,   0,-12,
	6000,  0,  0,   0, -2,   0, -6,
	7000,  0,  0,   0, -1,   0, -3,
	8000,  0,  0,   0,  0,   0, -2,
	9000,  0,  0,   0,  0,   0, -1,
	0,0,0,0,0,0,0
};


//==============================================
// 铜锣声'A'调,频率为880Hz
const FMInitStruct GONG_A_INI = 
{	//minc, mindx, cinc, camp
	20017,12000,8010,24000,		//波形发生器0
	19222,8000,2403,12000,	 	//波形发生器1
	1976,4000,524,12000	 		  //波形发生器2
};

const FMDataStruct GONG_A_DATA[14] = 
{//	pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
	  500,  0, -8,  0, -4,  0, -4,
	 1000, -3, -8, -2, -4, -1, -4,
	 2000, -3, -5, -2, -3, -1, -3,
	 2500, -3, -4, -2, -2, -1, -2,
	 3000, -6, -4, -4, -2, -2, -2,
	 4000,  0, -2,  0, -1,  0, -1,
	 5000,  0, -2,  0, -1,  0, -1,
	 6000,  0, -1,  0, -1,  0, -1,
	 7000,  0,  0,  0,  0,  0,  0,
	 8000,  0, -1,  0,  0,  0,  0,
	 9000,  0,  0,  0,  0,  0,  0,
	10000,  0, -1,  0,  0,  0,  0,
	14000,  0,  0,  0,  0,  0,  0,
	0,0,0,0,0,0,0
};

//==============================================
// 铜锣声'C'调,频率为523.4Hz
const FMInitStruct GONG_C_INI = 
{	//minc, mindx, cinc, camp
	11906,12000,4764,24000,		//波形发生器0
	11433,8000,1429,12000,	 	//波形发生器1
	1976,4000,524,12000	 		  //波形发生器2
};
const FMDataStruct GONG_C_DATA[14] = 
{//	pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
	  500,  0, -8,  0, -4,  0, -4,
	 1000, -3, -8, -2, -4, -1, -4,
	 2000, -3, -5, -2, -3, -1, -3,
	 2500, -3, -4, -2, -2, -1, -2,
	 3000, -6, -4, -4, -2, -2, -2,
	 4000,  0, -2,  0, -1,  0, -1,
	 5000,  0, -2,  0, -1,  0, -1,
	 6000,  0, -1,  0, -1,  0, -1,
	 7000,  0,  0,  0,  0,  0,  0,
	 8000,  0, -1,  0,  0,  0,  0,
	 9000,  0,  0,  0,  0,  0,  0,
	10000,  0, -1,  0,  0,  0,  0,
	14000,  0,  0,  0,  0,  0,  0,
	0,0,0,0,0,0,0
};

//==============================================
// 铜锣声'E'调,频率为659.2Hz
const FMInitStruct GONG_E_INI = 
{	//minc, mindx, cinc, camp
	14994,12000,6000,24000,		//波形发生器0
	14399,8000,1800,12000,	 	//波形发生器1
	2489,4000,660,12000	 		  //波形发生器2
};
const FMDataStruct GONG_E_DATA[14] = 
{//	pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
	  500,  0, -8,  0, -4,  0, -4,
	 1000, -3, -8, -2, -4, -1, -4,
	 2000, -3, -5, -2, -3, -1, -3,
	 2500, -3, -4, -2, -2, -1, -2,
	 3000, -6, -4, -4, -2, -2, -2,
	 4000,  0, -2,  0, -1,  0, -1,
	 5000,  0, -2,  0, -1,  0, -1,
	 6000,  0, -1,  0, -1,  0, -1,
	 7000,  0,  0,  0,  0,  0,  0,
	 8000,  0, -1,  0,  0,  0,  0,
	 9000,  0,  0,  0,  0,  0,  0,
	10000,  0, -1,  0,  0,  0,  0,
	14000,  0,  0,  0,  0,  0,  0,
	0,0,0,0,0,0,0
};

//==============================================
// 铜锣声'F'调,频率为698.4Hz
const FMInitStruct GONG_F_INI = 
{	//minc, mindx, cinc, camp
	15886,12000,6356,24000,		//波形发生器0
	15256,8000,1907,12000,	 	//波形发生器1
	1976,4000,524,12000	 		  //波形发生器2
};
const FMDataStruct GONG_F_DATA[14] = 
{//	pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
	  500,  0, -8,  0, -4,  0, -4,
	 1000, -3, -8, -2, -4, -1, -4,
	 2000, -3, -5, -2, -3, -1, -3,
	 2500, -3, -4, -2, -2, -1, -2,
	 3000, -6, -4, -4, -2, -2, -2,
	 4000,  0, -2,  0, -1,  0, -1,
	 5000,  0, -2,  0, -1,  0, -1,
	 6000,  0, -1,  0, -1,  0, -1,
	 7000,  0,  0,  0,  0,  0,  0,
	 8000,  0, -1,  0,  0,  0,  0,
	 9000,  0,  0,  0,  0,  0,  0,
	10000,  0, -1,  0,  0,  0,  0,
	14000,  0,  0,  0,  0,  0,  0,
	0,0,0,0,0,0,0
};

//==============================================
//杜鹃声频率为1000Hz和817Hz
const FMInitStruct CUCKOO_INI = 
{	//minc, mindx, cinc, camp
	0,0,9102,0,		//波形发生器0
	0,0,7439,0,		//波形发生器1
	0,0,0,0			  //波形发生器2
};

const FMDataStruct CUCKOO_DATA[8] = 
{//	pos, mslope0, caslope0, mslope1, caslope1, mslope2, caslope2
	  72,  0,   444,  0,     0,  0,    0,	//10mS上升
	 504,  0,     0,  0,     0,  0,    0,	//60ms开
	 576,  0,  -444,  0,     0,  0,    0,	//10ms下降
	1584,  0,     0,  0,     0,  0,    0,	//140ms间隙
	1656,  0,     0,  0,   444,  0,    0,	//10ms上升
	2448,  0,     0,  0,     0,  0,    0,	//110ms保持
	2520,  0,     0,  0,  -444,  0,    0,	//10ms下降
	0,0,0,0,0,0,0
};
#endif

⌨️ 快捷键说明

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