基于51单片机FFT算法的源码设计

发布者:李国永最新更新时间:2018-03-06 来源: eefocus关键字:51单片机  FFT算法 手机看文章 扫描二维码
随时随地手机看文章

  FFT算法是计算离散傅里叶变换的方法,它大大地减少了运算量,缩短了运算时间,使实时分析成为可能。

  按时间抽取的FFT算法通常将原始的数据倒位序存储,最后按照正常顺序输出结果X  下面是128点的FFT函数。

  (1) 128点FFT子函数。

  (2)下面给出256位的KeilC51源程序,目的是能够更好地熟悉FFT算法在单片机及其他嵌入式处理器中的实现方法。

 

  我们在使用FFT算法程序的时候,可以根据需要对上面的程序进行优化处理。优化处理主要是使用直接的整数加减、移位、乘法操作去替换程序中采用定点模拟实现的加减、移位、乘法等操作。


关键字:51单片机  FFT算法 引用地址:基于51单片机FFT算法的源码设计

上一篇:KeilC和ANSIC的对比
下一篇:单片机浮点数运算的源码设计

推荐阅读最新更新时间:2024-03-16 15:56

51单片机蜂鸣器之《东西》
#include reg51.h #define uint unsigned int #define uchar unsigned char sbit voice=P1^5; uchar code sound ={0xff, 0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,0x26,0x20, 0x2b,0x20,0x26,0x20,0x26,0x20,0x2b,0x20,0xff,0x20,0x2b,0x20,0x30,0x20, 0x2b,0x20,0x30,0x20,0x2b,0x20,0x3
[单片机]
51单片机用矩形键盘控制交通信号灯和数码管显示
电路图 C语言程序 #include reg51.h #define uint unsigned int #define uchar unsigned char //共阳数码管编码表 uchar code table ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //函数声明 void delay(uint time); //延时函数 void display(uchar w); // uchar getKey(); //读取键盘的数值 void delay0_5s(); void delay5s(); //主程序 void main() { uc
[单片机]
51单片机的can总线通讯程序
#i nclude //单片机头文件 #i nclude //SJA存储器定义头文件 #i nclude //SJA子程序文件 /*************************函数声明*******************************************/ void Init_T0(void); //初始化单片机T0 void Sja_1000_Init(void); //初始化SJA //*******************************************
[单片机]
51单片机数字时钟仿真(LCD1602液晶显示)+源程序+电路原理图
下面是51单片机数字时钟程序: #include AT89X52.h #define DSbus P0 #define LCDbus P1 //定义DS12C887和LCD的控制线 sbit DS_CS = P2^7; //引脚13,片选信号输入,低电平有效。 sbit DS_AS = P2^4; //引脚14,地址选通输入。 sbit DS_RW = P2^5; //引脚15,读/写输入。 sbit DS_DS = P2^6; //引脚17,数据选通或读输入。 sbit LCD_RS=P2^0; sbit LCD_EN=P2^2; //时间变量定义 unsigned char Counter; u
[单片机]
<font color='red'>51单片机</font>数字时钟仿真(LCD1602液晶显示)+源程序+电路原理图
基于51单片机的天气温度报警系统
基于AT89C51的天气温度报警系统,采用Protues仿真。 元件: DS1302时钟芯片 DS18B20温度传感器 LM016L(1602)液晶 AT89C51 单片机 LED灯若干 蜂鸣器一只 用于 报警 本人不写这个报警程序了 其实挺简单的 我只贴出部分主要的代码 完整源代码请到: http://blog.sina.com.cn/u/2311964960 (内附图片) 或直接下载: LSD.c (7.4 KB, 下载次数: 72) /*初始化DS18B20*/ void Init_DS18B20() { //初始化DS18B20必须先给DS18B20一个复位脉冲,接收到复位脉冲后
[单片机]
基于<font color='red'>51单片机</font>的天气温度报警系统
51单片机堆栈的分析
1.51单片机的堆栈属于向上增长型,堆栈开在内部ram,堆栈指针八位,系统启动时初始化值为07 2.进出栈指令 push acc pop acc 00-7fh是内部ram 80h-0ffh是sfr特殊功能寄存器 不能对80h到0ffh的高端ran进行堆栈操作 不能对r0-r7寄存器组进行堆栈操作 寄存器A进行堆栈操作时只能用直接寻址操作形式 acc 3.子程序与中断 调用子程序与调用中断服务程序,入栈的都是 pcL---pcH,但是调用子程序时入栈的是取指令后尚未执行的PC值,而中断是执行完后的PC值
[单片机]
51单片机+PWM控制渐变七彩灯C51程序
一、硬件介绍: (采用5050LED 2W) RGB三色LED控制引脚分别为单片机P1.2、P1.1、 P1.0。LED正极接主电源(24V)正极,负极接驱动3颗三极管的集电极,单片机控制脚分别接3颗NPN三极管,三极管发射极接地,而单片机的供电是来自三端稳压器7805,祥细原理如下: 二、实物图片: 三、软件部分: 1、原理: 先亮红灯(保持一会儿)----红绿过度(绿加1、红减1循环240次)------ 绿灯亮起(保持一会儿)----绿兰过度(兰加1、绿减1循环240次) -----兰灯亮起(保持)-----兰白过度(绿加1、红加1循环240次、兰不变) ---白红过度 2、具体程序如下:
[单片机]
<font color='red'>51单片机</font>+PWM控制渐变七彩灯C51程序
51单片机开发板的主要功能 51单片机开发板能做什么
51单片机开发板是一种基于8051系列单片机芯片的开发板,具有丰富的功能和广泛的应用。下面将详细介绍51单片机开发板的主要功能以及能够实现的各种应用。 一、基本功能: 通用输入输出:51单片机开发板具有多个通用输入输出引脚,可以连接各种外部设备和传感器,实现数据的输入和输出。 时钟管理:开发板通常会集成时钟电路,包括晶振、时钟发生器等,可以提供稳定的时钟信号给单片机使用。 存储器管理:开发板通常会搭载闪存、EEPROM、SRAM等各种类型的存储器,用于存储程序代码和数据。 电源管理:开发板通常会提供多种电源供电方式,可以选择外部电源或者USB供电。 通信接口:如串口、SPI、I2C等,可以连接各种外部设备进行数据通信
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved