|
這是我做的基于AT89C51單片機的數(shù)字音樂盒的開題報告
內(nèi)含流程圖,含電路圖
以及詳細的設(shè)計思路和流程
方便開題使用
我要完成的作品是 數(shù)字音樂盒
這是一個基于AT89C51系列單片機的音樂盒。該音樂盒主要由按鍵電路、復(fù)位電路、時鐘電路、顯示電路以及蜂鳴器組成。使用四個按鍵控制音樂盒,其中兩個按鍵用來控制歌曲的播放、暫停,另兩個用來控制液晶上歌曲次序的變化,本音樂盒共有三首歌曲。播放歌曲時,相應(yīng)歌曲對應(yīng)相應(yīng)數(shù)碼管上歌曲次序及歌名的顯示。
AT89C51提供以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個十六位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。空閑方式停止CPU的工作,但允許隨機存取數(shù)據(jù)存儲器,也就是RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復(fù)位。
晶振電路
晶體振蕩器,簡稱晶振,它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡(luò)。晶振有一個重要的參數(shù),那就是負載電容值,選擇與負載電容值相等的并聯(lián)電容,就可以得到晶振標(biāo)稱的諧振頻率。這部分電路和單片機的XTAL1和XTAL2端口相連,其中,XTAL1是振蕩器反相放大電路及內(nèi)部時鐘發(fā)生器的輸入端,XTAL2是振蕩器反相放大器的輸出端。
復(fù)位電路
單片機在啟動時都需要進行復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始工作。這部分電路和RST端口相連。如果RST引腳上有一個高電平并維持2個機器周期以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。
驅(qū)動電路
由于蜂鳴器的工作電流一般都比較大,以致于單片機的I/O口是無法直接驅(qū)動的,因此要用放大電路,一般用三極管放大電流就可以了。這個電路可以接到P2.7/A15端口作為輸出。
按鍵電路
P1.0-P1.5作為控制按鍵,其中P1.0,,P1.1口掃描行,按下P1.0口的按鍵就播放,按下P1.1口的按鍵暫停,P1.4,P1.5掃描列,用于選擇歌曲,即按下P1.4口按鍵選擇上一首,按下P1.5按鍵選擇下一首
除此之外還有顯示電路,不作過多描述。
要做數(shù)字音樂盒重要的一點就是確定節(jié)拍和音調(diào),我們可以將一拍設(shè)置為0.5s,那么半拍就是0.25s,1/4拍就是0.125s,以此類推。一首音樂是由許多不同的音符構(gòu)成的,而每個音符的音調(diào)對應(yīng)不同的頻率,節(jié)拍對應(yīng)時長,我們用不同頻率的音頻脈沖就可以產(chǎn)生音樂,用單片機產(chǎn)生不同頻率的脈沖是非常方便的。因此,我只需要弄清楚音樂中的音符和對應(yīng)的頻率,以及單片機定時計數(shù)的關(guān)系就可以了。
我可以把小字一組的do re mi fa so la si分別編碼為1-7,小字二組的do編為8, re編為9,把停頓編為0。我把音符的音調(diào)的編碼放在一個字節(jié)的高四位,而把節(jié)拍即時長放在低四位。可以用十六分音符即1/4拍的時長作為計量單位,那么18H就代表小字一組do這個音節(jié)播放兩拍
|
-
-
-
-
數(shù)字音樂盒.docx
2018-12-11 13:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
85.69 KB, 下載次數(shù): 98, 下載積分: 黑幣 -5
AT89C51數(shù)字音樂盒開題報告
|