基于at89c51單片機(jī)音樂(lè)盒課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)說(shuō)明書(shū)</p><p>  設(shè)計(jì)題目:基于AT89C52單片機(jī)的音樂(lè)盒的設(shè)計(jì)</p><p>  學(xué) 院: </p><p>  專(zhuān)業(yè)班級(jí): </p><p>  設(shè) 計(jì) 者: </p><p>  學(xué)

2、號(hào): </p><p>  指導(dǎo)老師: 目 錄 </p><p>  摘 要…………………………………………………………………4</p><p>  概述……………………………………………………………5</p><p>  音樂(lè)盒的發(fā)音原理……………………………………………6</p>&

3、lt;p>  2.1 播放音樂(lè)的原理……………………………………………6</p><p>  2.2 音符頻率的產(chǎn)生……………………………………………6</p><p>  2.3 節(jié)拍頻率的產(chǎn)生……………………………………………8</p><p>  硬件電路設(shè)計(jì)…………………………………………………9</p><p&g

4、t;  3.1 硬件電路……………………………………………………9</p><p>  3.2 整體硬件電路………………………………………………10</p><p>  3.3 原理說(shuō)明 …………………………………………………10</p><p>  3.4 鍵盤(pán)按鍵 …………………………………………………10</p><p>

5、;  軟件設(shè)計(jì)………………………………………………………11</p><p>  4.1 程序設(shè)計(jì)流程………………………………………………11</p><p>  4.2 設(shè)計(jì)源程序代碼……………………………………………12</p><p>  仿真及調(diào)試……………………………………………………16</p><p>  5.1 調(diào)

6、試 ………………………………………………………16</p><p>  5.2 仿真 ………………………………………………………16</p><p>  5.3 程序調(diào)試中出現(xiàn)的問(wèn)題及解決的辦法 ………………………17</p><p>  設(shè)計(jì)小結(jié)………………………………………………………18 附錄元件清單…………………………………………………19<

7、/p><p>  基于AT89C52單片機(jī)的音樂(lè)盒的設(shè)計(jì)</p><p>  【摘要】:隨著人類(lèi)社會(huì)的發(fā)展,人們對(duì)視覺(jué)、聽(tīng)覺(jué)方面的享受提出了越來(lái)越高的要求。小小的音樂(lè)盒可以給人們帶來(lái)美好的回憶,提高人們的精神文化享受。傳統(tǒng)的音樂(lè)盒多是機(jī)械型的,體積笨重,發(fā)音單調(diào),不能實(shí)現(xiàn)批量生產(chǎn)。本文設(shè)計(jì)的音樂(lè)盒是以單片機(jī)為核心元件的電子式音樂(lè)盒,體積小,重量輕,能演奏和旋音樂(lè),功能多,使用方便,可以批量生產(chǎn)

8、,具有一定的商業(yè)價(jià)值。</p><p>  【關(guān)鍵詞】:音樂(lè)盒;單片機(jī)</p><p><b>  概述</b></p><p>  傳統(tǒng)的音樂(lè)盒多是機(jī)械音樂(lè)盒,其工作原理是通過(guò)齒輪帶動(dòng)一個(gè)帶有鐵釘?shù)蔫F桶轉(zhuǎn)動(dòng),鐵桶上的鐵釘撞擊鐵片制成的琴鍵,從而發(fā)出聲音。但是,機(jī)械式的音樂(lè)盒體積比較大,比較笨重,且發(fā)音單調(diào)。水、灰塵等外在因素,容易使內(nèi)部金屬發(fā)

9、音條變形,從而造成發(fā)音跑調(diào)。另外,機(jī)械音樂(lè)盒放音時(shí)為了讓音色穩(wěn)定,必須放平不能動(dòng)搖,而且價(jià)格昂貴,不能實(shí)現(xiàn)大批量生產(chǎn)。</p><p>  本文設(shè)計(jì)的音樂(lè)盒,是基于單片機(jī)設(shè)計(jì)制作的電子式音樂(lè)盒。與傳統(tǒng)的機(jī)械式音樂(lè)盒相比更小巧,音質(zhì)更優(yōu)美且能演奏和弦音樂(lè)。電子式音樂(lè)盒動(dòng)力來(lái)源是電池,制作工藝簡(jiǎn)單,可進(jìn)行批量生產(chǎn),所以?xún)r(jià)格便宜。基于單片機(jī)制作的電子式音樂(lè)盒,控制功能強(qiáng)大,可根據(jù)需要選歌,使用方便。所放歌曲的節(jié)奏可以根

