點擊打開鏈接 轉載請注明出處: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的輸入,效果還能夠。
看到這里,你仍有可能對當中的細節實現不是非常清楚,別操心,我會負責究竟。接下來的博客我會繼續帶小伙伴們分析這個東東的。
三.軟件框圖