并行fft频谱分析仪设计内容摘要:

P3=0xff。 RAMADDR=0x6000。 //6264首地址 oe=0。 ce=0。 st=1。 delayms(100)。 st=0。 delayms(500)。 val=P1。 RAM_6264=val。 //数据写入 RAMADDR++。 for(n=0。 n256。 n++) //写个数据入 { st=1。 delayms(50)。 st=0。 delayms(50)。 val=P1。 RAM_6264=val。 //数据写入 RAMADDR++。 //修改地址 delayms(1)。 } while(1) { RAMADDR=0x6000。 //6264首地址 for(n=0。 n256。 n++) { temp=RAM_6264。 //从中读取数据 RAMADDR++。 //修改地址 temp=~temp。 //输出为低电平动作 P1=temp。 //送 P0口显示 delayms(200)。 } } delayms(10)。 oe=1。 ce=1。 RAM_6264=0x01。 RAMADDR++。 RAM_6264=0x02。 delayms(10)。 ce=0。 oe=0。 in=0。 while(1)。 } void ic1in() interrupt 0 { oe=1。 ce=1。 n++。 RAMADDR++。 RAM_6264=n。 delayms(10)。 ce=0。 oe=0。 in=1。 delayms(10)。 in=0。 } Ic2: include //51芯片管脚定义头文件 include //内部包含延时函数 _nop_()。 include //绝对地址访问的头文件 include //数学函数 struct px /*定義一個複數結構 */ {char real。 char imag。 }。 struct px idata dat[65]。 //FFT輸入輸出均從是 s[1]開始存入 struct px EE(struct px,struct px)。 //定義複數相乘結構 void FFT(struct px xin[],int N)。 /*定義 FFT函數 */ struct px EE(struct px a1,struct px b2) //兩複數相乘的程序 {struct px b3。 //b3保 存兩複數間的結果 =**。 //兩複數間的運算 =*+*。 return(b3)。 /*返回結果 */ } define uchar unsigned char define uint unsigned int uint RAMADDR=0x6000。 define RAM_6264 XBYTE[RAMADDR] //6264地址范围 H7FFFH sbit st=P3^0。 sbit ce=P2^6。 sbit oe=P2^5。 sbit in=P3^1。 sbit rw=P3^5。 sbit fin=P1^0。 sbit enwrite=P1^7。 uchar vol=0。 uchar enread=0。 uchar c。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。