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