基于A(yíng)T89S52單片機的多功能音樂(lè )播放器
通過(guò)Time0的溢出中斷實(shí)現單頻產(chǎn)生。Time0的溢出中斷發(fā)生后輸出引腳的電壓反向,然后定時(shí)器重新裝入初值。所以編程時(shí)要確定Time0的工作模式和計數初值。這里采用工作模式1,定時(shí)器的初值設定通過(guò)軟件重復實(shí)現。而且定時(shí)器的初值則依據各音頻頻率設置。例如:中音Do音頻是523Hz,其周期T=l/523=1 912μs,其半周期為1912/2=956μs。本設計的計時(shí)時(shí)鐘周期是lμs,因此設置TimeO的計數器每計956次則中斷一次,從而實(shí)現Do的音頻,然后通過(guò)中斷觸發(fā)實(shí)現引腳電壓的循環(huán)取反得到相應音頻輸出。圖4為液晶顯示的編程流程框圖。
自編音樂(lè )和自動(dòng)播放2個(gè)模式轉換的程序設計,代碼如下:
4 仿真與結果
采用繪制電路圖軟件PROTEUS和用于編寫(xiě)程序的KeilCμVision2實(shí)現系統設計的仿真。圖5為PROTEUS仿真環(huán)境下的硬件電路圖。在KeilC μVision2中創(chuàng )建一個(gè)新項目,然后在PROTEUS中為該項目加入Keil C源程序。調試后,結果和設計目標完全吻合。上電后液晶顯示器顯示“Wel-come!”,接著(zhù)顯示第一首歌曲名字,連續播放直到手動(dòng)選擇。同時(shí)4盞彩燈隨著(zhù)音樂(lè )節奏閃動(dòng)。按下模式轉換按鈕,可以彈奏用戶(hù)喜歡的音符和樂(lè )曲。
5 結語(yǔ)
該設計實(shí)現了多功能音樂(lè )播放器預期的基本功能和指標。采用單片機最小系統和匯編語(yǔ)言,擴展一般音樂(lè )播放器的功能,實(shí)現了自彈自唱和自動(dòng)播放兩種模式的轉換,并且能顯示音樂(lè )的節拍跳動(dòng)和歌曲英文名字。
評論