10、據(jù)需要進(jìn)行設(shè)置,根據(jù)存儲(chǔ)容量的大小,可以盡可能多的存儲(chǔ)歌曲。另外,可以設(shè)計(jì)彩燈外觀效果,增設(shè)放歌時(shí)間、序號(hào)顯示燈功能,使音樂(lè)盒的功能更加豐富,如圖1-1所示。</p><p>  圖1-1 單片機(jī)音樂(lè)盒功能框圖</p><p>  第2章 音樂(lè)盒的發(fā)音原理</p><p>  2.1 播放音樂(lè)的原理</p><p>  發(fā)音原理

11、:播放一段音樂(lè)需要的是兩個(gè)元素,一個(gè)是音調(diào),另一個(gè)是音符。首先要了解對(duì)應(yīng)的音調(diào),音調(diào)主要由聲音的頻率決定,同時(shí)也與聲音強(qiáng)度有關(guān)。對(duì)一定強(qiáng)度的純音,音調(diào)隨頻率的升降而升降;對(duì)一定頻率的純音、低頻純音的音調(diào)隨聲強(qiáng)增加而下降,高頻純音的音調(diào)卻隨強(qiáng)度增加而上升。另外,音符的頻率有所不同?;谏厦娴膬?nèi)容,這樣就對(duì)發(fā)音的原理有了一些初步的了解。 </p><p>  音符的發(fā)音主要靠不同的音頻脈沖。利用單片機(jī)的內(nèi)部定時(shí)器/計(jì)

12、數(shù)器0,使其工作在模式1,定時(shí)中斷,然后控制P3.7引腳的輸出音樂(lè)。只要算出某一音頻的周期(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>  2.2 音符頻率的產(chǎn)生</p><p>  音符及定時(shí)器初始值:</p>

13、;<p>  例如:中音1(do)的音頻=523HZ,周期T=1/523s=1912</p><p>  定時(shí)器/計(jì)數(shù)器0的定時(shí)時(shí)間為:T/2=1912/2=956</p><p>  定時(shí)器956的計(jì)數(shù)值=定時(shí)時(shí)間/機(jī)器周期=956/1=956(時(shí)鐘頻率=12MHZ)</p><p>  裝入T0計(jì)數(shù)器初值為65536-956=64580</p

14、><p>  將64580裝入T0寄存器中,啟動(dòng)T0工作后,每計(jì)數(shù)956次時(shí)將產(chǎn)生溢出中斷,進(jìn)入中斷服務(wù)時(shí),每次對(duì)P3.0引腳的輸出值進(jìn)行取反,就可得到中音DO(523HZ)的音符音頻。將51單片機(jī)內(nèi)部定時(shí)器工作在計(jì)數(shù)器模式1下,改變計(jì)數(shù)初值TH0,TL0以產(chǎn)生不同的頻率。下表2-1是C調(diào)各音符頻率與計(jì)數(shù)初值T的對(duì)照表: </p><p>  表2-1 C調(diào)各音符頻率與計(jì)數(shù)初值T的對(duì)照表&l

15、t;/p><p>  音符、音符編碼及定時(shí)器初始值:</p><p>  為了產(chǎn)生音符,必須求出音符低音5—高音5的計(jì)數(shù)初值。例如C調(diào)的低1DO的THTL=65536-50000/262=63627,中音DO的THTL=65536-500000/523=64580,高音DO的THTL=65536-500000/1042=65056。為了方便寫(xiě)譜,對(duì)其進(jìn)行簡(jiǎn)單的編碼,在編程時(shí),根據(jù)音符編碼查找對(duì)

16、應(yīng)的計(jì)數(shù)初值。比如說(shuō)音樂(lè)是C調(diào)的,那么出現(xiàn)低音的5SO,直接將代碼寫(xiě)為1;出現(xiàn)低音6LA,直接寫(xiě)一個(gè)2的代碼;出現(xiàn)低音7SI,直接寫(xiě)一個(gè)3代碼。</p><p>  表2-2 音符編碼表</p><p>  2.3 節(jié)拍頻率的產(chǎn)生</p><p><b>  節(jié)拍的產(chǎn)生與編碼:</b></p><p>  音樂(lè)中的

17、節(jié)拍用延時(shí)時(shí)間產(chǎn)生。例如,1拍=0.4s,1/4拍=0.1s,以此類(lèi)推。假設(shè)1/4拍執(zhí)行一次延時(shí)程序,則1/2拍就執(zhí)行兩次延時(shí)程序,所以只要求出1/4拍的延時(shí)時(shí)間,其余節(jié)拍就是它的倍數(shù)。為了方便,將節(jié)拍數(shù)也進(jìn)行了編碼,并且計(jì)算了樂(lè)譜節(jié)拍編程時(shí)的延時(shí)時(shí)間,如表2-3和表2-4所示。</p><p>  表2-3 節(jié)拍數(shù)編碼表</p><p>  表2-4 樂(lè)譜節(jié)拍編程時(shí)的時(shí)間延時(shí)表<

18、;/p><p>  音符編碼和節(jié)拍編碼完成后,在編程時(shí),每個(gè)音符占一個(gè)字節(jié),高四位是音符編碼,低四位是節(jié)拍編碼。</p><p>  第3章 硬件電路設(shè)計(jì)</p><p><b>  3.1 硬件電路</b></p><p>  設(shè)計(jì)中用到了AT89C52單片機(jī),3*3鍵盤(pán),蜂鳴器等硬件電路常用元器件。</p&g

19、t;<p>  3.1.1 時(shí)鐘復(fù)位電路</p><p>  時(shí)鐘電路由單片機(jī)XTAL1、 XTAL2引腳外接晶振(12MHz)及起振電容C1、C2(均為30pf)組成。如圖3-1所示:</p><p>  圖3-1 時(shí)鐘復(fù)位電路</p><p>  3.1.2 按鍵輸入電路</p><p>  按鍵輸入電路由3*3

20、矩陣鍵盤(pán)組成, P3口作為輸入控制按鍵,其中P3.4~P3.6掃描行,P3.0~P1.2掃描列。</p><p>  圖3-2 按鍵輸入電路</p><p>  3.2 整體硬件電路</p><p><b>  如圖3-3所示:</b></p><p>  圖3-3 音樂(lè)盒硬件電路原理圖</p>

21、<p>  3.3 原理說(shuō)明:</p><p>  當(dāng)鍵盤(pán)有鍵按下時(shí),判斷鍵值,啟動(dòng)計(jì)數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)動(dòng)蜂鳴器,放出樂(lè)曲。</p><p>  (1) 硬件電路中用P3口控制按鍵,其中P3.0~P3.2掃描列,P3.4~P1.6掃描行;</p><p> ?。?) 用P1.0口控制蜂鳴器;</p>&l

22、t;p> ?。?) 電路為12MHz晶振頻率工作,起振電路中C1,C2均為30pf。 </p><p>  3.4 鍵盤(pán)按鍵</p><p>  鍵盤(pán)按鍵分布如下: 按鍵功能說(shuō)明:</p><p>  第4章 軟件設(shè)計(jì)</p><p>  本程序可以實(shí)現(xiàn)該課程設(shè)計(jì)的基本要求,并可以通過(guò)

23、按鍵播放達(dá)10首歌曲。</p><p>  4.1 程序設(shè)計(jì)流程</p><p>  程序設(shè)計(jì)流程圖如圖4-1所示:</p><p>  圖4-1 程序設(shè)計(jì)流程圖</p><p>  4.2 設(shè)計(jì)源程序代碼</p><p>  ORG 0000H </p>&

24、lt;p><b>  LJMP MAIN</b></p><p>  ORG 000BH </p><p>  ;定時(shí)器T0溢出中斷入口地址 </p><p><b>  LJMP TT0</b></p><p>  ORG 001BH </p><p>  ;定時(shí)器

25、T1溢出中斷入口地址</p><p>  LJMP T1INT</p><p><b>  ORG 1000H</b></p><p>  MAIN: MOV SP,#70H </p><p>  LCALL INITIL ;內(nèi)存初始化<

26、/p><p>  WAIT: LCALL KEY </p><p>  LJMP WAIT </p><p>  KEY: ;鍵盤(pán)掃描</p><p>  NOP</p><p><b>  NOP<

27、;/b></p><p><b>  LCALL KS</b></p><p>  JNZ K1 ;有按鍵轉(zhuǎn)到K1 </p><p>  MOV A,37H </p><p><b>  LCALL SOP</b></p><p>  XN:

28、 LJMP KEY</p><p>  K1: LCALL KS</p><p><b>  JNZ K2</b></p><p><b>  LJMP KEY</b></p><p>  K2: ;讀鍵盤(pán)</p><p>  

