2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

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

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

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

5、;  軟件設(shè)計………………………………………………………11</p><p>  4.1 程序設(shè)計流程………………………………………………11</p><p>  4.2 設(shè)計源程序代碼……………………………………………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)的問題及解決的辦法 ………………………17</p><p>  設(shè)計小結(jié)………………………………………………………18 附錄元件清單…………………………………………………19<

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

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

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

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

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

12、數(shù)器0,使其工作在模式1,定時中斷,然后控制P3.7引腳的輸出音樂。只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時間,利用定時器計時這個半周期時間,每當(dāng)計時到后就將輸出脈沖的I/O反相,然后重復(fù)計時此半周期時間再對I/O反相,就可在I/O腳上得到此頻率的脈沖。</p><p>  2.2 音符頻率的產(chǎn)生</p><p>  音符及定時器初始值:</p>

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

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

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

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

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

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

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

20、矩陣鍵盤組成, 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 音樂盒硬件電路原理圖</p>

21、<p>  3.3 原理說明:</p><p>  當(dāng)鍵盤有鍵按下時,判斷鍵值,啟動計數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)動蜂鳴器,放出樂曲。</p><p> ?。?) 硬件電路中用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><p>  鍵盤按鍵分布如下: 按鍵功能說明:</p><p>  第4章 軟件設(shè)計</p><p>  本程序可以實(shí)現(xiàn)該課程設(shè)計的基本要求,并可以通過

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

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

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><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><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),第一行無按鍵</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>  ;若同時有其他按鍵,則等待(同時按視為無效)</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>  ;延時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 ; 定時器中斷子程序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>  ;定時器中斷子程序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: ;第一首《精忠報國》</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è)計的硬件電路在proteus軟件內(nèi)畫好電路圖。</p><p> ?。?)打開單片機(jī)軟件開發(fā)系統(tǒng)keil,選擇AT89C51單片機(jī),在其中編寫程序,運(yùn)行生成一個hex文件。</p><p> ?。?)

97、電路檢查無誤后,雙擊AT89C51單片機(jī),打開編輯元件對話框(如圖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)前樂曲。</p>&l

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

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

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

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

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

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

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論