单片机音乐频谱
一种基于STM32F103C8T6单片机DSP库的音乐频谱

2020年软 件2020, V ol. 41, No. 4一种基于STM32F103C8T6单片机DSP 库的音乐频谱谢志平(广东省技师学院,广东 惠州 516100)摘 要: 利用STM32单片机内部的DSP 库功能,将外部输入的音乐信号放大后再送入单片机内部的A/D 转换器,运用STM32内部DSP 库功能进行FFT 运算,采用中断扫描技术,将音乐信号的频谱在32X64全彩点阵屏进行显示,能对音乐信号的频谱进行简单的分析,实现多种随音乐节奏舞动的视觉效果。
关键词: 单片机;DSP 库;FFT ;中断扫描技术中图分类号: TP3 文献标识码: A DOI :10.3969/j.issn.1003-6970.2020.04.042本文著录格式:谢志平. 一种基于STM32F103C8T6单片机DSP 库的音乐频谱[J]. 软件,2020,41(04):200 202+228A Music Spectrum Based on DSP Library of STM32F103C8T6 MicrocontrollerXIE Zhi-ping(Guangdong technician college, huizhou 516100, China )【Abstract 】: Use of STM32 MCU internal DSP library function, the music of external input signal amplification and then sent into single chip microcomputer internal A/D converter, use STM32 internal DSP library functions for FFT arithmetic, using interrupt scanning technology, the music signal spectrum in 32 x64 lattice screen for display, full-color to simple music signal spectrum analysis, realize the visual effect of A variety of dance with the music rhythm.【Key words 】: Single chip microcomputer; DSP library; FFT; Interrupt scanning technique0 引言任何周期函数,都可以看作是不同振幅,不同相位正弦波的叠加。
基于单片机的多功能音乐频谱仪的设计与实现

基于单片机的多功能音乐频谱仪的设计与实现陈兰;江朋友;闪静洁【摘要】本文设计了一种多功能曲面音乐频谱仪,包括音乐输入模块、蓝牙接收模块、环境温度检测模块、LED显示模块;还包括快速傅里叶算法模块和A/D转换模块.本系统以STC12C5A60S2单片机为核心,通过蓝牙无线接收模块进行采集,将采集到的音频信号经A/D转换模块转为数字信号后,再经过滤波处理和快速傅里叶变换得到信号的频谱,通过LED矩阵频谱显示器显示出来.为了增强系统实用性,增加了环境温度监测、呼吸灯显示和时钟功能.【期刊名称】《科技视界》【年(卷),期】2018(000)007【总页数】2页(P45-46)【关键词】STC12C5A60S2;A/D转换;LED;快速傅里叶变换【作者】陈兰;江朋友;闪静洁【作者单位】安徽新华学院,安徽合肥 230000;安徽新华学院,安徽合肥 230000;安徽新华学院,安徽合肥 230000【正文语种】中文【中图分类】TN912.3;TP368.120 引言随着人们的生活质量的提高,人们已经越来越追求品质生活,针对上述问题,本设计的音乐频谱仪不仅仅能够满足人类的视觉冲击,而且更是能直接观察到显示信号的输入情况。
从而可以将以前只能“听”的信息,转换成可以“看”的信息,以满足人类平时生活所需。
如今多功能频谱仪已经广泛应用于家庭,舞台效果,房屋轮廓装饰,成为夜晚的主角。
更是有专业音乐制作人能根据频谱分析给自己发音纠错等,有相当好的研究前景。
本设计采用快速傅里叶算法[1-2],将采样后的音乐信号变换得到音乐信号频谱,实现语音信号的蓝牙模块无线传输,另一方面,还实现了环境温度监测、呼吸灯显示和时钟等功能。
1 系统总体设计本文设计的音乐频谱仪,包括依次连接的蓝牙接收模块、MCU单片机、FFT频谱分析模块、LED驱动电路和LED矩阵频谱显示器,除此之外,还包括有音频数据采集模块以及和其相连的A/D转换模块,该语音信号经A/D转换模块转换成数字信号后发送至单片机,然后再输出至FFT频谱分析模块,由频谱分析模块对数字信号进行快速博里叶变换处理后,在LED矩阵频谱显示器上显示。
基于IAP15F2K61S2单片机的多功能音乐频谱的设计

基于IAP15F2K61S2单片机的多功能音乐频谱的设计
谢宏霖
【期刊名称】《电子制作》
【年(卷),期】2014(0)17
【摘要】本文介绍了一种以IAP15F2K61S2单片机为核心,外加温湿度检测、红外检测、数字时钟、背光检测等多功能音乐频谱的设计,该系统主要是对语音信号进行采样滤波后,进行快速傅立叶变换(FFT),然后通过LED屏将其频谱分布显示出来,同时对其扩展功能进行换屏显示,支持红外遥控操作。
【总页数】2页(P8-8,9)
【作者】谢宏霖
【作者单位】山东英才学院信息工程学院山东济南 250104
【正文语种】中文
【相关文献】
1.基于IAP15F2K61S2单片机的轮胎防爆系统的设计 [J], 高世雄;张明慧;李津津
2.基于IAP15F2K61S2单片机的智能家居系统设计 [J], 章儒学;王静
3.基于IAP15F2K61S2单片机的智能防盗背包设计 [J], 张译文;任锦芬;王利平
4.基于单片机的多功能音乐频谱仪的设计与实现 [J], 陈兰;江朋友;闪静洁
5.基于IAP15F2K61S2单片机的多传感器搬运小车设计 [J], 金琦淳; 任俊; 袁明新; 张金铮; 王琪
因版权原因,仅展示原文概要,查看原文内容请购买。
基于STC8A4K60S2A12单片机的音乐频谱仪的设计

基于STC8A4K60S2A12单片机的音乐频谱仪的设计作者:王启明郭宁峰周艳艳来源:《电脑知识与技术》2019年第27期摘要:通过对音乐频谱仪原理的研究,利用STC8A4K60S2A12单片机控制技术、离散傅里叶变换快速算法,通过单片机内置的ADC采集音频信号,并将采集到的音频信号转换成数字信号。
设计并实现一个音乐频谱仪,通过LED点阵将音乐频谱显示出来。
关键词:单片机;傅里叶变换;LED点阵中图分类号:TP393; ; ; ; 文献标识码:A文章编号:1009-3044(2019)27-0211-02时代在不断发展,生活水平在不断提高,人们在解决基本生活所需的同时,也更加注重对生活品质的追求,音乐频谱仪就是在这种追求之下的产物。
它促进了音乐的可视化,把原本只能“听”的音乐,变得能够“看”到,使音乐在给人听觉享受的同时,也带来视觉上的享受;帮助录音师对录制的音频进行加工处理,使音频变得更加丰富,有层次感。
更广泛的,是它在家庭影院、卡拉OK等音响系统中,实时显示音乐信号的频谱将为音响系统增添不少色彩。
本文设计并实现一个基于STC8A4K60S2A12单片机的音乐频谱系统,具有电路结构简单、易开发、生产成本低等特点。
能够较好地满足人们在生活中的需求。
1 系统的基本结构本系统以STC8A4K60S2A12单片机为控制核心,利用其内部集成的一个12位15通道的高速ADC转换器收集来自外界的音频信号,并将音频信号(电信号)转化为数字信号。
通过快速傅里叶变换(FFT)对离散后的数字信号进行处理和运算。
FFT计算出频谱值以后,由LED频谱显示电路负责在单片机的控制下把频谱直观地显示出来。
此外,本系统还包括按键控制的开关和开始动画等其他功能。
2 硬件设计2.1复位电路复位电路用来将中央处理器及其他功能模块同时恢复到一个确切的初始状态,以备下次运行时从该初始状态重新开始。
复位方式有手动按钮复位、上电复位、积分型上电复位、看门狗型复位电路等。
基于单片机的音频频谱显示器的研究与开发

