前言:
利用單片機(jī)演奏音樂是單片機(jī)愛好者的興趣之一,應(yīng)用的范圍也比較廣泛。所謂音樂播放器,由單片機(jī)進(jìn)行信息處理,再經(jīng)過信號放大,由蜂鳴器發(fā)出樂曲聲。我們知道,振動產(chǎn)生聲音,振動頻率不同所發(fā)出的聲音也就不同。有規(guī)律的振動發(fā)出的聲音叫“樂音”。音樂由音頻和節(jié)拍構(gòu)成,音頻即發(fā)聲的頻率;節(jié)拍即延時的長短。因此利用單片機(jī)的定時器,產(chǎn)生一定頻率的方波,即可以產(chǎn)生一定頻率的聲音。再利用單片機(jī)軟件延時的方法來產(chǎn)生不同的節(jié)拍。把音頻和節(jié)拍結(jié)合起來,進(jìn)行合理的排列,即可播放出比較悅耳的音樂。本文比較詳細(xì)地介紹了音樂播放器的工作原理、設(shè)計思路、硬件的選擇及相關(guān)作用、軟件的實(shí)現(xiàn)方法以及詳細(xì)的程序清單。
控制單片機(jī)播放音樂的方式有很多,多數(shù)使用者利用單片機(jī)存儲音樂與控制播放。本設(shè)計利用STC89C51單片機(jī)及少數(shù)外圍電路控制音樂播放,產(chǎn)生兩首不同的歌曲。 對于單片機(jī)產(chǎn)生音樂,關(guān)鍵是控制頻率的輸出。本設(shè)計采用了定時器T0中斷的方法產(chǎn)生不同頻率的脈沖,從而產(chǎn)生不同頻率的聲音。此外,使用紅外一體化頭VS1838B接收紅外信號,通過外部中斷INT0來進(jìn)行對紅外信號的解碼,由單片機(jī)內(nèi)部程序?qū)Σ煌逆I值完成不同的操作。并且使用常用的無源蜂鳴器進(jìn)行發(fā)聲,實(shí)現(xiàn)了一個簡單的遙控音樂播放器的功能。
紅外遙控音樂臺燈主要功能:
本次設(shè)計所要實(shí)現(xiàn)為以STC89C51為核心的紅外遙控音樂及LED燈具組的功能。首先,我們選擇耐壓值為12V的白色發(fā)光二極管作為本次設(shè)計的燈具組成器件。其次,選用ULN2003及揚(yáng)聲器的語音模塊通過對所選的音樂進(jìn)行編碼輸入到單片機(jī)后再解碼到語音模塊來實(shí)現(xiàn)我們的臺燈音樂播放功能
紅外遙控音樂臺燈整體電路設(shè)計:
根據(jù)設(shè)計要求,紅外遙控音樂臺燈可以分為三個模塊進(jìn)行設(shè)計:
1.單片機(jī)最小系統(tǒng)電路:單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的最小的系統(tǒng)單元。
對51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、時鐘電路、復(fù)位電路。本設(shè)計中使用的單片機(jī)為STC89C51,晶振電路使用12MHZ的晶振。復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,當(dāng)系統(tǒng)一上電,RST腳將會出現(xiàn)高電平,當(dāng)RST腳的高電平持續(xù)兩個機(jī)器周期以上就將復(fù)位。
2.紅外解碼電路:本電路主要用于對紅外遙控器發(fā)出的紅外信號進(jìn)行解碼,然后程序根據(jù)解碼后的不同鍵值相應(yīng)完成不同的功能。
3.音樂播放模塊:本模塊采用ULN2003及揚(yáng)聲器組成語音系統(tǒng)對經(jīng)單片機(jī)解碼后所得的音樂代碼的數(shù)字量放大再轉(zhuǎn)換為模擬量實(shí)現(xiàn)音樂的播放。
4.LED燈具組:我們選用耐壓值為12V的發(fā)光二極管總共為12個。每4個led分為一組,分別與單片機(jī)A8、A9、A10管腳相連,從而實(shí)現(xiàn)臺燈的三檔亮度調(diào)節(jié)。
紅外遙控音樂臺燈原理框圖:
紅外遙控音樂臺燈原理圖截圖:
紅外遙控音樂臺燈紅外遙控器: