微機(jī)原理課程設(shè)計(jì)--計(jì)算機(jī)仿真電子琴_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  自動(dòng)化專業(yè)課程設(shè)計(jì)報(bào)告</p><p>  《微型計(jì)算機(jī)原理課程設(shè)計(jì)》</p><p>  班 級 自動(dòng)化09-1 </p><p>  姓 名 </p><p>  學(xué) 號 </p>

2、<p>  時(shí) 間 2011.12.19-2011.12.23</p><p><b>  目錄</b></p><p>  課程設(shè)計(jì)的目的與要求--------------------1</p><p>  課程設(shè)計(jì)課題的分析----------------------1</p><p&g

3、t;  課程設(shè)計(jì)的結(jié)果--------------------------4</p><p>  課程設(shè)計(jì)的心得與體會(huì)--------------------13</p><p>  參考文獻(xiàn)--------------------------------14</p><p>  題目:計(jì)算機(jī)仿真電子琴</p><p>  一、課程設(shè)計(jì)的目的

4、與要求</p><p><b>  1、設(shè)計(jì)目的</b></p><p>  本課程的課程設(shè)計(jì)是自動(dòng)化專業(yè)學(xué)生學(xué)習(xí)完《微機(jī)原理及應(yīng)用》課程后,進(jìn)行的一次以匯編語言為主,硬件設(shè)計(jì)為輔的綜合訓(xùn)練。本課程設(shè)計(jì)的目的在于加深對微機(jī)原理基本知識(shí)的理解,掌握匯編語言程序設(shè)計(jì)的基本方法;掌握運(yùn)用微機(jī)原理開發(fā)系統(tǒng)的基本方法。</p><p><b>

5、  2、設(shè)計(jì)要求</b></p><p>  從課程設(shè)計(jì)的目的出發(fā),通過設(shè)計(jì)工作的各個(gè)環(huán)節(jié),達(dá)到以下要求:</p><p>  掌握匯編語言程序設(shè)計(jì)的基本方法。</p><p>  進(jìn)一步理解各種接口電路的應(yīng)用。例如8255并行接口,8253定時(shí)器等。</p><p>  掌握利用PC機(jī)揚(yáng)聲器發(fā)出不同頻率聲音的方法。</p&

6、gt;<p><b>  3、主要技術(shù)指標(biāo)</b></p><p><b>  編寫程序</b></p><p>  在程序運(yùn)行時(shí)使PC即成為一架可彈奏的電子琴。當(dāng)按下數(shù)字鍵1-8時(shí),依次發(fā)出1,2,3,4,5,6,7,I這八個(gè)音調(diào)。按下CTRL+C或者回車則退出電子琴狀態(tài)。</p><p>  在程序運(yùn)行時(shí)

7、使PC自動(dòng)按要求提示演奏樂曲。</p><p>  二、課程設(shè)計(jì)課題的分析</p><p>  圖1.揚(yáng)聲器工作原理圖示</p><p>  圖2.主程序工作流程圖</p><p>  圖3.樂曲演奏子程序工作流程圖 圖4.電子琴子程序工作流程圖</p><p>  圖5.揚(yáng)聲器工作流程

8、圖</p><p><b>  三、課程設(shè)計(jì)的結(jié)果</b></p><p><b>  1、實(shí)驗(yàn)代碼</b></p><p>  DATA SEGMENT</p><p>  INFO1 DB 0AH, 0DH, 'WELCOME YOU TO COME HERE!$'

9、 </p><p>  DB 0AH, 0DH, 'THIS IS A MUSIC PROGRAM!$'</p><p>  DB 0AH, 0DH, 'PLEASE SELECLT!$'</p><p>  INFO4 DB 0AH, 0DH, 'INPUT ERRO

10、R!$'</p><p>  INFO5 DB 0AH, 0DH, 'PLEASE INPUT AGAIN!$'</p><p>  MUSLIST DB 0AH, 0DH, '=========================' </p><p>  DB 0AH, 0DH,

11、 'Press1 HuanLeSong'</p><p>  DB 0AH, 0DH, 'Press2 KaiXin'</p><p>  DB 0AH, 0DH, 'Press3 XiaoBuWuQu'</p><p>  DB 0AH, 0DH, 'Press4 Wond

12、erful'</p><p>  DB 0AH, 0DH, 'Press5 SCALE PLAY '</p><p>  DB 0AH, 0DH, 'Press6 EXIT'</p><p>  DB 0AH, 0DH, '========================='</

13、p><p>  DB 0AH, 0DH, '$'</p><p>  MUS_FRQ1 DW 330, 330, 350, 393, 393, 350, 330, 294 </p><p>  DW 262, 262, 294, 330, 330, 294, 294</p>&l

