劉瑞濤 LIU Rui-tao
(石家莊職業技術學院,石家莊 050081)
(Shijiazhuang Vocational Technology Institute,Shijiazhuang 050081,China)
電子音樂播放器的設計與實現
劉瑞濤 LIU Rui-tao
(石家莊職業技術學院,石家莊 050081)
(Shijiazhuang Vocational Technology Institute,Shijiazhuang 050081,China)
本文主要使用通用的8位單片機和語音驅動電路來實現音樂播放器的設計與實現,從硬件電路設計和軟件程序設計兩方面進行深入的闡述。該設計能夠完成音樂歌曲的存儲、音頻解碼和播放,還可通過數碼管顯示播放音樂的信息。
單片機;音樂播放器;音頻功放電路;蜂鳴器
現實生活中,有很多電子產品需要播放音樂以實現某些提醒功能,例如音樂門鈴通過按鍵觸發芯片里的音樂編碼通過揚聲器發出電子歌曲,微波爐計時結束時通過音樂提示人們加熱完畢。利用單片機實現這種簡單音樂的播放有很多優點,其外部電路相對簡單,控制比較方便,可以存儲多首歌曲并能通過下載程序進行更新,因此很受電子開發人員的青睞。本文主要介紹如何利用AT89S51單片機和音頻驅動電路來的設計來實現電子音樂播放器的實現。
本文的設計思路主要是包括以下三個方面:首先要認真分析音樂產生的基本原理;其次要結合單片機的內部結構找出發出不同頻率的實現方法;最后完成硬件電路原理圖設計和軟件程序設計。
1.1 音樂產生的原理 音作為一種物理現象,是由于物體振動而產生的,人耳能聽到的聲音頻率大約在11-20000Hz,而音樂使用的頻率一般在27-4100Hz。聲音頻率在音樂中叫做音階,一首音樂是許多不同的音階組成的,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了。對于單片機來說,產生不同頻率的可以使用內部的定時器,通過產生不同周期的脈沖來產生方波頻率信號。在使用中需要注意的是,根據某一音階的頻率就可知道它的周期,必須將周期除以2,得到的半周期的時間才是我們用定時器定時的時間,這是由于脈沖是由各1/2的高低電平組成。在本文中,單片機工作在12MHz時鐘頻率下,對應的時鐘周期為1us,使用內部定時器T0,采用工作方式一,改變TH0,TL0的數值即可改變不同頻率的脈沖信號,根據上面敘述的原理,得到下面求計數值的公式:

其中,Fi:單片機內部脈沖周期,當為12MHz晶振時此值為1MHz;Fr:產生音階所需要的頻率。
通過上面的公式,得到C調各音階頻率與計數值T的對照表如表1所示。

表1 C調各音階頻率與計數值T的對照表
節拍是組成音樂的另外一個關鍵部分,在單片機系統中可以通過延時函數來實現。如果1/4拍的延時設為0.2s,那么1拍的時間就為0.8s,依次類推。節拍的延時時間值與音樂的曲調值有相對應的關系。表2是各調節拍的時間設定。

表2 各調節拍的時間設定
1.2 音頻功放方案選擇 對于單片機來說,普通IO口的驅動能力不能直接使得蜂鳴器或揚聲器播放音樂,因此需要在單片機IO口和發聲器件之間連接功率放大電路。常用的功率放大電路有兩種方案,一種是用三極管音頻功放電路,一種是基于LM368的音頻功放電路。由于三極管音頻放大電路所需要電子元器件多,電路硬件設計復雜,故放棄這種方案,選用LM368音頻放大電路,其優點是采用集成電路封裝,外圍元器件少,靜態功耗低,電源電壓范圍寬,效率高,失真度低。
硬件電路圖主要由AT89S51單片機基本電路、LM386音頻放大電路和揚聲器3部分組成。硬件原理圖如圖1所示,主要包括單片機最小系統,采用上電復位和12MHz晶振,P1.0輸出音頻信號;發聲部分由LM386和揚聲器組成。P1.0輸出的脈沖信號經過R1和R2組成的回路輸入到LM386的IN+腳,經LM386整理的信號從VOUT腳輸出,然后進入R3和C4構成的串聯補償網絡,使等效負載近似呈純阻,放置自激或過壓。

圖1 硬件原理圖

圖2 主程序流程圖
軟件程序設計是電子音樂盒的關鍵部分,音樂對各音符的音階和節拍主要都是通過程序驅動單片機IO口來實現的。軟件程序中主要包括兩部分:一是根據音階的不同而對定時器的計數初值進行對應的設置;二是根據節拍的不同而編寫不同定時時間的延時函數。在實際編寫中,可以將這些信息統一存放到數據表中,通過查表的方式取得不同的音階和節拍。主程序流程圖如圖2所示。
本設計實現了電子音樂播放器預期目標和功能,在制作中利用單片機基本IO口和LM386音頻放大電路,在確保功能的前提下實現了硬件電路的最小化。由于本設計使用了教學中常用的51單片機,而且音樂的發聲完全是由程序產生不同頻率的方波實現的,使得系統的開發時間和設計難度大大減少,具有很強的成本優勢。后期還可以將存儲器件、顯示器件等外圍芯片加上,還能實現存儲歌曲,顯示歌曲信息等功能,具有很強的后續開發潛力。
[1]田媛.單片機音樂播放器功能多樣性的設計與實現[J].湖南工業職業技術學院學報,2013(8):1-3.
[2]許紅換.基于單片機AT89C52的數字音樂盒設計[J].電源技術應用,2013(7):199.
[3]常書惠.基于單片機控制的音樂播放器[J].電子商務,2013(9):70-71.
[4]樓俊君.電子音樂播放器的設計[J].福建電腦,2013(5):127-128.
The Design and Implementation of Electronic Music Player
This paper uses the generic 8-bit single chip microcomputer and voice driven circuit to realize the design and implementation of a music player,expounds the two aspects of hardware circuit design and software program design in-depth.This design can complete storage,audio decoding and playing music songs,and also can show the music information through digital tube.
single chip microcomputer;music player;audio power amplifier circuit;buzzer
劉瑞濤(1979-),男,河北石家莊人,實訓室主任,講師,主要從事微控制技術應用。
TP316.5
A
1006-4311(2014)13-0189-02