1
音频信号,这个音频信号再经功放模块由扬声器驱动播放音乐。
同时,音频信号又作为输入信号接到另外一个单片机系统,此单片机系统主要是完成音频信号的模数转换,并由内部软件通过快速傅里叶算法,实现音频信号在频域上的分析,最后量化输出,由LED点阵显示出频谱变化。
三、研究指向内容与过程
(一)研究指向
1. 降低设计、制作以及成品的成本;
2. 提高音频频谱与音乐的匹配度;
3. 开发电子产品专业课程的实训资源,使实训资源与生活相结合,便于电子专业学生的
学习与研究。
(二)研究内容
1、硬件设计
单片机我们选用STC12C5A60S2。
STC 公司的单片机不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,其中STC12C5A60S2单片机内部就自带高达60K FLASHROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。
而且STC 系列单片机支持串口程序烧写。
本设计系统由单片机模块、音频采集模块、滤波模块、按键模块、功放模块和显示模块六部分组成,如图1所示。
图1 音频频谱显示器的系统结构图
硬件电路图如图2所示,使用音频采集模块对输入的音频信号进行采样,经过FFT变换,然后取某些频率项的幅值,量化显示,驱动LED点阵,点亮相应的LED灯,其中显示模块即LED频谱显示电路。
图2左上方是滤波模块以及功放模块的设计,左下方是单片机模块的电路设计,右侧是LED频谱显示电路的设计。
其中,音频功放芯片选用8002,它是两个OTL电路桥式连接为BTL工作方式的音频功放。
2
3。
单片机实现音乐频谱

图二 MCU 部分的原理图
) ( 灯 吸呼 键摸触
色 : :: 颜
图三 点阵驱动电路图 (三) 编程思路
1) 在主函数中,单片机通过 AD 对音频数据采样,然后存放到数据缓存区进行预处理,完成 AD 滤波 处理,自动增益控制信息扫描以及其他信息处理。接着,将缓存区数据送入 快速傅立叶变换(FFT) 处理子函数进行运算。处理完后,从缓存区取出运算结果,根据得到幅值计算出点阵的显示数据, 并存储到显示缓存区。
a) 采用 USB 接口供电,并且对 USB 接口进行了扩展。在没有额外占用电脑主机 USB 接口情况下, 随时随地给系统供电;
b) 加入了触摸键设计,以及震动反馈。当触摸键响应时有震动反馈,及声光提示,如今很多触屏手 机也有这种时尚设计;
c) 加入 ThinkPad 笔记本上的经典呼吸灯指示设计。如夏日里的萤火虫,一闪一闪亮晶晶,不仅有趣 还能指示系统工作状态;
好的声音效果,其各段频率成分应该有一定的比例,录音的时候,录音师操作调音台就可以使各 段频率的成分得到调整。由于各种乐器的基频高低是不同的,所以,也可以使各种乐器之间的声音比 例得到调整,常见的是把频率由低至高分成 5 段或 7 段、10 段或 15 段,有经验的录音师或音乐家能听 出哪里(哪个频率段)“空”了,即这个频段弱。哪里“鼓了个包”,即这个频段过强。通过均衡器可 以把这些予以弥补。又因为每个人对音乐中频率分布的欣赏标准是不同的,因此,各位录音师掌握的 尺度也不同,显示出各自的风格。
小贴士(1): 根据 STC12A32S2 单片机的资源情况,最多只有 1280B RAM,我们取 64 点的 FFT 就可以满足要求,还
单片机c语言一闪一闪亮晶晶的乐谱程序

