張?zhí)m紅
本文介紹的是一種基于單片機AT89C51的簡易音樂盒設(shè)計。詳細(xì)列出了硬件電路及軟件設(shè)計流程圖,將編譯好的程序加載到仿真軟件Proteus中的AT89C51,I/O口產(chǎn)生不同頻率的方波,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào),流暢播放出音樂。
單片機Proteus音樂盒
1引言
本文設(shè)計的簡易音樂盒是以AT89C51為核心元件的電子式音樂盒,利用其本身的存儲,存放音樂,通過 I/O口產(chǎn)生一定頻率的方波,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào),從而演奏出歌曲。本音樂盒體積小,重量輕,使用起來很方便,還可制作成精美的禮品。
2簡易音樂盒的基本功能
基本功能如下:(1)內(nèi)建2首歌曲旋律;(2)用2個按鍵來選擇演奏哪一首歌曲;(3)通過定時實現(xiàn)音樂頻率的變化;(4)歌曲演奏中,可以按鍵中斷,通過中斷實現(xiàn)歌曲的播放和暫停。
3簡易音樂盒的組成
簡易音樂盒主要由AT89C51、晶振復(fù)位電路、蜂鳴器、按鍵等組成,其構(gòu)成框圖如圖1所示。
利用單片機仿真軟件Proteus設(shè)計出的簡易音樂盒硬件電路中,用 P3.2、P3.3控制按鍵進行播放曲目選擇;P1.1的輸出經(jīng)由三極管放大送至蜂鳴器;晶振頻率12MHZ,起振電路中C1、C2均為22PF,可提高產(chǎn)生震蕩信號的穩(wěn)定性;R1,R2均為限流電阻。
4軟件設(shè)計
音樂是由許多不同的音符組成,而每個音符對應(yīng)不同頻率,這樣就可以利用不同頻率的組合,加以與拍數(shù)對應(yīng)的延時,構(gòu)成音樂。因此設(shè)計音樂盒時,利用單片機的定時/計數(shù)器來產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂。本軟件采用KEIL C51語言編程,編寫了主程序、音符播放程序,還有按鍵掃描程序(包括掃描,去抖延時)等。流程圖如圖2、3所示。
5結(jié)論
將編譯好的程序加載到仿真軟件Proteus中的AT89C51單片機。仿真操作會發(fā)現(xiàn)本程序可以通過按鍵播放2首歌曲,當(dāng)沒有按鍵時程序?qū)⒆詣友h(huán)播放歌曲。程序中通過定時器T1、T2的使用,實現(xiàn)音樂頻率的變化。本設(shè)計中的關(guān)鍵點就是要弄清楚音樂中的音符和對應(yīng)的頻率以及單片機定時計數(shù)的關(guān)系。
參考文獻:
[1]宋戈等.51單片機應(yīng)用開發(fā)范例大全(第2版)[M].北京:人民郵電出版社,2012.
[2]張華杰.51單片機應(yīng)用開發(fā)從入門到精通[M].北京:人民郵電出版社,2014.