29、MOV R2,#0FEH </p><p>  MOV R4,#00H</p><p>  K3: MOV A,R2</p><p><b>  MOV P3,A</b></p><p><b>  MOV A,P3</b></p><p&

30、gt;  JB ACC.4,L1</p><p>  ;為1跳轉(zhuǎn),第一行無(wú)按鍵</p><p>  MOV A,#01H</p><p><b>  LJMP LK</b></p><p>  L1: JB ACC.5,L2</p><p>  MOV A,#04H</p>

31、<p><b>  LJMP LK</b></p><p>  L2: JB ACC.6,NEXT1</p><p>  MOV A,#07H</p><p>  LK: ADD A,R4</p><p><b>  PUSH ACC</b></p>&

32、lt;p>  K4: LCALL DELAY1 </p><p><b>  LCALL KS</b></p><p>  JNZ K4 </p><p>  ;若同時(shí)有其他按鍵,則等待(同時(shí)按視為無(wú)效)</p><p>  MOV R3,#07H </p><p>

33、;<b>  CLR A</b></p><p>  MOV R0,#30H</p><p>  MOV R1,#31H</p><p>  MM1: MOV A,@R1 ;鍵值給37H</p><p><b>  MOV @R0,A</b></p><p>

34、;<b>  INC R0</b></p><p><b>  INC R1</b></p><p>  DJNZ R3,MM1</p><p><b>  POP ACC</b></p><p>  MOV @R0,A </p><p><b&g

35、t;  RET</b></p><p>  NEXT1: INC R4 ;列掃描</p><p><b>  MOV A,R2</b></p><p>  JNB ACC.2,N2</p><p><b>  LJMP N1</b></p><p

36、>  N2: LJMP KEY</p><p>  N1: RL A</p><p><b>  MOV R2,A</b></p><p><b>  LJMP K3</b></p><p>  KS: MOV A,#0F0H ;判斷P1口</p&

37、gt;<p><b>  MOV P3,A</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  MOV A,P3</b></p><p><b>  CPL A

38、</b></p><p>  ANL A,#0F0H</p><p><b>  RET</b></p><p><b>  DELAY1:</b></p><p>  ;延時(shí)2.55ms 63×4×1us×10+10×3×1us<

39、/p><p><b>  SETB RS0</b></p><p>  DL: MOV R5,#0AH</p><p>  DL2: MOV R6,#63</p><p>  DL3: NOP </p><p><b>  NOP</b></p&g

40、t;<p>  DJNZ R6,DL3</p><p>  DJNZ R5,DL2 </p><p>  CLR RS0 </p><p><b>  RET </b></p><p>  INITIL: ;30H~37H初值為零</p><p>  MOV R

41、3,#08H</p><p>  MOV R0,#30H</p><p>  M1: MOV @R0,#00H</p><p><b>  INC R0</b></p><p>  DJNZ R3,M1</p><p>  CLR P1.0 </p><p&g

42、t;<b>  RET</b></p><p><b>  ;按鍵值播放歌曲</b></p><p>  SOP: MOV A,37H</p><p>  CJNE A,#01H,A11</p><p>  MOV 52H,#HIGH TABLE10</p><p>

43、  MOV 53H,#LOW TABLE10</p><p>  LCALL MAIN0</p><p>  A11: CJNE A,#02H,A22</p><p>  MOV 52H,#HIGH TABLE20</p><p>  MOV 53H,#LOW TABLE20 </p><p>  LCALL

44、MAIN0</p><p>  A22: CJNE A,#03H,A33</p><p>  MOV 52H,#HIGH TABLE30</p><p>  MOV 53H,#LOW TABLE30 </p><p>  LCALL MAIN0 </p><p>  A33: CJNE A,

45、#04H,A44</p><p>  MOV 52H,#HIGH TABLE40</p><p>  MOV 53H,#LOW TABLE40 </p><p>  LCALL MAIN0</p><p>  A44: CJNE A,#05H,A55</p><p>  MOV 52H,#HIGH TABLE5

46、0</p><p>  MOV 53H,#LOW TABLE50 </p><p>  LCALL MAIN0 </p><p>  A55: RET </p><p>  DELAY: MOV R4,#05</p><p>  D1: MOV R5,#0FFH</p

47、><p><b>  DJNZ R5,$</b></p><p>  DJNZ R4,D1</p><p><b>  RET </b></p><p>  MAIN0: MOV TMOD,#11H ; 播放歌曲程序</p><p>  MOV IE,#8AH <

48、/p><p>  MOV TH1,#3CH</p><p>  MOV TL1,#0B0H </p><p><b>  LCALL KS</b></p><p>  JNZ TTM12 </p><p>  MOV 40H,#00H</p><p> 

49、 NEXT20: MOV A,40H</p><p>  MOV DPH,52H</p><p>  MOV DPL,53H</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV R2,A</b></p><p><b>  JZ STOP</b&

50、gt;</p><p>  ANL A,#0FH</p><p><b>  MOV R1,A</b></p><p><b>  MOV A,R2</b></p><p><b>  SWAP A</b></p><p>  ANL A,#0FH<

51、;/p><p><b>  JNZ SING</b></p><p><b>  CLR TR0</b></p><p><b>  JMP W1</b></p><p>  SING: DEC A</p><p><b>  MOV 22H

52、,A</b></p><p><b>  RL A</b></p><p>  MOV DPTR,#TABLE00</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV TH0,A</b></p><p><b>  MO

53、V 21H,A</b></p><p><b>  MOV A,22H</b></p><p><b>  RL A</b></p><p><b>  INC A</b></p><p>  MOVC A,@A+DPTR</p><p>&

54、lt;b>  MOV TL0,A</b></p><p><b>  MOV 20H,A</b></p><p><b>  SETB TR0</b></p><p><b>  SETB TR1</b></p><p>  W1: LCALL D

55、ELAY30</p><p><b>  INC 40H</b></p><p>  LCALL KS ;有鍵跳出</p><p><b>  JNZ STOP</b></p><p>  LJMP NEXT20</p><p>  STOP: CLR TR0<

56、;/p><p><b>  CLR TR1</b></p><p><b>  CLR P1.0</b></p><p>  LJMP MAIN0 </p><p>  TTM12: LCALL K2</p><p><b>  MOV A,37H</b>

57、;</p><p>  CJNE A,#08H,TTM13 ;暫停</p><p><b>  CLR TR1</b></p><p><b>  CLR P1.0</b></p><p>  LCALL DELAY1</p><p>  TTM120: LCALL

58、KS</p><p>  LCALL DELAY1</p><p><b>  JZ TTM120</b></p><p><b>  LCALL K2</b></p><p><b>  MOV A,37H</b></p><p>  CJNE A,#

59、08H,TTM120</p><p><b>  SETB TR1</b></p><p>  LJMP NEXT20</p><p>  TTM13: CJNE A,#09H,TTM14 ;下一曲</p><p><b>  MOV A,52H</b></p><p

60、><b>  INC A</b></p><p><b>  MOV 52H,A</b></p><p><b>  MOV A,53H</b></p><p><b>  INC A</b></p><p><b>  MOV 53H,A

61、</b></p><p><b>  MOV A,36H</b></p><p><b>  INC A</b></p><p><b>  MOV 37H,A</b></p><p><b>  LJMP TTM2</b></p>

62、<p>  TTM14: CJNE A,#06H,TTM2 ; 上一曲</p><p><b>  MOV A,52H</b></p><p><b>  DEC A</b></p><p><b>  MOV 52H,A</b></p><p><

63、;b>  MOV A,53H</b></p><p><b>  DEC A</b></p><p><b>  MOV 53H,A</b></p><p><b>  MOV A,36H</b></p><p><b>  DEC A</b&

64、gt;</p><p>  MOV 37H,A </p><p>  TTM2: RET</p><p>  TT0: PUSH ACC ; 定時(shí)器中斷子程序0</p><p><b>  PUSH PSW</b></p><p>  MOV TL0,20H</p>

65、<p>  MOV TH0,21H </p><p>  CPL P1.0 ;獲得脈沖</p><p><b>  POP PSW</b></p><p><b>  POP ACC</b></p><p><b>  RETI</b></p>

66、;<p>  ;定時(shí)器中斷子程序1</p><p><b>  T1INT: </b></p><p>  MOV TH1, #3cH</p><p>  MOV TL1, #0b0H</p><p><b>  RETI</b></p><p>  DELAY

67、30: </p><p><b>  MOV R7,#2</b></p><p>  W2: MOV R4,#125</p><p>  W3: MOV R3,#248</p><p><b>  DJNZ R3,$</b></p><p>  DJN

68、Z R4,W3</p><p>  DJNZ R7,W2</p><p>  DJNZ R1,DELAY30</p><p><b>  RET</b></p><p><b>  TABLE00:</b></p><p>  DW 64580,64684,64777,648

69、2 ;音符</p><p>  DW 64898,64968,65030,64260</p><p>  DW 64400,64524,65058,63835,64021</p><p>  TABLE10: ;第一首《精忠報(bào)國(guó)》</p><p>  DB 66H,52H,36H,22H,12H,12H,22H,32H,98H,84H,8

70、2H,92H,14H,12H,22H</p><p>  DB 32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98H</p><p>  DB 24H,22H,32H,54H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22H</p><p>  DB 12H,12H,22

71、H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H,38H</p><p>  DB 66H,52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,54H,52H,32H</p><p>  DB 22H,12H,92H,82H,98H,14H,24H,34H,44H,64H,0B4H,64H,32H,52H

72、</p><p>  DB 62H,0B2H,62H,52H,38H,24H,22H,32H,54H,52H,62H,52H,32H,32H,22H,38H</p><p>  DB 64H,0B4H,64H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,52H,52H</p><p>  DB 52H,62H,7FH,7

73、4H,04H,58H,6FH</p><p><b>  DB 00</b></p><p>  TABLE20:;第二首《月亮代表我的心》</p><p>  DB 02H,82H</p><p>  DB 16H,32H,54H,02H,52H</p><p>  DB 0A6H,32H,5

74、4H,02H,52H</p><p>  DB 64H,74H,0B6H,64H</p><p>  DB 52H,5CH,32H,22H</p><p>  DB 16H,12H,14H,32H,22H</p><p>  DB 16H,12H,14H,22H,32H</p><p>  DB 26H,12H,94H

75、,22H,32H</p><p><b>  DB 2CH</b></p><p>  DB 32H,52H</p><p>  DB 36H,22H,14H,54H</p><p>  DB 0ACH,92H,0A2H</p><p>  DB 96H,0A2H,96H,82H</p>

76、;<p>  DB 3CH,54H</p><p>  DB 36H,22H,14H,54H</p><p>  DB 0ACH,92H,0A2H</p><p>  DB 16H,12H,14H,22H,32H</p><p>  DB 2CH,02H,82H</p><p>  DB 16H,32H,

77、56H,12H</p><p>  DB 0A6H,32H,56H,52H</p><p>  DB 66H,72H,0B6H,62H</p><p>  DB 62H,52H,58H,32H,22H</p><p>  DB 16H,12H,14H,32H,22H</p><p>  DB 16H,12H,14H,2

78、2H,32H</p><p>  DB 26H,92H,0A4H,12H,22H</p><p><b>  DB 1CH</b></p><p><b>  DB 00</b></p><p>  TABLE30: ; 第三首《大?!?lt;/p><p>  DB 82H,9

79、2H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H </p><p>  DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32H</p><p>  DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,94

80、H,1CH</p><p>  DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H</p><p>  DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32H</p><p>  DB 22H,32H,22H

81、,12H,94H,82H,92H,12H,14H,12H,14H,22H,12H,1CH,32H,52H</p><p>  DB 62H,64H,62H,64H,0B2H,62H,52H,54H,62H,54H,32H,22H</p><p>  DB 12H,14H,12H,14H,24H,3CH,32H,22H,12H,14H,12H,14H,0B2H,62H,52H,54H,62H

82、,54H,32H,52H</p><p>  DB 66H,0B2H,0B4H,62H,52H,5CH,32H,52H,62H,64H,62H,64H,0B2H,62H,52H,54H</p><p>  DB 62H,54H,32H,22H,12H,14H,12H,14H,54H,3CH,32H,22H,12H,14H,12H,14H,22H,32H</p><p&g

83、t;  DB 52H,54H,32H,54H,32H,52H,6FH,04H,02H,92H,32H,24H,12H,1FH</p><p><b>  DB 00</b></p><p>  TABLE40: ;第四首《彩云追月》 </p><p>  DB 86H,92H,12H,22H,32H,52H,68H,63H,5

84、2H,34H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,54H </p><p>  DB 62H,0B2H,0B2H,62H,52H,32H,52H,52H,51H,61H,51H,31H,34H,52H,62H,74H,32H,52H,52H,32H</p><p>  DB 21H,31H,21H,11H,24H</p><p>  

85、DB 32H,52H,52H,32H,22H,12H,24H,32H,52H,52H,32H,62H,52H,61H,51H</p><p>  DB 31H,21H,21H,31H,21H,11H,1CH</p><p>  DB 21H,31H,22H,23H,31H,21H,18H,02H,0B2H,0BCH,0B4H,72H,61H,51H,72H,61H</p>&

