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