14、t;p>  DW 330, 330, 350, 393, 393, 350, 330, 294</p><p>  DW 262, 262, 294, 330, 294, 262, 262</p><p>  DW 294, 294, 330, 262, 294, 330, 350, 330, 262</p><p&

15、gt;  DW 294, 330, 350, 330, 262, 262, 294, 393</p><p>  DW 330, 330, 350, 393, 393, 350, 330, 294</p><p>  DW 262, 262, 294, 330, 294, 262, 262, -1</p><p>  

16、MUS_TIM1 DW 8 DUP(100) </p><p>  DW 7 DUP(100),200</p><p>  DW 8 DUP(100)</p><p>  DW 7 DUP(100),200</p><p>  DW 5

17、DUP(100),50,50,2 DUP(100)</p><p>  DW 100,50,50,4 DUP(100),200</p><p>  DW 8 DUP(100)</p><p>  DW 7 DUP(100),200</p><p>  MUS_FRQ2 DW 330, 294, 262, 294

18、, 3 DUP(330)</p><p>  DW 3 DUP(294), 330, 392, 392</p><p>  DW 330, 294, 262, 294, 4 DUP(330)</p><p>  DW 294, 294, 330, 294, 262, -1</p><p>  MUS_TIM2

19、 DW 6 DUP(100),200</p><p>  DW 2 DUP(100,100,200)</p><p>  DW 8 DUP(100)</p><p>  DW 4 DUP(100),400</p><p>  MUS_FRQ3 DW 392, 262, 294, 330, 350, 3

20、92, 262, 262</p><p>  DW 440, 350, 392, 440, 494, 524, 262, 262</p><p>  DW 350, 392, 350, 330, 294, 330</p><p>  DW 350, 330, 294, 262, 294, 330, 294, 262,

21、 247, 262,-1</p><p>  MUS_TIM3 DW 200, 4 DUP(100), 200, 200, 200</p><p>  DW 200, 4 DUP(100), 200, 200, 200</p><p>  DW 200, 4 DUP(100), 200</p><p>  D

22、W 4 DUP(100), 200, 4 DUP(100), 400</p><p>  MUS_FRQ4 DW 330, 392, 330, 294, 330, 392, 330, 394, 330</p><p>  DW 330, 392, 330, 294, 262, 294, 330, 392, 294</p>&

23、lt;p>  DW 262, 262, 220, 196, 196, 220, 262, 294, 330, 262,-1</p><p>  MUS_TIM4 DW 3 DUP(200), 100, 100, 200, 100, 100, 400</p><p>  DW 2 DUP(200,200,100,100), 400</

24、p><p>  DW 3 DUP(200,100,100), 400</p><p>  TABLE DW 262, 294, 330, 349, 392, 440, 494, 525 </p><p>  NUMB DB 0AH, 0DH, 'Keyboard number 1~8 ke

25、ys play notes of the scale' </p><p>  DB 0AH, 0DH, 'Enter or Ctrl+C to exit'</p><p>  DB 0AH, 0DH, '$'</p><p>  DATA ENDS</p><p>  STACK

26、SEGMENT PARA STACK 'STACK' </p><p>  STA DB 200 DUP('STACK') </p><p>  STACK ENDS</p><p>  CODE SEG

27、MENT</p><p>  ASSUME DS: DATA, SS: STACK, CS: CODE, ES: DATA</p><p>  START: MOV AX, DATA </p><p>  MOV DS, AX</p><p>  MOV ES, AX</p>

28、<p>  MOV AX, STACK </p><p>  MOV SS, AX</p><p>  SHOW MACRO B </p><p>  MOV DX, OFFSET B </p>

29、<p>  MOV AH, 09H </p><p><b>  INT 21H</b></p><p><b>  ENDM</b></p><p>  SHOW INFO1 </p

30、><p>  LOP: SHOW MUSLIST </p><p>  MOV AH, 01H </p><p>  INT 21H </p><p>  

31、CMP AL, 36H </p><p>  JZ RETU </p><p>  CMP AL, 31H </p><p><b>  JNZ B0</b></p><p>  CALL MUS

32、IC1</p><p>  JMP EXIT1</p><p>  B0: CMP AL, 32H </p><p><b>  JNZ C0</b></p><p>  CALL MUSIC2</p><p>  J

33、MP EXIT1</p><p>  C0: CMP AL, 33H </p><p><b>  JNZ D0</b></p><p>  CALL MUSIC3</p><p>  JMP EXIT1</p>&

34、lt;p>  D0: CMP AL, 34H </p><p><b>  JNZ E0</b></p><p>  CALL MUSIC4</p><p>  JMP EXIT1</p><p>  E0: C

35、MP AL, 35H </p><p>  JNZ EXIT</p><p>  SHOW NUMB</p><p>  CALL MUSIC5</p><p>  EXIT1: SHOW INFO5

