【正文】
8 總設計框圖8 各部分硬件的作用8 LED和數碼管的設計95 音調和節(jié)拍的設計11 音調和節(jié)拍的設計以及音樂基礎知識11 音調和節(jié)拍的編碼136 源程序設計14 音樂程序14 LED花樣程序15 數碼管程序167 數字音樂盒總設計圖17 仿真總設計圖17 實物總設計圖188 結論19參考文獻20致謝21附錄A總程序源代碼及注釋221 前言隨著科技越來越發(fā)達,單片機技術也越來越純熟,單片機的應用也越來越廣泛,可以說幾乎很難找到哪個領域沒有單片機的蹤跡。關鍵詞:數字音樂盒;AT89C51;KEIL;PROTEUS;數碼管 THE DESIGNATION OF CONTROLLABLE DIGITAL MUSIC BOX BASED ON 51 SCM ABSTRACTThis paper explains the program designation of controllable digital music box based on AT89C51. This music box is designed by the idea that a multifunctional digital music box can be made based on the technical principle of single chip microputer (SCM), together with using the PROTEUS to simulate the hardware circuit and using KEIL to programme the source of music box which is piled with C language. This music box can produce square waves of different frequency in control of the timer inside SCM, and music of different tunes by driving speaker. The program is made use of to drive the sounding equipment to play pleasant music by the way of changing music score into the corresponding timing constant.This music box is totally designed with five songs, and also with three changeable patterns of LED colorful lights. While the songs are being performed, the colorful lights are flashing with tones. While the songs are stopped playing, the colorful lights start to flash with three changeable patterns. The songs and patterns can be free to switch. At the same time, the digital tube is also constantly changing figures to show the serial number of the songs and the patterns of the colorful lights.Key words: Digital music box。在演奏歌曲時彩燈隨音調閃爍。該音樂盒是一個依據單片機技術原理,通過PROTEUS仿真軟件對硬件電路進行仿真制作以及利用KEIL軟件對音樂盒源程序進行C語言編譯,而設計制作出的一個多功能數字音樂盒。該音樂盒通過控制單片機內部的定時器來產生不同頻率的方波,驅動喇叭發(fā)出不同音調的音樂。在停止演奏歌曲時三種彩燈花樣開始閃爍。 AT89C51。如今,單片機在各個領域都起著至關重要的作用[1]。但是本文設計的數字音樂盒是以單片機為核心元件的數字音樂盒。2 單片機和音樂盒硬件的功能隨著當代單片機技術的突飛猛進,單片機的功能也越來越強大,主要包括有:(1)單片機集成度高;(2)系統結構簡單,使用方便,實現模塊化; ?。?)單片機可靠性高,處理功能強,速度快; ?。?)低電壓,低功耗,便于生產便攜式產品 ; ?。?)控制功能強大。如圖:圖 21 AT89C51單片機引腳圖圖 22 AT89C51單片機實物圖引腳功能[3]::為一個8位漏級開路雙向I/O口;:是一個內部提供上拉電阻的8位雙向I/O口;:為一個內部上拉電阻的8位雙向I/O口;:管腳是8個帶內部上拉電阻的雙向I/O口;:RXD(串行輸入口);:TXD(串行輸出口);:INT0(外部中斷0);:INT1(外部中斷1);:T0(記時器0外部輸入);:WR(外部數據存儲器寫選通);:RD(外部數據存儲器讀選通);EA:當EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內部程序存儲器。3 數字音樂盒的主體設計方案 音樂盒的主體結構該音樂盒主要是通過控制單片機內部的定時器來產生不同頻率的方波,驅動喇叭發(fā)出不同音調的音樂。 主設計軟件的介紹本次設計主要用到了兩款軟件,一款是用以對源代碼進行C語言編程的KEIL軟件,另一款則是用以對實物設計進行仿真的PROTEUS軟件[4]。運行KEIL軟件需要WIN9NT、WIN2000、WINXP等操作系統。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS)。與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。 仿真軟件PROTEUS的簡介有了編譯軟件,同樣也少不了仿真軟件PROTEUS,這是一款非常強大的仿真軟件,有了它以后,我們就可以節(jié)省大量的精力和資源,僅僅通過電腦就能模擬我們想要的東西,直至滿足我們自己的要求為止。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。在PROTEUS繪制好原理圖后,調入已編譯好的目標代碼文件(.HEX),可以在PROTEUS的原理圖中看到模擬的實物運行狀態(tài)和過程。它的元器件、連接線路等卻和傳統的單片機實驗硬件高度對應。這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構成自然振蕩器。用戶也可以采用外部時鐘。振蕩器電路圖如下:圖 42 單片機內部、外部振蕩電路 LED和數碼管的設計(1)八路LED彩燈,連接方式為共陽極,若為低電平,可使LED亮起。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調”和節(jié)拍表示一個音符唱多長的時間[6]。在鋼琴等鍵盤樂器上,C–D、D–E、F–G、G–A、A–B兩音之間隔著一個黑鍵,他們之間的距離就是全音;E–F、B–C兩音之間沒有黑鍵相隔,它們之間的距離就是半音。