FFT流程图.docx

上传人:b****6 文档编号:9017202 上传时间:2023-02-02 格式:DOCX 页数:15 大小:284.65KB
下载 相关 举报
FFT流程图.docx_第1页
第1页 / 共15页
FFT流程图.docx_第2页
第2页 / 共15页
FFT流程图.docx_第3页
第3页 / 共15页
FFT流程图.docx_第4页
第4页 / 共15页
FFT流程图.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

FFT流程图.docx

《FFT流程图.docx》由会员分享,可在线阅读,更多相关《FFT流程图.docx(15页珍藏版)》请在冰豆网上搜索。

FFT流程图.docx

FFT流程图

voiddelay(inti)//延时bb速度控制

{

charb;

while(i--)

{

b=bb;

while(b--);

}

}

AutoFlowChart:

Au

website:

w

 

 

email:

suppoN

Y

张辉

 

email:

supp

website:

Y

 

voidFFT()

{

intxdatai,bb,j,k,p;

intmax,a[8];

intxdataTR,TI,temp;

for(i=0;i<64;i++)

{

Real[BRTable[i]]=STC_ADC();

Image[i]=0;

}

for(i=1;i<=6;i++)

{bb=1;

bb<<=(i-1);

for(j=0;j<=bb-1;j++)

{p=1;

p<<=(6-i);

p=p*j;

for(k=j;k<64;k=k+2*bb)

for(k=j;k<64;k=k+2*bb)

{

if(amenu==1)//1频段列显示

{

sendbyte1(~table1[num*8+0],~table1[num*8+1],~table1[num*8+2],~table1[num*8+3]);

sendbyte1(~table1[num*8+4],~table1[num*8+5],~table1[num*8+6],~table1[num*8+7]);

ST_CP=1;

ST_CP=0;

}

elseif(amenu==2)//2频段列显示

{

sendbyte1(~table2[num*8+0],~table2[num*8+1],~table2[num*8+2],~table2[num*8+3]);

sendbyte1(~table2[num*8+4],~table2[num*8+5],~table2[num*8+6],~table2[num*8+7]);

ST_CP=1;

ST_CP=0;

}

elseif(amenu==3)//3频段列显示

{

sendbyte1(~table3[num*8+0],~table3[num*8+1],~table3[num*8+2],~table3[num*8+3]);

sendbyte1(~table3[num*8+4],~table3[num*8+5],~table3[num*8+6],~table3[num*8+7]);

ST_CP=1;

ST_CP=0;

}

elseif(amenu==4)//4频段列显示

{

sendbyte1(~table4[num*8+0],~table4[num*8+1],~table4[num*8+2],~table4[num*8+3]);

sendbyte1(~table4[num*8+4],~table4[num*8+5],~table4[num*8+6],~table4[num*8+7]);

ST_CP=1;

ST_CP=0;

}

elseif(amenu==5)//5频段列显示

{

sendbyte1(~table5[num*8+0],~table5[num*8+1],~table5[num*8+2],~table5[num*8+3]);

sendbyte1(~table5[num*8+4],~table5[num*8+5],~table5[num*8+6],~table5[num*8+7]);

ST_CP=1;

ST_CP=0;

}

elseif(amenu==6)//6频段列显示

{

sendbyte1(~table6[num*8+7],~table6[num*8+6],~table6[num*8+5],~table6[num*8+4]);

sendbyte1(~table6[num*8+3],~table6[num*8+2],~table6[num*8+1],~table6[num*8+0]);

ST_CP=1;

ST_CP=0;

}

elseif(amenu==7)//7频段列显示

{

sendbyte1(~table7[num*8+7],~table7[num*8+6],~table7[num*8+5],~table7[num*8+4]);

sendbyte1(~table7[num*8+3],~table7[num*8+2],~table7[num*8+1],~table7[num*8+0]);

ST_CP=1;

ST_CP=0;

}

else//8频段列显示

{

sendbyte1(~table8[num*8+7],~table8[num*8+6],~table8[num*8+5],~table8[num*8+4]);

sendbyte1(~table8[num*8+3],~table8[num*8+2],~table8[num*8+1],~table8[num*8+0]);

ST_CP=1;

ST_CP=0;

}

TR=Real[k];

TI=Image[k];

temp=Real[k+bb];

Real[k]=Real[k]+((Real[k+bb]*cos_tabb[p])>>7)+((Image[k+bb]*sin_tabb[p])>>7);

Image[k]=Image[k]-((Real[k+bb]*sin_tabb[p])>>7)+((Image[k+bb]*cos_tabb[p])>>7);

Real[k+bb]=TR-((Real[k+bb]*cos_tabb[p])>>7)-((Image[k+bb]*sin_tabb[p])>>7);

Image[k+bb]=TI+((temp*sin_tabb[p])>>7)-((Image[k+bb]*cos_tabb[p])>>7);

Real[k]>>=1;

Image[k]>>=1;

Real[k+bb]>>=1;

Image[k+bb]>>=1;

}//for(k=j;k<64;k=k+2*bb)

}//for(j=0;j<=bb-1;j++)

}//for(i=1;i<=6;i++)

max=0;

for(i=0;i<6;i++)

{

a[i]=sqrt_16((Real[i+1]*Real[i+1]+Image[i+1]*Image[i+1])>>1);

if(a[i]<1)

a[i]=0;

else

a[i]-=1;

if(max

max=a[i];

}

if(max>8)

{

max/=8;

for(i=0;i<8;i++)

a[i]/=max;

}

for(i=0;i<9;i++)

c[i]=a[i];

}

 

 

AutoFlowChar

 

voidprint1()interrupt3//定时器1中断函数

{

TR1=0;//关闭定时器1

TH1=(65536-2500)/256;//定时time=F63C;104.1us

TL1=(65536-2500)%256;

if(num>=(amenu-1))

num=0;

else

num++;

if(b[num]

{b[num]++;}

if(b[num]>c[num])//确定频谱高度显示

{b[num]--;}

if(b[num]>8)//确定频谱高度显示

{b[num]=8;}

switch(yp)//频谱显示方式显示切换

{

case1:

send_data2(~tuku2[b[num]]);

if(amenu<=2){}

elsedelay(50);

break;

case2:

send_data2(~tuku1[b[num]]);

if(amenu<=2){}

elsedelay(50);

break;

case3:

send_data2(~tuku3[b[num]]);

if(amenu<=2){}

elsedelay(50);

default:

break;

}

TR1=1;//启动定时器1

}

voidADC_Finish()interrupt5//AD中断函数

{

yinpin++;

if(yinpin==20000)//变量yinpin加到20000切换频段显示

{

yinpin=0;

yp++;

if(yp==4)

yp=1;

amenu++;//amenu变量切换频段显示方式

if(amenu==9)amenu=1;

}

if(ADC_CONTR&0x10)//判断ADC-FLGA位是否为1,为1表明A/D已转换完成。

delay

(1);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1