📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 08/08/2008 11:35:12 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <c8051f020.h>
2 #include <math.h>
3 float xdata datar[129];
4 float xdata datai[129];
5 float xdata w[32];
6 //float FFT(float datar[],float datai[],float w[])
7
8 float FFT(void)
9 {unsigned int x0,x1,x2,x3,x4,x5,x6;
10 1 unsigned int L ,j,k,b,p,xx,i;
11 1 float TR,TI,temp;
12 1 for(i=0;i<128;i++)
13 1 {x0=x1=x2=x3=x4=x5=x6=0;
14 2 x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01;
15 2 x3=(i/8)&0x01;x4=(i/16)&0x01;x5=(i/32)&0x01;x6=(i/64)&0x01;
16 2 xx=x0*64+x1*32+x2*16+x3*8+x4*4+x5*2+x6;
17 2 datai[xx]=datar[i];
18 2 }
19 1 for(i=0,i<128;i++;)
20 1 {datar[i]=datai[i];datai[i]=0;}
21 1
22 1 for(L=1;L<=7;L++)
23 1 {b=1;i=L-1;
24 2 while(i>1)
25 2 {b=b*2;i--;}
26 2 for(j=0;j<=b-1;j++)
27 2 {p=1;i=7-L;
28 3 while(i>0)
29 3 {p=p*2;i--;}
30 3 p=p*j;
31 3 for(k=j;k<128;k=k+2*b)
32 3 {TR=datar[k];TI=datai[k];temp=datar[k+b];
33 4 datar[k]=datar[k]+datar[k+b]*cos(2*3.14159*p/128)+datai[k+b]*sin(2*3.14159*p/128);
34 4 datai[k]=datai[k]-datar[k+b]*sin(2*3.14159*p/128)+datai[k+b]*cos(2*3.14159*p/128);
35 4 datar[k+b]=TR-datar[k+b]*cos(2*3.14159*p/128)-datai[k+b]*sin(2*3.14159*p/128);
36 4 datai[k+b]=TI+temp*sin(2*3.14159*p/128)-datai[k+b]*cos(2*3.14159*p/128);
37 4 }
38 3 }
39 2 }
40 1 for(i=0;i<32;i++)
41 1 {w[i]=sqrt(datar[i]*datar[i]+datai[i]*datai[i]);
42 2 w[i]=w[i]/64;}
43 1 w[0]=w[0]/2;
44 1 return w[32];
45 1 }
46
47 void main(void)
48
49
50 { //float xdata datar[129];
51 1 //float xdata datai[129];
52 1 unsigned int i;
53 1 //float xdata w[32];
54 1 for(i=0;i<64;i++)
55 1 {datar[i]=100;
C51 COMPILER V8.08 MAIN 08/08/2008 11:35:12 PAGE 2
56 2 datai[i]=0;
57 2 }
58 1 for(i=64;i<128;i++)
59 1 {datar[i]=0;
60 2 datai[i]=0;
61 2 }
62 1 FFT();
63 1 // FFT(datar,datai,w);
64 1
65 1 while(1);
66 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2386 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 1160 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 40
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -