转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/37929733
这个LED音乐频谱是我在学51单片机的时候做的一个小项目。今天再看此代码仍有很多不规范之处,但由于硬件已经送人,没法继续调试,希望小伙伴们引以为戒。写此文主要是想让大家知道其中的原理,知道怎么做固然重要,更重要的是知道为什么要这样做。
一.效果展示
有可能有的人第一次听说过这个东西,但实际上这个东西很早就有人做出来了。为了让小伙伴们能有一个感性的认识先发下我的成品连接和图片。
效果:http://v.youku.com/v_show/id_XNjU3NDEwOTAw.html
二.实现功能
功能 实现 原理
a.开机LOGO : 就是再视频中开机显示的“若云MCU” LED点阵
b.频谱显示 : 随着音乐输出跳动的LED FFT(快速傅氏变换)
A/D转换
c.四种显示效果: 我按下按键切换频谱的显示模式 位运算
d.亮度切换 : 我按下按键音乐频谱的亮度会发生变化 PWM调光
e.声音输出 : 视频中的音乐输出 TDA2822功放
LED音乐频谱说通俗一点,就是将声音信号通过FFT从时域转换为频域(说的可能还是有点麻烦),其中的转换是通过A/D来实现的。我们通过16*16的点阵观察到的图像就是他的频域信号,由左到右逐渐频率增加。LED点阵就是我们在大街上看到的滚动的广告牌。显示的效果是通过位运算的转换,转化为不同的显示模式。亮度则直接使用STC12单片机自带的D/A。声音的输出用的是一个TDA2822功放芯片,我以前用他做过小音箱,5V的输入,效果还可以。看到这里,你仍有可能对其中的细节实现不是很清楚,别担心,我会负责到底,接下来的博客我会继续带小伙伴们分析这个东东的。