36、 </p><p><b>  JMP LOP</b></p><p>  EXIT: SHOW INFO4 </p><p>  SHOW INFO5 <

37、/p><p><b>  JMP LOP</b></p><p>  RETU: MOV AX, 4C00H </p><p><b>  INT 21H</b></p><p>  MUSIC1 PROC

38、 </p><p>  LEA SI, MUS_FRQ1</p><p>  LEA BP,DS: MUS_TIM1</p><p>  FREQ1: MOV DI, [SI]</p><p>  CMP DI,-1</p><p&

39、gt;  JE END_MUS1</p><p>  MOV BX, DS: [BP]</p><p>  CALL GENSOUND</p><p>  ADD SI,2</p><p>  ADD BP,2</p><p>  JMP FREQ1</p><p>  EN

40、D_MUS1:RET</p><p>  MUSIC1 ENDP</p><p>  MUSIC2 PROC </p><p>  LEA SI, MUS_FRQ2</p><p>  LEA BP,DS: MUS_TIM2<

41、;/p><p>  FREQ2: MOV DI, [SI]</p><p>  CMP DI,-1</p><p>  JE END_MUS2</p><p>  MOV BX, DS: [BP]</p><p>  CALL GENSOUND</p><p>  ADD SI

42、,2</p><p>  ADD BP,2</p><p>  JMP FREQ2</p><p>  END_MUS2:RET</p><p>  MUSIC2 ENDP</p><p>  MUSIC3 PROC &

43、lt;/p><p>  LEA SI, MUS_FRQ3</p><p>  LEA BP,DS: MUS_TIM3</p><p>  FREQ3: MOV DI, [SI]</p><p>  CMP DI,-1</p><p>  JE END_MUS3</p><p>

44、  MOV BX, DS: [BP]</p><p>  CALL GENSOUND</p><p>  ADD SI,2</p><p>  ADD BP,2</p><p>  JMP FREQ3</p><p>  END_MUS3:RET</p><p>  MUSIC3

45、 ENDP</p><p>  MUSIC4 PROC </p><p>  LEA SI, MUS_FRQ4</p><p>  LEA BP,DS: MUS_TIM4</p><p>  FREQ4: MOV DI, [SI]<

46、;/p><p>  CMP DI,-1</p><p>  JE END_MUS4</p><p>  MOV BX, DS: [BP]</p><p>  CALL GENSOUND</p><p>  ADD SI,2</p><p>  ADD BP,2</p>

47、<p>  JMP FREQ4</p><p>  END_MUS4:RET</p><p>  MUSIC4 ENDP</p><p>  MUSIC5 PROC NEAR </p><p><b>  PUSH AX&

48、lt;/b></p><p><b>  PUSH BX</b></p><p><b>  PUSH CX</b></p><p>  LOP5: MOV AH, 01H </p><p>  INT

49、 21H </p><p>  CMP AL, 0DH </p><p>  JE EXIT5</p><p>  CMP AL, 31H

50、 </p><p>  JB LOP5 </p><p>  CMP AL, 38H</p><p>  JA LOP5 </p>

51、<p>  AND AX, 0FH </p><p>  SHL AX, 1 </p><p>  SUB AX, 2

52、</p><p>  MOV SI, AX</p><p>  MOV BX, OFFSET TABLE</p><p>  MOV DI, [BX][SI] </p><p>  MOV BX, 100

53、 </p><p>  CALL GENSOUND </p><p><b>  JMP LOP5</b></p><p>  EXIT5: POP CX</p><p><b>  POP BX&

54、lt;/b></p><p><b>  POP AX</b></p><p><b>  RET</b></p><p>  MUSIC5 ENDP</p><p>  GENSOUND PROC

55、 </p><p><b>  PUSH AX</b></p><p><b>  PUSH BX</b></p><p><b>  PUSH CX</b></p><p><b>  PUSH DX</b></p><

56、p><b>  PUSH DI</b></p><p>  MOV AL, 0B6H </p><p>  OUT 43H, AL</p><p>  MOV DX, 12H </p><

57、;p>  MOV AX, 533H*896</p><p><b>  DIV DI</b></p><p>  OUT 42H, AL </p><p>  MOV AL, AH</p><p>  OUT 42H, AL

58、 </p><p>  IN AL, 61H </p><p>  MOV AH, AL</p><p>  OR AL, 3 </p><p>  OUT 61H, AL

59、 </p><p><b>  PUSH AX</b></p><p>  WAIT1: MOV CX, 1200 </p><p>  DELA1: IN AL, 61H

60、 </p><p>  AND AL, 10H</p><p>  CMP AL, AH</p><p><b>  JE DELA1</b></p><p>  MOV AH,AL</p><p>  LOOP D

