![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/9335c89b-8ec5-4880-b3c9-dc4e6c5a428b/9335c89b-8ec5-4880-b3c9-dc4e6c5a428bpic.jpg)
![單片機(jī)音樂(lè)播放器課程設(shè)計(jì)報(bào)告_第1頁(yè)](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/21/9335c89b-8ec5-4880-b3c9-dc4e6c5a428b/9335c89b-8ec5-4880-b3c9-dc4e6c5a428b1.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p> 一.課程設(shè)計(jì)任務(wù)及要求.....................................................1</p><p> 二.硬件系統(tǒng)概述.................................................................3<
2、;/p><p> 三.軟件系統(tǒng)概述.................................................................7</p><p> 四.安裝調(diào)試說(shuō)明................................................................14</p><p> 五.總結(jié)與體
3、會(huì)....................................................................15 </p><p> 六.參考文獻(xiàn)........................................................................16</p><p> 一.課程設(shè)計(jì)任務(wù)及要求</p>
4、<p><b> 1.1 設(shè)計(jì)任務(wù)</b></p><p> 設(shè)計(jì)一個(gè)具有特定功能的音樂(lè)播放器。該音樂(lè)播放器上電或按鍵復(fù)位后能自動(dòng)顯示系統(tǒng)提示符“P.”,進(jìn)入準(zhǔn)備工作狀態(tài)。該音樂(lè)播放器可以播放多首音樂(lè),曲目選擇可以由鍵盤(pán)控制,曲目名稱(chēng)可以顯示在顯示器上。</p><p> 1.2 功能要求說(shuō)明</p><p> 設(shè)有四個(gè)
5、按鍵,其中兩個(gè)能實(shí)現(xiàn)多首音樂(lè)的選擇,另一個(gè)能實(shí)現(xiàn)開(kāi)始功能和單曲重播的功能,最后一個(gè)能實(shí)現(xiàn)復(fù)位和關(guān)閉歌曲的功能。設(shè)有一位數(shù)碼管,每選擇一首曲子能在數(shù)碼管上顯示當(dāng)前的曲目(只是數(shù)字)。設(shè)有八位二極管,能隨歌曲頻率閃爍。</p><p> 1.3 總體方案介紹及工作原理說(shuō)明</p><p> 1.3.1 總體方案介紹</p><p> 作為單片機(jī)的重要硬件資源之
6、一,利用定時(shí)器可以產(chǎn)生各種固定頻率的方波信號(hào),也可以產(chǎn)生包括“Do“、“Re“、“Me“--等音階在內(nèi)的各種頻率聲音。在此設(shè)計(jì)中我們采用12MHz的晶振,產(chǎn)生的頻率信號(hào)即音樂(lè)信號(hào)由P3.7口輸出,信號(hào)經(jīng)過(guò)放大后由喇叭發(fā)出聲音。</p><p> 樂(lè)曲中,每一音符對(duì)應(yīng)著確定的頻率,我們可以參照給出的各音符頻率及其相應(yīng)的時(shí)間常數(shù)來(lái)編寫(xiě)程序,根據(jù)表中所提供的常數(shù),將其16進(jìn)制代碼送入芯片里,可以奏出音符。音符的節(jié)拍我
7、們可以用定時(shí)器T0來(lái)控制,送入不同的初值,就可以產(chǎn)生不同的定時(shí)時(shí)間。便如某歌曲的節(jié)奏為每分鐘94拍,即一拍為0.64秒。其它節(jié)拍與時(shí)間的對(duì)應(yīng)關(guān)系也可以從兩者關(guān)系表中得到。</p><p> 定時(shí)器T0工作在定時(shí)方式1,改變TH0及TL0,產(chǎn)生不同的音頻頻率。要編寫(xiě)的樂(lè)譜按要求以音符字節(jié)數(shù)據(jù)表的形式存放在程序中,改變樂(lè)曲就是通過(guò)改變?cè)摂?shù)據(jù)表的內(nèi)容來(lái)實(shí)現(xiàn)的。主程序的任務(wù)是按順序讀取數(shù)據(jù)表中的字節(jié),根據(jù)情況調(diào)用音級(jí)子
8、程序和音長(zhǎng)子程序,啟動(dòng)定時(shí)器T0進(jìn)行工作。</p><p> 1.3.2 工作原理說(shuō)明</p><p> ?。?) 要生產(chǎn)音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間.利用定時(shí)器計(jì)時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O反相,就可在I/O腳上得到此頻率的脈沖.</p><p&g
9、t; ?。?) 利用8051的內(nèi)部定時(shí)器使用其工作在計(jì)數(shù)器模式MODE1下,改變計(jì)數(shù)值THO及TLO以產(chǎn)生不同頻率的方法.</p><p> (3) 例如頻率為523Hz,其周期T=1/523=1912us,因此只要令計(jì)數(shù)器計(jì)時(shí)956us/1us=956,在每次計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO (523Hz). </p><p> 計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下
10、: </p><p> N=Fi÷2÷Fr……………………………………………1.1</p><p> N: 計(jì)算值; Fi: 內(nèi)部計(jì)時(shí)一次為1us, 故其頻率為1MHz;</p><p> ?。?) 其計(jì)數(shù)值的求法如下: </p><p> T=65536-N=65536-Fi÷2÷Fr …
11、…………………………1.2 </p><p> 例如: 設(shè)K=65536, F=1000000=Fi=1MHz, 求低音DO(261Hz).中音DO (523Hz). 高音的DO (1046Hz)的計(jì)算值. T=65536-N=65536-Fi÷2÷Fr=65536-1000000÷2÷Fr=65536-500000/Fr。低音DO的 T=65536-500000/262
12、=63627,中音DO的T=65536-500000/523=64580,高音DO的 T=65536-500000/1047=65059</p><p> ?。?) C調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表如表1所示.</p><p> 表1.1 C調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表</p><p> ?。?) 每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位
13、代表音符的節(jié)拍,表2為節(jié)拍與節(jié)拍碼的對(duì)照.如果1拍為0.4秒,1/4拍是0.1秒,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間.假設(shè)1/4拍為1DELAY,則1拍應(yīng)為4DELAY,以此類(lèi)推.所以只要求得1/4拍的DELAY時(shí)間,其余的節(jié)拍就是它的倍數(shù),如表3為1/4和1/8節(jié)拍的時(shí)間設(shè)定. </p><p><b> 二.硬件系統(tǒng)概述</b></p><p> 2.1 硬
14、件系統(tǒng)各模塊功能簡(jiǎn)要介紹</p><p> 2.1.1 單片機(jī)最小系統(tǒng)</p><p> ?。?) 時(shí)鐘源電路 </p><p> 單片機(jī)內(nèi)部具有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。通常在引腳XTALl和XTAL2跨接石英晶體和兩個(gè)補(bǔ)償電容構(gòu)成自激振蕩器,結(jié)構(gòu)如圖2.1。可以根據(jù)情況選擇6MHz、12MHz或24MHz等頻率的石英晶體,補(bǔ)償電容通常選擇22
15、pF左右的瓷片電容。 </p><p> ?。?) 復(fù)位電路 </p><p> 單片機(jī)小系統(tǒng)采用上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位兩種方式實(shí)現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。手動(dòng)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,用按鈕開(kāi)關(guān)操作使單片機(jī)復(fù)位。其結(jié)構(gòu)如圖2.1。上電自動(dòng)復(fù)位通過(guò)電容C3充電來(lái)實(shí)現(xiàn)。手動(dòng)按鍵復(fù)位是通過(guò)按鍵將電阻R1與VCC接通來(lái)實(shí)現(xiàn)。</
16、p><p><b> 圖2.1</b></p><p> 2.1.2 發(fā)光二極管</p><p> 如圖2.2,當(dāng)接通電源,單片機(jī)運(yùn)行時(shí),八個(gè)二極管隨著不同的調(diào)子閃爍,增加美感。</p><p><b> 圖2.2</b></p><p> 2.1.3 一位數(shù)碼管
17、</p><p> 在此,如圖2.,3,由于圖片是網(wǎng)上找的故與實(shí)物剛好相反,實(shí)物為共陽(yáng)極接法,我手里所擁有的數(shù)碼管為共陽(yáng)極數(shù)碼管,故在此特別說(shuō)明,在軟件部分要將數(shù)碼表改成共陽(yáng)極的,所以在此要特別注意!</p><p><b> 圖2.3</b></p><p><b> 圖2.3</b></p><
18、;p> 2.1.4 蜂鳴器發(fā)聲</p><p> 如圖2.4,利用單片機(jī)的P3.7口產(chǎn)生不同音調(diào)所對(duì)應(yīng)的方波來(lái)使蜂鳴器發(fā)聲,使用PNP三級(jí)管來(lái)驅(qū)動(dòng)。</p><p><b> 圖2.4</b></p><p> 2.1.5 按鍵</p><p> 如圖2.5,按下AGAIN鍵可播放重復(fù)的曲子也
19、可開(kāi)啟播放,按下FORM鍵可播放上一曲,按下NEXT鍵可播放下一曲。</p><p><b> 圖2.5 </b></p><p> 2.2 電路原理圖</p><p><b> 圖2.5</b></p><p> 2.3 元器件清單</p><p> Bill
20、 of Material for 音樂(lè)播放器.Bom</p><p> Used Part Type Designator Footprint Description </p><p> ==== =============== ========== ========== ================== </p><p> 9
21、 10K R1 R2 R3 AXIAL-0.4 Resistor </p><p> R4 R5 R6 </p><p> R7 R8 R20 </p><p> 1 12M
22、HZ Y1 XTAL-1 Crystal Oscillator </p><p> 1 22uF C2 RB-.2/.4 Bi-Polar Capacitor </p><p> 2 30pF C3 C4 RAD-0.1 Capacitor
23、 </p><p> 8 300k R9 R10 R11 AXIAL-0.4 </p><p> R12 R13 </p><p> R14 R15 <
24、;/p><p> R16 </p><p> 1 DIODE D1 LED Diode </p><p> 8 LED D2 D3 D4 LED
25、 </p><p> D5 D6 D7 </p><p> D8 D9 </p><p> 1 RESET S1 SW
26、 </p><p> 1 SPEAKER LS1 SIP-2 </p><p> 1 USB J2 USB Connector</p><p><b> 三.軟件系統(tǒng)概述</b></p
27、><p> 3.1 使用單片機(jī)資源的情況</p><p> 通用寄存器R5,R4,R0,R1,R3,R2</p><p> 用戶(hù)RAM區(qū)30H,31H</p><p> 專(zhuān)用寄存器A,B,DPTR,</p><p> 位尋址區(qū)21H,20H</p><p> 3.2 軟件系統(tǒng)各模塊功
28、能簡(jiǎn)要介紹</p><p> 初始化程序:初始化定時(shí)器;</p><p> 唱歌程序:從表格中取出數(shù)據(jù),利用中斷程序產(chǎn)生不同頻率的方波同時(shí)調(diào)延時(shí)程序產(chǎn)生不同的節(jié)拍;</p><p> 中斷程序:定時(shí)時(shí)間到,產(chǎn)生方波;</p><p> 判鍵程序:判斷哪個(gè)鍵按下,轉(zhuǎn)向相應(yīng)的子程序執(zhí)行相應(yīng)的動(dòng)作;</p><p>
29、 音符表:用于產(chǎn)生曲調(diào);</p><p> 按鍵程序:分別執(zhí)行選歌,開(kāi)啟,重復(fù)的功能。</p><p> 軟件系統(tǒng)程序流程框圖</p><p><b> Y</b></p><p> N 3.4 軟件系統(tǒng)程序清單</p><p><b> ORG 000
30、0H</b></p><p> AJMP LOOOOP</p><p><b> ORG 000BH</b></p><p><b> AJMP TIM0</b></p><p><b> ORG 001BH</b></p><p>
31、<b> RETI</b></p><p> ORG 0023H </p><p> LOOOOP:MOVA,#01H</p><p> LOOOP: MOV P2,#0C0H </p><p><b> MOV P1,A</b></p><p><b>
32、; RL A</b></p><p> MOV R2,#0FFH</p><p> DELAY0:MOV R3,#0FFH</p><p><b> DJNZ R3,$</b></p><p> MOV R4,#0FFH</p><p><b> DJNZ R
33、4,$</b></p><p> DJNZ R2,DELAY0</p><p> JNBP3.3,START</p><p> LJMP LOOOP</p><p> START: MOV P2,#0F9H</p><p> MOV R5,#00H ;初始化&
34、lt;/p><p> MOV TMOD,#00010001B </p><p> MOV IE,#10101010B</p><p> MOV DPTR,#TAB2 ;裝第一首歌</p><p> MOV 30H,DPL ;DPTR低8位送30H暫存</
35、p><p> MOV 31H,DPH ;DPTR高8位送31H暫存</p><p> START1: INC R4 ;產(chǎn)生8位隨機(jī)數(shù)</p><p> MOV A,#01010101B</p><p><b> MOV B,R4</b>&l
36、t;/p><p> MUL AB ;8位隨機(jī)數(shù)由P1口輸出</p><p><b> MOV P1,A</b></p><p> MOV DPL,30H</p><p> MOV DPH,31H </p><p> MOV A,#00H
37、</p><p> MOVC A,@A+DPTR ;查表</p><p> MOV R0,A ;音符數(shù)據(jù)送R0嶄存</p><p> MOV A,#00H</p><p><b> INC DPTR</b></p><p>
38、; MOVC A,@A+DPTR ;查表</p><p> MOV R1,A ;節(jié)拍數(shù)據(jù)送R1嶄存</p><p><b> INC DPTR</b></p><p> MOV 30H,DPL</p><p> MOV 31H,DPH</
39、p><p> CJNE A,#01H,ELECT ;一首歌沒(méi)結(jié)束轉(zhuǎn)ELECT</p><p> INC R5 ;結(jié)束歌曲計(jì)數(shù)器加1</p><p> LJMP KEYWORK ;結(jié)束歌曲計(jì)數(shù)器加1</p><p> ELECT: JZ START
40、 ;所有歌曲結(jié)束轉(zhuǎn)START循環(huán)</p><p><b> MOV A,R0</b></p><p><b> JNZ SING</b></p><p><b> CLR TR0</b></p><p><b> SETB P3.7<
41、;/b></p><p> LOOP1: ACALL DELAY ;調(diào)用延時(shí)子程序</p><p> DJNZ R1,LOOP1</p><p> SJMP START1</p><p> SING: MOV DPTR,#TAB1 ;音符表首址送DPTR</p>&l
42、t;p> DEC R0 ;計(jì)算音符</p><p><b> MOV A,R0</b></p><p> MOV B,#02H </p><p><b> MUL AB</b></p><p><b>
43、 MOV R0,A</b></p><p> MOVC A,@A+DPTR ;查表</p><p><b> MOV 21H,A</b></p><p><b> INC DPTR</b></p><p><b> MOV A,R0</b
44、></p><p> MOVC A,@A+DPTR</p><p><b> MOV 20H,A</b></p><p> MOV TL0,20H </p><p> MOV TH0,21H</p><p> SETB TR0
45、 ;開(kāi)T0定時(shí)器</p><p> LOOP2: ACALL DELAY</p><p> DJNZ R1,LOOP2</p><p> AJMP START1</p><p> TIM0: MOV TL0,20H</p><p> MOV TH0,21H</p><p>
46、<b> CPL P3.7</b></p><p> RETI ;中斷返回</p><p> DELAY: MOV R2,#70</p><p> DELAY1: MOV R3,#252</p><p><b> DJNZ R3,$</b>&l
47、t;/p><p> JNB P3.3,AGAIN ;重復(fù)正播放的曲子</p><p> JNB P3.4,FORM ;上一曲開(kāi)關(guān)按下轉(zhuǎn)FORM</p><p> JNB P3.5,NEXT 下一曲開(kāi)關(guān)按下轉(zhuǎn)NEXT</p><p> DJNZ R2,DELAY1</p
48、><p><b> RET</b></p><p> AGAIN: JNB P3.3,$ ;等待鍵釋放</p><p> LJMP KEYWORK</p><p> FORM: CLR EA ;關(guān)中斷</p><p> JNB P3.
49、4,$ ;等待鍵釋放</p><p> CJNE R5,#00H,ZERO ;不是第一首歌曲轉(zhuǎn)ZER0</p><p> MOV R5,#04H </p><p> SJMP KEYWORK</p><p> ZERO: DEC R5
50、 ;歌曲向上進(jìn)一首</p><p> SJMP KEYWORK</p><p> NEXT: CLR EA</p><p> JNB P3.5,$</p><p> CJNE R5,#04H,LAST</p><p> MOV R5,#00H</p><p>
51、 LJMP KEYWORK</p><p> LAST: INC R5 ;歌曲下翻一首</p><p> LJMP KEYWORK </p><p> KEYWORK: MOV DPTR,#TAB ;將歌曲排列表裝入DPTR</p><p>
52、MOV A,R5 ;將R5的內(nèi)容送A</p><p> RL A </p><p> SETB EA ;開(kāi)中斷</p><p> JMP @A+DPTR ;根據(jù)A的內(nèi)容轉(zhuǎn)向不同歌曲</p&
53、gt;<p> TAB: AJMP MUSIC2</p><p> AJMP MUSIC3</p><p> AJMP MUSIC4</p><p> AJMP MUSIC5</p><p> MUSIC2: MOV DPTR,#TAB2 ;第2首歌曲首址送DPTR</p>
54、<p> MOV P2,#0F9H</p><p> GONG: MOV 30H,DPL</p><p> MOV 31H,DPH</p><p> AJMP START1</p><p> MUSIC3: MOV DPTR,#TAB3</p><p> MOV P2,#0A4H</p>
55、;<p><b> SJMP GONG</b></p><p> MUSIC4: MOV DPTR,#TAB4</p><p> MOV P2,#0BOH</p><p><b> SJMP GONG</b></p><p> MUSIC5: MOV DPTR,#TAB5&l
56、t;/p><p> MOV P2,#99H</p><p><b> SJMP GONG</b></p><p> ;********************(音符表)**********************;</p><p> TAB1: DW 64021,64185,64331,64400,64524,646
57、32,64732</p><p> DW 64777,64860,64934,64968,65030,65085,65134</p><p> DW 65157,65198,65235,65252,65283,65310,65335</p><p> ;*********************(蘭花草)***********************;<
58、/p><p> TAB2: DW 0608H,0A08H,0A08H,0A08H,0A18H,0908H,0808H,0908H</p><p> DW 0808H,0708H,0620H,0D08H,0D08H,0D08H,0D08H,0D18H</p><p> DW 0C08H,0A08H,0C08H,0C08H,0B08H,0A20H,0A08H,0D08
59、H</p><p> DW 0D08H,0C08H,0A18H,0908H,0808H,0908H,0808H,0708H</p><p> DW 0610H,0310H,0308H,0808H,0808H,0708H,0618H,0A08H</p><p> DW 0908H,0808H,0708H,0508H,0620H,0908H,0808H,0708H
60、</p><p> DW 0508H,0640H,0001H</p><p> ;**********************(梁祝)*************************;</p><p> TAB3: DW 0A10H,0C08H,0D04H,0F08H,1004H,0D04H,0F04H,0C08H</p><p>
61、 DW 1308H,1504H,1404H,1304H,1104H,1304H,1018H,1008H</p><p> DW 1004H,1104H,0E08H,0D04H,0C08H,0D04H,0F08H,1008H</p><p> DW 0A08H,0F08H,0D04H,0C04H,0D04H,0F04H,0C18H,1108H</p><p>
62、DW 1304H,0E08H,1008H,0D04H,0F04H,0C08H,0C10H,0A08H</p><p> DW 0C02H,0A08H,0C08H,0D02H,0E04H,1004H,0D18H,0C04H</p><p> DW 0D04H,0F08H,1004H,1308H,1108H,1008H,1104H,1004H</p><p> D
63、W 0F08H,0D04H,0C04H,0A10H,0F10H,0D08H,0F02H,0D04H</p><p> DW 0C04H,0A04H,0C04H,0D04H,0F04H,0C38H,0001H</p><p> ;*****************(讓我們蕩起雙槳)*********************;</p><p> TAB4: DW
64、0608H,0808H,0908H,0A18H,0C08H,0A08H,0808H,0910H</p><p> DW 0620H,0008H,0808H,0908H,0A08H,0C18H,0001H,0C08H</p><p> DW 0D10H,0910H,0A30H,0001H,0A08H,0C08H,0D20H,0C18H</p><p> DW 0
65、D08H,0F08H,0E04H,0D04H,0C08H,0D08H,0A10H,0004H</p><p> DW 0808H,0908H,0A18H,0C08H,0810H,0610H,0808H,0908H</p><p> DW 0A08H,0D08H,0C30H,0010H,0A20H,0D18H,0001H,0D08H</p><p> DW 0C
66、08H,0B08H,0A10H,0001H,0920H,0A18H,0C08H,0608H</p><p> DW 0808H,0910H,0010H,0808H,0908H,0A10H,0C0BH,0001H</p><p> DW 0C04H,0D10H,0F10H,0E08H,0D08H,0C08H,0A08H,0D40H</p><p><b>
67、; DW 0001H</b></p><p> ;*********************(童年)****************************;</p><p> TAB5: DW 0A08H,0C08H,0C10H,0C08H,0A08H,0D08H,0D08H,0E08H</p><p> DW 0D08H,0D08H,0D08
68、H,0D08H,0C08H,0F10H,0F08H,0F08H</p><p> DW 0F08H,0D08H,0F08H,0D08H,0C40H,0A08H,0C08H,0C10H</p><p> DW 0C08H,0A08H,0D08H,0D08H,0E08H,0D08H,0D08H,0D08H</p><p> DW 0D08H,0C08H,0F10H
69、,0F08H,0F08H,0F08H,0D08H,0D08H</p><p> DW 0F08H,1040H,1308H,1308H,1310H,1310H,1108H,1008H</p><p> DW 0F08H,0F10H,0D08H,0D08H,0F08H,0D08H,0F08H,1008H</p><p> DW 1008H,1008H,1008H,
70、1008H,0F08H,1108H,1008H,1040H</p><p> DW 1108H,1110H,1108H,1108H,1008H,1010H,0F08H,0F10H</p><p> DW 0F08H,1008H,0F08H,0D08H,0C08H,0C08H,0C10H,0C08H</p><p> DW 0D08H,0C08H,1008H,1
71、108H,0F40H,0001H,0000H</p><p><b> END</b></p><p><b> 四.安裝調(diào)試說(shuō)明</b></p><p> 本播放器分為4個(gè)部分,分別為:?jiǎn)纹瑱C(jī)最小系統(tǒng)、按鍵模塊、彩燈模塊及其數(shù)碼管顯示模塊。</p><p> 其中,第一最小系統(tǒng)是一塊單片機(jī)
72、芯片,使用的是AT89S51,在其P0口要外接一排上拉電阻,其第九引腳接復(fù)位電路,第十八、十九兩腳接時(shí)鐘電路。在此時(shí)鐘電路的振蕩頻率為12M,用于產(chǎn)生內(nèi)部時(shí)鐘信號(hào),第四十腳接+5V電源,第二十腳接地(GND)。第二彩燈系統(tǒng),由八個(gè)彩色的發(fā)光二極管構(gòu)成,其功能是實(shí)現(xiàn)電源接通的無(wú)限循環(huán),和播放音樂(lè)的跑馬燈效果 。在此將這些發(fā)光二極管正極通過(guò)驅(qū)動(dòng)電阻連接到+5V的電源上,另一腳分別接到p1口的p1.0—p1.7上,第三按鍵模塊由3個(gè)按鍵組成,
73、一個(gè)為開(kāi)始,重復(fù)按鍵,此按鍵接p3.3口,一個(gè)為上一曲,此按鍵接p3.4口,還有一個(gè)是下一曲按鍵,此按鍵接到單片機(jī)p3.5口,最后一個(gè)部分是數(shù)碼管顯示,此處用一位數(shù)碼管,接到p2口,在接通電源時(shí),實(shí)現(xiàn)數(shù)碼管顯示為0,按下開(kāi)始按鍵時(shí)數(shù)碼管顯示1開(kāi)始播放音樂(lè),按下一曲或者上一曲時(shí),數(shù)碼管顯示的數(shù)對(duì)應(yīng)加1或者減1。</p><p> 各部分硬件電路連接完成,認(rèn)真檢查,即可寫(xiě)出相應(yīng)的程序?qū)⑵渚幾g連接裝載,生成16進(jìn)制文
74、件即.hex然后燒錄到單片機(jī)(此處用DIP40)中,然后放到各電路模塊組成的整機(jī)中,進(jìn)行調(diào)試,必要時(shí)先用Multisim進(jìn)行仿真,仿真成功,在進(jìn)行電路板焊接及程序裝載,調(diào)試。</p><p><b> 五.總結(jié)和體會(huì)</b></p><p> 通過(guò)本次實(shí)訓(xùn),對(duì)單片機(jī)的一系列知識(shí),進(jìn)行了一次系統(tǒng)的復(fù)習(xí),熟悉了一些簡(jiǎn)單的程序,如延時(shí)程序,并學(xué)習(xí)了一些新的東西,如隨機(jī)數(shù)
75、的產(chǎn)生,按鍵的掃描及去抖動(dòng)等。</p><p> 在本次試驗(yàn)中,學(xué)會(huì)了從程序的主體功能考慮要達(dá)到一個(gè)什么樣的要求,從而,將程序分成各個(gè)子程序,逐個(gè)寫(xiě)出,分布細(xì)化,從而減少程序出錯(cuò)機(jī)率,并且易于檢查各部分程序,根據(jù)任務(wù)功能所要達(dá)到的要求來(lái)進(jìn)行檢查,看到哪個(gè)模塊所對(duì)應(yīng)的程序不對(duì),就檢查哪個(gè)模塊,提高了檢查效率。同時(shí)可以使程序條理清晰,方便改錯(cuò)。為了提高程序可讀性,可以加注釋對(duì)程序的功能加以解釋說(shuō)明,并且在各個(gè)子程序
76、之間以空行來(lái)分隔。</p><p> 在這里,因?yàn)槲覀兊囊魳?lè)播放是以查表的方式進(jìn)行,所以首先我們要根據(jù)晶振的頻率將音樂(lè)樂(lè)譜轉(zhuǎn)化為16進(jìn)制的代碼表,這里的表有兩種形式,一種以DB開(kāi)頭,另一種以DW開(kāi)頭,這兩種形式表的區(qū)別是:DW表有高位和低位4個(gè)數(shù)字或字母組成,而DB表,只有低位,沒(méi)有高位,一般是兩位數(shù)字或字母組成。所以在運(yùn)用查表程序時(shí)應(yīng)該注意,上文程序規(guī)定的是什么樣的表,有高位下面的表就必須用DW形式的,如果沒(méi)
77、有高位只有低位則下面的表必須用DB形式的,否則程序無(wú)法按照正常的查表方法查詢(xún)下去,即不能正常播放音樂(lè),大多情況為不能發(fā)出任何聲音,少許為全是噪音!</p><p><b> 六.參考文獻(xiàn)</b></p><p> [1] 楊恢先,黃輝先.單片機(jī)原理及應(yīng)用[M].北京:人民郵電出版社,2006.</p><p> [2] 胡洪波.單片機(jī)原理
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)音樂(lè)播放器課程設(shè)計(jì)報(bào)告
- 基于單片機(jī)音樂(lè)播放器課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的音樂(lè)播放器
- 單片機(jī)課程設(shè)計(jì)——紅外遙控音樂(lè)播放器
- 基于單片機(jī)音樂(lè)播放器設(shè)計(jì)-課程設(shè)計(jì)論文
- 硬件課程設(shè)計(jì)報(bào)告--基于51單片機(jī)音樂(lè)播放器設(shè)計(jì)
- 課程設(shè)計(jì)--基于單片機(jī)的簡(jiǎn)易音樂(lè)播放器
- 單片機(jī)課程設(shè)計(jì)--電子音樂(lè)播放器
- 課程設(shè)計(jì)-基于單片機(jī)的音樂(lè)盒播放器設(shè)計(jì)
- 課程設(shè)計(jì)---基于atmega16單片機(jī)的音樂(lè)播放器設(shè)計(jì)
- 音樂(lè)播放器課程設(shè)計(jì)報(bào)告
- 基于單片機(jī)的音樂(lè)播放器設(shè)計(jì)[開(kāi)題報(bào)告]
- (湖南工業(yè)大學(xué)單片機(jī)課程設(shè)計(jì)-)基于51單片機(jī)的音樂(lè)播放器
- 音樂(lè)播放系統(tǒng)設(shè)計(jì)--單片機(jī)課程設(shè)計(jì)報(bào)告
- 開(kāi)題報(bào)告---基于單片機(jī)的自動(dòng)音樂(lè)播放器設(shè)計(jì)
- 基于單片機(jī)音樂(lè)播放器設(shè)計(jì)[文獻(xiàn)綜述]
- 基于51單片機(jī)的音樂(lè)播放器設(shè)計(jì)
- 15-單片機(jī)音樂(lè)播放器設(shè)計(jì).doc
- 開(kāi)題報(bào)告---基于單片機(jī)的自動(dòng)音樂(lè)播放器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-單片機(jī)音樂(lè)播放器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論