86、lt;p>  DB 71H,61H,51H,61H,71H,61H,6FH</p><p>  DB 86H,94H,12H,22H,32H,52H,64H,62H,51H,31H,52H,21H,31H,21H,33H,62H,0B2H,0B2H,62H</p><p>  DB 51H,61H,51H,31H,54H</p><p>  DB 62H,0B

87、2H,72H,61H,51H,51H,61H,51H,31H,54H,61H,0B2H,72H,61H,51H,51H,61H,51H,31H,32H</p><p>  DB 21H,11H,32H,51H,61H,54H</p><p>  DB 02H,32H,24H,32H,52H,52H,32H,22H,31H,21H,11H,24H,32H,52H,62H,0B2H,72H,6

88、1H,51H,61H</p><p>  DB 51H,31H,32H,52H,52H,32H,62H</p><p>  DB 51H,31H,31H,21H,11H,91H,23H,31H,21H,1CH,12H,24H,32H,62H,51H,31H,34H,0B4H,72H</p><p>  DB 61H,51H,63H,71H,64H</p>

89、<p>  DB 0B2H,54H,72H,62H,71H,61H,54H,61H,51H,31H,21H,34H,73H,61H,54H,22H,32H,52H,22H,36H</p><p>  DB 52H,62H,61H,31H,32H,21H,11H,21H,11H,91H,81H</p><p>  DB 94H,52H,62H,52H,42H,32H,22H,3

90、2H,52H,0B4H,74H,64H,52H,61H,51H,41H,5CH,02H,52H,0B4H,74H</p><p>  DB 63H,51H,61H,51H,31H,21H</p><p><b>  DB 00</b></p><p>  TABLE50: ;第五首《看我七十二變》</p><p&

91、gt;  DB 0D4H,84H,94H,82H,92H</p><p>  DB 12H,22H,82H,92H,02H,92H,82H,0D2H</p><p>  DB 82H,92H,14H,84H,02H,0D1H,0D1H</p><p>  DB 0C2H,0D2H,84H,0D2H,0D2H,82H,82H</p><p> 

92、 DB 84H,82H,82H,94H,82H,0D2H</p><p>  DB 82H,82H,82H,92H,02H,82H,82H,0D2H</p><p>  DB 0C4H,84H,0D4H,92H,0D2H</p><p>  DB 82H,0D2H,82H,92H,98H</p><p>  DB 04H,94H,88H<

93、;/p><p>  DB 04H,94H,88H</p><p>  DB 04H,94H,88H</p><p>  DB 04H,94H,88H,04H</p><p>  DB 32H,32H,22H,12H,02H,92H,12H,92H</p><p>  DB 32H,32H,22H,12H,02H,92H,1

94、2H,92H</p><p>  DB 32H,32H,22H,12H,02H,92H,12H,22H</p><p>  DB 54H,44H,34H,12H,22H</p><p>  DB 34H,22H,12H,02H,92H,12H,92H</p><p>  DB 32H,32H,22H,12H,02H,92H,12H,92H&l

95、t;/p><p>  DB 32H,32H,22H,12H,02H,92H,12H,22H</p><p>  DB 54H,44H,32H,22H,12H,92H</p><p><b>  DB 00</b></p><p><b>  END</b></p><p> 

96、 第5章 仿真及調(diào)試</p><p><b>  5.1 調(diào)試:</b></p><p> ?。?)按照第2章設(shè)計(jì)的硬件電路在proteus軟件內(nèi)畫(huà)好電路圖。</p><p> ?。?)打開(kāi)單片機(jī)軟件開(kāi)發(fā)系統(tǒng)keil,選擇AT89C51單片機(jī),在其中編寫(xiě)程序,運(yùn)行生成一個(gè)hex文件。</p><p>  (3)

97、電路檢查無(wú)誤后,雙擊AT89C51單片機(jī),打開(kāi)編輯元件對(duì)話(huà)框(如圖5-1所示),將已經(jīng)在keil環(huán)境下調(diào)試好的程序hex文件加載到單片機(jī)上。</p><p>  圖5-1 加載單片機(jī)程序</p><p><b>  5.2 仿真:</b></p><p> ?。?)按下1-5中的某一按鍵,蜂鳴器播放當(dāng)前樂(lè)曲。</p>&l