61、ELA1</p><p>  DEC BX </p><p>  JNZ WAIT1</p><p><b>  POP AX</b></p><p>  MOV AL, AH</p><p>  OUT 61H, A

62、L </p><p><b>  POP DI</b></p><p><b>  POP DX</b></p><p><b>  POP CX</b></p><p><b>  POP B

63、X</b></p><p><b>  POP AX</b></p><p><b>  RET</b></p><p>  GENSOUND ENDP</p><p>  CODE ENDS</p><p>  END START</p&g

64、t;<p><b>  2、實(shí)驗(yàn)現(xiàn)象</b></p><p>  1. 進(jìn)入DOS后在DOS界面(圖6)進(jìn)行匯編鏈接并生成可執(zhí)行文件.exe</p><p>  圖6.DOS調(diào)試界面</p><p>  2.雙擊可執(zhí)行文件KS.exe(這里我把程序取名為KS)進(jìn)入操作界面如圖7所示</p><p>  圖7

65、.操作界面初始界面 </p><p>  圖8.按數(shù)字鍵5后進(jìn)入電子琴界面 </p><p>  圖9.按回車后退出電子琴界面</p><p>  3.在進(jìn)行操作的時(shí)候只要在鍵盤上按1-4這四個(gè)數(shù)字鍵就可以任意聽取歌曲1—歌曲4,按數(shù)字鍵5時(shí)進(jìn)入電子琴界面,這時(shí)候1-8分別表示音樂CDEFGABC這幾個(gè)音符。按回車后退出電子琴操作界面,這時(shí)候按6退出程序。</

66、p><p>  四、課程設(shè)計(jì)的心得與體會(huì)</p><p>  這次微機(jī)實(shí)驗(yàn)課程設(shè)計(jì),使我對微機(jī)軟硬件結(jié)合有了進(jìn)一步的了解。原來并不太清楚是什么意思,</p><p>  一直都很模糊,聽課本也是很迷茫;而之前的那些單元實(shí)驗(yàn),也沒有都做好。之前做的實(shí)驗(yàn),由于大部分</p><p>  是驗(yàn)證性的,所以就很被動(dòng)地去做,甚至并沒有想為什么要那樣連電路,

67、內(nèi)部的代碼更沒有認(rèn)真看。這次</p><p>  課程設(shè)計(jì),因?yàn)橐约喝ピO(shè)計(jì)整個(gè)過程,所以就不得不去了解學(xué)習(xí)自己原來并沒有真正弄懂的東西。比如</p><p>  一些程序的代碼的意思,匯編語言的邏輯,比如一些芯片的用途。使我對前面所做的實(shí)驗(yàn)有了原理性的了</p><p>  解,回頭看一些實(shí)驗(yàn),也知其然其所以然了。同時(shí)對課本上講的一些內(nèi)容,不再像以前那樣覺得抽象,

68、通</p><p>  過這次設(shè)計(jì),有了具體的理解。</p><p>  同時(shí),我也知道了設(shè)計(jì)一個(gè)項(xiàng)目,應(yīng)該如何下手。應(yīng)該先對項(xiàng)目要求有個(gè)全面的了解,知道要做什么,</p><p>  然后根據(jù)要求所要涉及到的知識(shí)我們要主動(dòng)去攝取,結(jié)合自己已學(xué)過的,再對整體框架有個(gè)感知,心里有</p><p>  數(shù)后,進(jìn)行設(shè)計(jì)。設(shè)計(jì)時(shí)用流程圖,這很重要,這

69、樣整個(gè)思路就很清晰,而且是按照軟硬件語言的邏輯順</p><p>  序進(jìn)行,就很方便。設(shè)計(jì)過程可以分模塊,不要一開始就想把所有的功能都實(shí)現(xiàn)了,應(yīng)該一個(gè)模塊一個(gè)模</p><p>  塊地實(shí)現(xiàn),再總的連起來,實(shí)現(xiàn)最后的總模塊。在每個(gè)模塊設(shè)計(jì)時(shí),盡量想到比較簡單的設(shè)計(jì),簡化編程</p><p>  和電路,也可少出錯(cuò)。對微機(jī)是這樣,對其他的像數(shù)字系統(tǒng)設(shè)計(jì),也是一樣的。

70、</p><p>  因此,我也覺得微機(jī)實(shí)驗(yàn)的這種形式的課程設(shè)計(jì)是很好也很有必要的。對我們對微機(jī)實(shí)驗(yàn)的理解有很大幫助。</p><p><b>  五、參考文獻(xiàn)</b></p><p>  [1] 王忠民.微型計(jì)算機(jī)原理(第二版).西安:西安電子科技大學(xué)出版社,2007年</p><p>  [2] 馬春燕.微機(jī)原理與接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論