单片机c语言一闪一闪亮晶晶的乐谱程序用使用定时器T0的中断控制播放音乐《一闪一闪亮晶晶》 1.C音调与频率的对应关系表音调低1(“dao”) 低2 低3 低4 低5 低6 低7 频率 262 294 330 349 392 440 4941(中音“dao”) 音调 2 3 4 5 6 7 频率 523 587 659 698 784 880 988 音调高1 高2 高3 高4 高5 高6 高7 频率 1064 1175 1318 1397 1586 1760 1967 2.定时常数C计算公式610us4608302f C= ,1.085usfT0工作方式0.最大计数为8192,在已知定是常数为C的条件下,13位计算器的高8位和低5的初值可由以下公式设定TH0=(8192-C)/32;TL0=(8192-C)%32;简单乐谱 3.|1 1 5 5| 6 6 5 -| 4 4 3 3| 2 2 1 -| 5 5 4 4 | 3 3 2 -| 5 5 4 4 |3 3 2 -| 1 1 5 5 | 6 6 5 -| 4 4 33|2 2 1 -|4..节拍控制本例简谱的节拍为每分钟72拍,则每个节拍需时间(1000*60ms)/72=833ms? “1 “为1拍,需延时833ms? “2”为1/2拍,需延时833/2ms? “3“为1/4,需延时833/4ms5.程序/*----------------------------------------------使用定时器T0的中断控制播放音乐《一闪一闪亮晶晶》,T0工作方式0,图表列出了C音调与频率的对应关系。
*---------------------------------------------------- */#include<reg52.h>sbit sound=P3^7; //定义声音为引脚P3.7unsigned int C; //存储定时器的定时常熟//以下是C调中音的音频定义#define dao 523 //讲“dao”宏定义为中音“1”的频率523HZ#define re 587#define mi 659#define fa 698#define sao 784located in the Tomb, Dong Shen Jia bang, defer the next day focused on the assassination. Linping, Zhejiang, 1 of which liquor wine masters (Wuzhen said information is Carpenter), who got A few bayonets, due to missed fatal, when night came#define la 880#define xi 987/*-------------------------------------------延时子程序 200ms-------------------------------------------*/void delay(){unsigned char i,j;for(i=0;i<200;i++)for(j=0;j<110;j++);}/*---------------------------------主函数----------------------------------*/ void main(){ unsigned char i,j;unsigned int code f[]={dao,dao,sao,sao,la,la,sao,fa,fa,mi,mi,re,re,dao,sao,sao,fa,fa,mi,mi,re,sao,sao,fa,fa,mi,mi,re,dao,dao,sao,sao,la,la,sao,fa,fa,mi,mi,re,re,dao,0xff}; //以0xff作为音调的结束标志//一下是简谱中的每个音调的节拍,4对应4个延时单位,8对应8个延时单位unsigned char code JP[]={4,4,4,4, //每行对应一小节音频的节拍4,4,8,4,4,4,4,4,4,8,4,4,4,4,4,4,8,4,4,4,4,4,4,8,4,4,4,4,4,4,8 ,4,4,4,4,4,4,8,};EA=1; //开总中断ET0=1; //定时器T0中断允许located in the Tomb, Dong Shen Jia bang, defer the next day focused on the assassination. Linping, Zhejiang, 1 of which liquor wine masters (Wuzhen said information is Carpenter), who got A few bayonets, due to missed fatal, when night cameTMOD=0x00; //使用定时器T0的方式0(13位计数器)while(1){ i=0;//从第一个音调f[0]开始播放while(f[i]!=0xff) //只要没有读到结束标志就继续播放{ C=460830/f[i];TH0=(8192-C)/32;TL0=(8192-C)%32;TR0=1;for(j=0;j<JP[i];j++)delay();TR0=0;i++;}}}/*----------------------------------------定时器T0的中断服务子程序,使P3.7引脚输出音频的方波------------------------------------------------*/void Time0(void) interrupt 1 using 1{ sound=!sound;TH0=(8192-C)/32;TL0=(8192-C)%32;}located in the Tomb, Dong Shen Jia bang, defer the next day focused on the assassination. Linping, Zhejiang, 1 of which liquor wine masters (Wuzhen said information is Carpenter), who got A few bayonets, due to missed fatal, when night came。
单片机音乐频谱..

单片机音乐频谱::正文:章节一、介绍本文档旨在提供关于单片机音乐频谱的详细说明和操作指南。
单片机音乐频谱是一种将音频信号转化为可视化频谱图的技术,可以实现音乐可视化效果。
章节二、材料准备2.1 单片机:我们可以选择一款适用于音频处理的单片机,如Arduino、Raspberry Pi等。
2.2 音频输入设备:需要一个音频输入设备,如麦克风或音频输入接口。
2.3 LED灯带:选择适合的LED灯带作为频谱图的显示器件。
2.4 电路连接线材:用于连接单片机、音频输入设备和LED灯带的电路连接线材。
章节三、电路连接3.1 连接麦克风:将麦克风的输出端与单片机的音频输入引脚相连接。
3.2 连接LED灯带:将LED灯带的信号输入端与单片机的数字输出引脚相连接。
3.3 连接电源:根据LED灯带的电源要求,将LED灯带与适当的电源连接。
章节四、软件配置4.1 安装开发环境:根据所选单片机的要求,安装相应的开发环境,如Arduino IDE或树莓派操作系统。
4.2 配置音频输入:在开发环境中配置音频输入设备的参数,如选择麦克风作为输入源,设置采样率等。
4.3 编写程序:使用合适的编程语言,编写程序以获取音频输入并将其转化为频谱图的形式。
章节五、运行和测试5.1 程序:将编写好的程序到单片机中。
5.2 运行程序:通过单片机的开发环境,运行程序并开始监测音频输入。
5.3 测试频谱图:播放音乐或其他音频源,观察LED灯带上显示的频谱图效果,进行调试和测试。
章节六、附件本文档的附件包括:1)电路连接图:展示单片机、音频输入设备和LED灯带之间的连接关系。
2)程序代码:提供编写好的单片机程序代码,方便读者参考和使用。
章节七、法律名词及注释1)单片机:单片机是一种集成了中央处理器、内存和输入/输出接口等功能的微型计算机芯片。
2)音频输入设备:音频输入设备是用于将声音信号转化为电信号的设备,如麦克风、音频输入接口等。
3)LED灯带:LED灯带是一种由多个发光二极管组成的灯带,可实现各种颜色的发光效果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:单片机LED音乐频谱的设计院(系):专业:学生姓名:学号:指导教师:2011年07月07日摘要该系统采用增强型8051单片机STC12C5A60S2为主控制器,通过单片机内置的ADC对音频信号进行采样、量化,然后通过快速傅里叶变换运算,在频域计算出音频信号各个频率分量的功率,最后通过双基色LED单元板进行显示。
该方案具有电路结构简洁,开发、生产成本低的优点。
关键词:单片机;傅里叶;LED;目录1. 引言 (1)2. 方案设计 (2)2.1设计要求 (2)2.2总体方案设计 (3)2.3总体方案组成 (6)3. 系统电路设计 (6)3.1单片机主控电路设计主控制器 (6)3.2LED显示模块电路设计 (7)4. 软件设计 (8)4.1软件设计流程图 (8)5.系统的测试 (8)6.结论 (9)7.参考文献 (11)8. 附录 (14)1. 引言本文介绍的音乐频谱显示器可对mp3、手机、计算机输出的音乐信号进行实时的频谱显示。
系统采用增强型8051单片机STC12C5A60S2为主控制芯片,通过单片机内置的ADC对音频信号进行采样,把连续信号离散化,然后通过快速傅里叶变换(FFT)运算,在频域计算出音频信号各个频率分量的功率,最后通过双基色LED单元板进行显示。
在显示的频率点不多的情况下,本系统比采用DSP或ARM作为主控制芯片的设计方案具有电路结构简洁,开发、生产成本低的优点。
2. 方案设计2.1设计要求1. 单片机自带AD 转换,这样省去外围AD 电路。
2. 控制LED 随着音乐跳动,需要理解傅里叶原理。
2.2总体方案设计经分析,将系统分为两个部分,一个是由单片机组成的主控。
另一部分是LED 显示部分,单片机对接收到的音频进行处理经过傅里叶换算后在LED 显示,5V 稳压电源给各个部分供电。
该系统实现的方法有很多种,下面将列出大家最经常用到的实现方案。
系统框图如图1所示图1 音乐频谱总体系统框图 该系统由音频信号预处理电路、单片机STC12C5A60S2控制电路、LED 频谱显示电路等部分组成。
图l为系统整体设计原理框图。
图1 系统整体设计原理框图系统各组部分的功能:(1)音频信号预处理电路主要对输入的音频进行电压放大和电平提升。
(2)单片机STC12C5A60S2控制电路采用内置的ADC 对音频信号进行采样量化,然后对量化后的音频数据采用FFT 算法计算其频谱值,再将各频谱值进行32级量化。
(3)LED 频谱显示电路在单片机的控制下,负责将FFT 计算得到的音频信号的各个频点的大小进行直观显示。
1.音频信号预处理电路图2 音频信号预处理电路音频信号预处理电路见图2所示,对输入的音频进行电压放大和电平提升。
手机、计算机输出的音频信号Vin 经过RP1进行电压调节后,经集成运放LMV358反相放大10倍(Av=-R3/R2=-10),提高系统的灵敏度。
选用单电源供电的运放LMV358,一方面可以简化系统电源电路的设计,直接采用系统的+5V 供电即可;另一方面其输出端静态电压为VCC/2,即2.5V 。
放大后的音频信号和这2.5V 叠加后变为直流电压信号,满足后面单片机内置的ADC 对输入电压量程的要求。
另外,LMV358为轨到轨输出运放,它可在+5V 单电源供电条件下仍具有较大的动态输出范围。
2.单片机STC12C5A60S2控制电路STC12C5A60S2单片机是宏晶科技生产的新一代单时钟/机器周期(1T)8051单片机,具有高速、低功耗及超强抗干扰等特点,指令代码完全兼容传统8051,但速度快8-12倍;内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)等资源[1]。
特别是它带硬件乘法/除法指令,使乘法指令执行时间从传统8051的48个晶振周期减少到4个晶振周期,使需要大量乘法运算的FFT运算速度得到大幅度提高。
在本系统中,STC12C5A60S2单片机负责完成对音频信号进行A/D 变换,然后采用FFT算法计算音频信号频谱,并将计算结果输出到LED频谱显示电路。
(1)音频信号的A/D变换根据香农采样定理,一般采样频率至少应为所采样音频信号最高频率的2倍。
由于人耳能够感受的频率为20Hz-20kHz,所以理论上采样频率最高取40kHz。
本设计采用单片机STC12C5A60S2内置的ADC对音频信号进行采样、量化。
STC12C5A60S2单片机的A/D转换口在P1口(P1.0-P1.7),有8路10位的高速ADC,其输入电压量程为0-Vcc,转换速度可通过ADC_CONTR特殊功能寄存器的SPEED1,SPEED0位进行控制,速度最快可设置为每90个时钟周期转换一次。
在外接晶振为24MHz时,ADC的转换速度可达到330KHZ,完全可满足对音频信号的采样需要。
(2)音频信号频谱值的计算我们采用快速傅里叶算法(FFT)来计算音频信号的频谱值。
根据FFT运算规律,如ADC以fs的采样频率取N个采样点,经过FFT运算之后,就可以得到N个点的复数序列。
通常为了方便进行FFT运算,通常N取2的整数次方:N=2L(L为正整数)。
这N个点的FFT结果,每一个点就对应着原始信号的一个频率点,即第n点所表示的频率为f=n×fs/N,n=0,1,…,(N-1);该点的模值除以N/2就是对应该频率下原始信号的幅度(对于第1个点则是除以N);该点的相位即是对应该频率下原始信号的相位。
由于FFT结果的对称性,通常只使用FFT运算后的前N/2个点的数值。
本系统每隔10ms采样一次128个点,经过FFT运算后将得到128个频率点。
由于FFT结果的对称性,我们选取前64个点进行显示。
现在FFT算法已发展出多种形式,本系统采用按时间抽选(DIT)的基-2FFT算法,这种算法程序相对较简单,节省存储单元,运行效率较高,比较适合用单片机编程实现。
DIT基-2FFT算法主要由倒位序运算和多级蝶形运算实现。
a.倒位序运算的实现DIT基-2FFT算法通常将原始数据序列倒位序存储,运算后的结果则按正常顺序输出。
一般的数字信号处理的教材都介绍雷德(Rader)算法,通过“反向进位加法”将原始数据序列进行倒位序存储[2]。
雷德算法的灵活性较大,但在本系统中,参与运算的数据点数只有128个,通过预先编制倒位序查询表,采用查表方式实现倒位序操作速度会更快。
b.蝶形运算的实现根据DIT基-2 FFT算法原理,N点FFT运算由log2N级,每级N/2个蝶形运算,共(N/2)log2N个蝶形运算构成。
每个蝶形运算结构见图3所示[2]。
图3 按时间抽选蝶形运算结构蝶形运算结构图中,m表示第m级的蝶形运算,k 为蝶形运算第一节点所在行数,b为蝶形运算两节点距离,b=2m-1,WNr为旋转因子,WNr=cos(2πr/N)-jsin(2πr/N)。
每个蝶形结构完成下述基本迭代运算[2]:设Xm=Rm+jIm,将式(1)转变为实部和虚部的表示形式,得到:由上面式(1)、式(2)可见,一个蝶形运算需要一次复数乘法Xm-1(k+b)WNr及两次复数加(减)法。
在单片机系统中编程实现时,需把复数运算转变为实数运算。
同理,将式(2)转变为:将sin、cos函数做成表格sin_tab[128]、cos_tab[128],直接查表可提高运算速度。
3.频谱值的显示系统中采用5*11个不同颜色的草帽LED进行显示,每列显示音频信号的一个频率点,每列LED点亮的高度表示该频率点幅度的大小。
整个显示板一共有5列,工作的时候,可以看到每列根据频率幅度的大小在跳动。
2.3 整体系统组成本系统硬件部分由单片机主控电路、LED显示部分、音频采集等部分组成,其中单片机主控电路有外接晶振,电源供电电路阻等部分组成。
软件部分详细见下文。
单片机全系统如下图2所示。
3. 系统电路设计3.1单片机主控电路设计单片机主控模块包括了振落电路、音频采集电路,同时接入了各个模块的接口,保证了整个系统的灵活性。
单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。
硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。
这种设计方法可以降低系统设计的复杂性。
控制电路的核心器件是由美国Atmel公司生产的AT89S52单片机,属于MCS-51系列。
AT89S52是一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。
因此广泛应用于工业控制和嵌入式系统中。
单片机主控电路原理图如下所示:图4.1 单片机主控电路原理图3.2 LED显示模块电路设计4. 软件设计4.1软件设计流程图FFT倒序流程图FFT计算流程图5. 系统测试制作的过程中首先遇到的问题是LED如何组装,经过查阅资料发现,可以利用LED的管脚互相按照电路图连接起来,这个时候主要是利用万用表来测试,LED灯到底有无坏掉的。
通电后,在无音频输入时,LED应该无闪烁跳动现象。
在制作完成的时候,发现LED灯闪烁,这个时候,在音频输入端接入了47p的电容,这样就解决了这个问题。
6. 结论本系统采用增强型8051单片机STC12C5A60S2实现音乐频谱显示,该方案硬件电路设计简单、成本低,并具有较高的实用价值。
本方案是通过ADC采样输入的音频信号,ADC采样完成以后,将数据进行倒序排列并进行FFT运算,结果通过TFT液晶显示出来。
由于采用的处理器的处理能力的原因,不能做到很高的采样频率和很精细的频率分辨率,要提高系统的频率分辨率,就需要增加采样点数。
可以借助PC的强大处理能力,将采样的数据通过预留的串口传送给PC,在PC上完成FFT运算以及显示,这就是虚拟仪器的方式,实际工作中应用前景也非常大。
谢辞感谢老师对我们的指导。
完成了这个实训任务,虽然结果差强人意,但是还是有进步的,有收获的。
希望以后在学习生活中能继续好好学习。
7.参考文献[1]宏晶科技.STC12C5A60S2系列单片机器件手册[M].2010.[2]程佩青.数字信号处理教程(第二版)[M].北京:清华大学出版社,2001.[3]靳桅,等.基于51系列单片机的LED显示屏开关技术(第2版)[M].北京:北京航空航天大学出版社,2011.作者简介:吴永德(1980―),男,讲师,从事电子技术专业教学及研究。
罗萍(1979―),女,讲师,从事计算机技术专业教学及研究。