sine.ca.txt

来自「DSP正弦波发生器」· 文本 代码 · 共 56 行

TXT
56
字号

/* Program for generates a sequence sine signal        */
/**********正弦信号产生程序**********************/
/*   If you use oscillograph you can see this signal      */

ioport unsigned port0bfff;

#define IOSR port0bfff

#define _COSX 0.987688
#define _SINX1 0.156434

#pragma DATA_SECTION(_cosx,"data_buf1")
float _sinx[200];
#pragma DATA_SECTION(dacdata,"data_buf2")
int dacdata[180];

void delay(void);
void main(void)
{
unsigned int i=0;
_sinx[0]=0.000;
dacdata[0]=0;
_sinx[1]=_SINX1;
dacdata[1]=_SINX1*2048;

  i=1;
  while(1)
   { 
     if(i++>179)
        break;
     _sinx[i]=2*_COSX*_sinx[i-1]-_sinx[i-2];/*递推公式,通过前两项来递推该项*/
     dacdata[i]=_sinx[i]*2047;
  }
  i=0;
 
  while(1)
   { 
     if(i>179)
	 {
       i=0;
	   break;
	   }
     IOSR=dacdata[i++];
     delay();
   }
  
 }

void delay(void)
 {
  long int j;
  for(j=0; j<1000; j++)
  asm("_nop");
 }

⌨️ 快捷键说明

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