在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FFT算法在單片機(jī)中的使用&&LCD12864驅(qū)動(dòng)

            FFT算法在單片機(jī)中的使用&&LCD12864驅(qū)動(dòng)

            作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏

            void clear(uchar dat) //清屏函數(shù)

            {

            uchar i,j,k;

            uchar addr=0x80;

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

            {

            for(j=0;j<32;j++)

            {

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

            {

            WriteCommandLCM(0x36);

            WriteCommandLCM(0x80+j);

            WriteCommandLCM(addr+k);

            WriteDataLCM(dat);

            WriteDataLCM(dat);

            }

            }

            addr=0x88;

            }

            WriteCommandLCM(0x36);

            WriteCommandLCM(0x30);

            }

            void heng(uchar a)

            {

            uchar i;

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

            point(i,a);

            }

            void su(uchar a)

            {

            uchar i;

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

            point(a,i);

            }

            void FFT()

            {

            int i,j,k,t,P,B,m;

            complex up,down,product;

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

            {

            B=1<for (j=0;j{

            t=1<<(6-i);

            P=t*j;

            for (k=j;k{

            complex product;

            product.real=x[k+B].real*cos(2*PI*P/N)+x[k+B].img*sin(2*PI*P/N);

            product.img=x[k+B].real*(-1)* sin(2*PI*P/N)+x[k+B].img*cos(2*PI*P/N);

            x[k+B].real=x[k].real-product.real;

            x[k+B].img=x[k].img-product.img;

            x[k].real=x[k].real+product.real;

            x[k].img=x[k].img+product.img;

            }

            }

            }

            }

            void initw() //初始化旋轉(zhuǎn)因子

            {

            int i;

            for (i=0;ivis[i]=0;

            }

            void bitReverse() //比特反轉(zhuǎn)

            {

            int i,j=0;

            int k=0;

            int q=0;

            complex tmp3;

            for (i=0;i{

            int tmp=i,tmp2=0,j;

            for(j=0;j<7;j++)

            tmp2+=((tmp>>j)&1)*(1<<(6-j));

            if(vis[i]==0)

            {

            tmp3=x[i];

            x[i]=x[tmp2];

            x[tmp2]=tmp3;

            vis[i]=1;

            vis[tmp2]=1;

            }

            }

            }

            void xian(uchar x,uchar y)

            {

            uchar i;

            for(i=63;i>=y;i--)

            point(x,i);

            }

            //主函數(shù)

            void main(void)

            {

            uchar ii,y;

            float tmp;

            //端口初始化

            DDRA=0xff;

            PORTA=0xff;

            DDRB=0xff;

            PORTB=0xff;

            DDRD=0xff;

            PORTD=0x00;

            delayms(20);

            delayms(20);

            LCMInit(); //LCM初始化 //液晶初始化

            delayms(100);

            clear(0x00);

            heng(0);

            heng(63);

            su(0);

            su(127);

            for (ii=0;ii<20;ii++)

            {

            x[ii].real=3;

            x[ii].img=0;

            }

            for (ii=20;ii<128;ii++)

            {

            x[ii].real=0;

            x[ii].img=0;

            }

            initw();

            bitReverse();

            FFT();

            for(ii=64;ii<128;ii++)

            {

            tmp=sqrt((x[ii].real*x[ii].real)+(x[ii].img*x[ii].img));

            y= 63-(int)tmp;

            point(ii-64,y);

            xian(ii-64,y);

            }

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

            {

            tmp=sqrt((x[ii].real*x[ii].real)+(x[ii].img*x[ii].img));

            y= 63-(int)tmp;

            point(ii+64,y);

            xian(ii+64,y);

            }

            while(1);

            }


            上一頁 1 2 3 下一頁

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