98、t;p> ?。?)按下6鍵,則蜂鳴器響起上一首樂(lè)曲。</p><p> ?。?)按下9鍵,則蜂鳴器響起下一首樂(lè)曲。</p><p> ?。?)按下8鍵,則蜂鳴器停止當(dāng)前音樂(lè)的播放再次按下8鍵后,音樂(lè)繼續(xù)播放。</p><p>  5.3 程序調(diào)試中出現(xiàn)的問(wèn)題及解決的辦法:</p><p>  有時(shí)會(huì)出現(xiàn)程序一點(diǎn)錯(cuò)誤也沒(méi)有,但就是不能

99、正常運(yùn)行的現(xiàn)象,最后我們發(fā)現(xiàn)是因?yàn)槌绦蛑杏械闹噶顣?shū)寫(xiě)得不規(guī)范導(dǎo)致的,例如有的RET返回指令一定要按正確格式書(shū)寫(xiě)或在兩行指令間最好不要留空行。</p><p>  程序中的跳轉(zhuǎn)指令的運(yùn)用很重要,為保險(xiǎn)起見(jiàn),都用LJMP,我們就遇到過(guò)跳轉(zhuǎn)指令用錯(cuò)程序無(wú)法正常運(yùn)行的現(xiàn)象。當(dāng)用JNZ指令時(shí),跳轉(zhuǎn)范圍比較少,這時(shí)要用一個(gè)標(biāo)號(hào)中轉(zhuǎn)。</p><p>  編程時(shí)要注意,在程序開(kāi)始時(shí),要寫(xiě)入各定時(shí)器中斷的

100、入口地址。</p><p>  編程過(guò)程中要注意加注釋或分割線(xiàn),否則,在程序過(guò)長(zhǎng)時(shí)容易變得很亂,不便于查找或更改。</p><p>  程序的結(jié)構(gòu)要設(shè)計(jì)的合理,避免上下亂調(diào)用的現(xiàn)象,這樣會(huì)使程序更加清晰化。</p><p>  編程前要加流程圖,這樣會(huì)使思路清晰,如設(shè)計(jì)思路完全可以按著MP3的工作方式列寫(xiě)流程圖。</p><p>  兩個(gè)定時(shí)

101、器同時(shí)工作,存在中斷時(shí)序問(wèn)題,剛開(kāi)始時(shí)我們把定時(shí)器1設(shè)定在方式3,計(jì)250us,由于定時(shí)中斷過(guò)于頻繁,使CPU負(fù)載過(guò)大,導(dǎo)致音樂(lè)不能正常播放,時(shí)間不能正常顯示。解決辦法:將定時(shí)器1設(shè)定在工作方式1,16位計(jì)數(shù),計(jì)50ms,效果有很大改觀。</p><p>  在歌曲中,當(dāng)遇到一個(gè)音符發(fā)音為4拍,在編曲中為*CH,托因時(shí)間較長(zhǎng),當(dāng)定時(shí)器T1此時(shí)來(lái)中斷時(shí),就會(huì)對(duì)歌曲播放產(chǎn)生影響,若改為發(fā)音一拍,中斷對(duì)歌曲播放影響減弱

102、,但音樂(lè)效果變差。</p><p>  改進(jìn)方案:若采用可以定時(shí)時(shí)間更長(zhǎng)的單片機(jī),可以避免其中的一些問(wèn)題。</p><p>  第6章 設(shè)計(jì)小結(jié)</p><p>  1. 本學(xué)期學(xué)習(xí)單片機(jī)的時(shí)間很短,對(duì)單片機(jī)的硬件設(shè)計(jì),軟件設(shè)計(jì)掌握的深度不夠,但通過(guò)此次課程設(shè)計(jì),卻改變了很多。 首先,對(duì)于硬件電路的工作原理有了進(jìn)一步的學(xué)習(xí),同樣就有了進(jìn)一步的認(rèn)識(shí);其次,軟件方

103、面,在程序的設(shè)計(jì),程序的調(diào)試方面都學(xué)到了很多東西。</p><p>  2.  在一個(gè)好的氛圍里才能踏下心來(lái)做東西,在這幾天課程設(shè)計(jì)的時(shí)間里,大家努力的氛圍對(duì)我的影響很大,這也是我能完成課程設(shè)計(jì)的動(dòng)力。另外在編程中出現(xiàn)問(wèn)題時(shí),一定要戒驕戒躁,腳踏實(shí)地,認(rèn)真看書(shū),仔細(xì)分析,仔細(xì)調(diào)試,就一定會(huì)發(fā)現(xiàn)錯(cuò)誤,克服困難,我也是這么做的,這在課程設(shè)計(jì)中十分重要。</p><p>  3.

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論