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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  ( 2012 -- 2013年度第 一 學(xué)期)</p><p>  名 稱:微機(jī)原理與匯編語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)</p><p>  題 目: 匯編語(yǔ)言編程實(shí)踐及電子鐘設(shè)計(jì) </p><p>  院 系: 計(jì)算機(jī)系

2、 </p><p>  班 級(jí): 信安1001 </p><p>  學(xué) 號(hào): </p><p>  學(xué)生姓名: </p><p>

3、;  指導(dǎo)教師: </p><p>  設(shè)計(jì)周數(shù): 2 </p><p>  成 績(jī): </p><p>  日期:2013 年 1 月 18 日</p><p> 

4、 《微機(jī)原理與匯編語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)》評(píng)分表</p><p><b>  任 務(wù) 書</b></p><p><b>  一、 目的與要求</b></p><p>  本課程設(shè)計(jì)包含軟件部分和硬件部分兩個(gè)環(huán)節(jié)。</p><p>  軟件部分:進(jìn)一步熟悉匯編語(yǔ)言設(shè)計(jì)方法和步驟,完成在有限的課內(nèi)實(shí)

5、驗(yàn)環(huán)節(jié)無(wú)法涉及到的具有綜合設(shè)計(jì)性的軟件實(shí)驗(yàn),如中斷程序設(shè)計(jì)、I/O程序設(shè)計(jì)、宏設(shè)計(jì)等。</p><p>  硬件部分:利用偉福試驗(yàn)設(shè)備中的8253可編程定時(shí)/計(jì)數(shù)器,8259中斷控制器,8255可編程并行接口芯片和七段數(shù)碼管等設(shè)計(jì)一個(gè)電子鐘電路,并編制一個(gè)程序使電子鐘能正常運(yùn)行。 </p><p>  通過(guò)軟硬件環(huán)節(jié)的設(shè)計(jì)和調(diào)試,鞏固所學(xué)知識(shí),增強(qiáng)動(dòng)手能力,提高綜合性工程素質(zhì)。</p

6、><p><b>  二、 主要內(nèi)容</b></p><p>  軟件部分:1.熟悉編程環(huán)境,完善前期電話號(hào)碼本設(shè)計(jì)的功能;2.顯示器I/O程序設(shè)計(jì),完成窗口控制程序;3.中斷程序設(shè)計(jì),完成內(nèi)部中斷服務(wù)程序和外部中斷服務(wù)程序設(shè)計(jì);4.發(fā)聲系統(tǒng)設(shè)計(jì);5.鍵盤程序設(shè)計(jì)。</p><p>  硬件部分:1.總體模塊設(shè)計(jì),查閱資料,設(shè)計(jì)主程序和中斷服務(wù)程序

7、的流程;2.詳細(xì)設(shè)計(jì),完成軟硬件模塊的框架。3.調(diào)試,對(duì)前述工作進(jìn)一步細(xì)化;4.完善功能,實(shí)現(xiàn)電子鐘的準(zhǔn)確運(yùn)行,并進(jìn)一步改進(jìn)其功能;5.驗(yàn)收、實(shí)驗(yàn)報(bào)告撰寫。</p><p><b>  三、 進(jìn)度計(jì)劃</b></p><p>  四、 設(shè)計(jì)(實(shí)驗(yàn))成果要求</p><p>  1.軟件環(huán)節(jié)要求掌握各環(huán)節(jié)的設(shè)計(jì)原理、能實(shí)現(xiàn)各環(huán)節(jié)要求的功能。<

8、;/p><p>  2.硬件環(huán)節(jié)要求利用相關(guān)接口芯片,實(shí)現(xiàn)電子鐘的準(zhǔn)確運(yùn)行等功能。</p><p>  3.總結(jié)實(shí)驗(yàn),撰寫實(shí)驗(yàn)報(bào)告。</p><p><b>  五、 考核方式</b></p><p>  實(shí)驗(yàn)結(jié)果(60%)+實(shí)驗(yàn)報(bào)告(30%)+實(shí)驗(yàn)過(guò)程表現(xiàn)(10%)</p><p>  1.驗(yàn)收:完

9、成課程設(shè)計(jì)題目后由指導(dǎo)老師驗(yàn)收,學(xué)生匯報(bào)上機(jī)題目完成情況,回答提出的問(wèn)題。</p><p>  2.撰寫課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告:完成課程設(shè)計(jì)題目后,應(yīng)認(rèn)真撰寫課程設(shè)計(jì)報(bào)告,報(bào)告應(yīng)內(nèi)容全面、格式規(guī)范。</p><p><b>  學(xué)生姓名:</b></p><p>  指導(dǎo)教師: </p><p>

10、;  年 月 日</p><p>  實(shí)驗(yàn)一電話號(hào)碼本設(shè)計(jì)完善</p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))的目的與要求</p><p>  1. 熟練掌握匯編語(yǔ)言程序設(shè)計(jì)環(huán)境,根據(jù)前期掌握程度,可選擇Masm for windows集成實(shí)驗(yàn)環(huán)境(實(shí)驗(yàn)室配備),或自行安裝masm5.0、masm6.0、Emu8086,Tasm等,軟件開發(fā)環(huán)境可由學(xué)生根據(jù)使用

11、愛好自選。</p><p>  2 .根據(jù)課內(nèi)實(shí)驗(yàn)驗(yàn)收時(shí)指導(dǎo)教師提出的意見,以及和同學(xué)討論的結(jié)果,設(shè)計(jì)實(shí)現(xiàn)一個(gè)功能比較完善的電話號(hào)碼本,并在設(shè)計(jì)中體現(xiàn)自己的工作特色,即具備和其他設(shè)計(jì)不同之處。</p><p><b>  設(shè)計(jì)(實(shí)驗(yàn))正文</b></p><p><b>  定義電話本的結(jié)構(gòu)體</b></p>

12、<p><b>  刪除子程序</b></p><p>  CANCEL PROC;刪除記錄的過(guò)程</p><p><b>  newline</b></p><p>  MOV DX,OFFSET CZTS</p><p><b>  MOV AH,9H</b>

13、;</p><p><b>  INT 21H</b></p><p>  MOV AH,01H;輸入學(xué)號(hào)</p><p><b>  INT 21H</b></p><p>  MOV BJ1,AL</p><p>  MOV AH,01H</p><

14、p><b>  INT 21H</b></p><p>  MOV BJ2,AL</p><p><b>  MOV BX,0</b></p><p><b>  MOV DI,30</b></p><p>  ALCZ9:MOV SI,0;先檢查是否有要?jiǎng)h除的數(shù)據(jù)&

15、lt;/p><p>  MOV AH,BJ1</p><p>  CMP AH,STU[BX].NUM[SI]</p><p><b>  JNE ALCZ8</b></p><p><b>  INC SI</b></p><p>  MOV AL,BJ2</p>

16、<p>  CMP AL,STU[BX].NUM[SI]</p><p>  JE ALSC1;有此學(xué)號(hào)就轉(zhuǎn)到刪除它</p><p>  ALCZ8:ADD BX,TYPE STU</p><p><b>  DEC DI</b></p><p><b>  CMP DI,0</b>&

17、lt;/p><p><b>  JNE ALCZ9</b></p><p><b>  newline</b></p><p><b>  MOV AH,9H</b></p><p>  MOV DX,OFFSET NO;沒有就告知用戶</p><p>&

18、lt;b>  INT 21H</b></p><p><b>  newline</b></p><p>  CALL TO_DOES</p><p>  ALSC1:MOV BX,0</p><p>  LSC4:MOV SI,0</p><p>  MOV AH,BJ1<

19、;/p><p>  CMP AH,STU[BX].NUM[SI]</p><p><b>  JNE LSC1</b></p><p><b>  INC SI</b></p><p>  MOV AL,BJ2</p><p>  CMP AL,STU[BX].NUM[SI]&l

20、t;/p><p>  JE LSC2;找到要?jiǎng)h除的學(xué)生就刪除</p><p>  LSC1:ADD BX,TYPE STU</p><p><b>  JMP LSC4</b></p><p>  LSC2:MOV SI,0;刪除學(xué)生資料,即把它清零</p><p>  MOV STU[BX].N

21、UM[SI],0</p><p><b>  INC SI</b></p><p>  MOV STU[BX].NUM[SI],0</p><p><b>  MOV SI,0</b></p><p><b>  MOV CX,20</b></p><p&g

22、t;  LSC3:MOV STU[BX].NAM[SI],0</p><p><b>  INC SI</b></p><p><b>  LOOP LSC3</b></p><p><b>  MOV SI,0</b></p><p><b>  MOV CX,12

23、</b></p><p>  SC1: MOV STU[BX].TLE[SI],' '</p><p><b>  INC SI</b></p><p><b>  LOOP SC1</b></p><p><b>  newline</b><

24、;/p><p><b>  MOV AH,9</b></p><p>  MOV DX,OFFSET SCCG ;顯示‘刪除成功’</p><p><b>  INT 21H</b></p><p><b>  newline</b&

25、gt;</p><p><b>  RET</b></p><p>  CANCEL ENDP</p><p><b>  查找記錄</b></p><p>  FIND PROC;查找記錄的過(guò)程</p><p><b>  newline</b>&l

26、t;/p><p>  MOV DX,OFFSET CZTS</p><p><b>  MOV AH,9H</b></p><p><b>  INT 21H</b></p><p>  MOV AH,01H;輸入查找的學(xué)號(hào)</p><p><b>  INT 21H

27、</b></p><p>  MOV BJ1,AL</p><p>  MOV AH,01H</p><p><b>  INT 21H</b></p><p>  MOV BJ2,AL</p><p><b>  newline</b></p>&

28、lt;p><b>  MOV BX,0</b></p><p>  MOV DI,30;循環(huán)次數(shù) </p><p>  LCZ9: MOV SI,0;先檢查是否有要查找數(shù)據(jù)</p><p>  MOV AH,BJ1</p><p>  CMP AH,STU[BX].NUM[SI]</p><

29、p><b>  JNE LCZ8</b></p><p><b>  INC SI</b></p><p>  MOV AL,BJ2</p><p>  CMP AL,STU[BX].NUM[SI] </p><p><b>  JE LCZ7</b></p>

30、;<p>  LCZ8: ADD BX,TYPE STU</p><p><b>  DEC DI</b></p><p><b>  CMP DI,0</b></p><p><b>  JNE LCZ9</b></p><p>  MOV AH,9H;沒有

31、數(shù)據(jù)就告知用戶</p><p>  MOV DX,OFFSET NO</p><p><b>  INT 21H</b></p><p><b>  newline</b></p><p>  CALL TO_DOES</p><p>  LCZ7: CALL LINE;有

32、要找的學(xué)號(hào)時(shí)先輸出欄目名稱</p><p><b>  newline</b></p><p>  MOV DX,OFFSET ML</p><p><b>  MOV AH,9H</b></p><p><b>  INT 21H</b></p><p&g

33、t;<b>  newline</b></p><p>  mov ah,02h;</p><p>  MOV DL,' '</p><p>  MOV DL,' '</p><p><b>  INT 21H</b></p><p>  MO

34、V BX,0;從第1個(gè)學(xué)生開始查找</p><p>  LCZ4: MOV SI,0</p><p>  MOV AH,BJ1</p><p>  CMP STU[BX].NUM[SI],AH</p><p><b>  JNE LCZ5</b></p><p><b>  INC SI

35、</b></p><p>  MOV AL,BJ2</p><p>  CMP STU[BX].NUM[SI],AL</p><p><b>  JZ LCZ2</b></p><p>  LCZ5: ADD BX,TYPE STU</p><p><b>  JMP LCZ

36、4</b></p><p>  LCZ2: MOV SI,0;開始輸出要找的學(xué)生的資料</p><p>  MOV AH,02H</p><p>  MOV DL,STU[BX].NUM[SI];輸出學(xué)號(hào)</p><p><b>  INT 21H</b></p><p><

37、b>  INC SI</b></p><p>  MOV DL,STU[BX].NUM[SI]</p><p><b>  INT 21H</b></p><p>  MOV CX,4;輸出空格</p><p>  MOV AH,02H</p><p>  HG: MOV D

38、L,' '</p><p><b>  INT 21H</b></p><p><b>  LOOP HG</b></p><p><b>  MOV SI,0</b></p><p>  LCZ3: MOV DL,STU[BX].NAM[SI];輸出姓名&l

39、t;/p><p><b>  INT 21H</b></p><p><b>  INC SI</b></p><p>  CMP STU[BX].NAM[SI],0</p><p><b>  JNE LCZ3</b></p><p><b> 

40、 MOV CX,20</b></p><p>  SUB CX,SI;輸出空格以便使數(shù)據(jù)輸出時(shí)對(duì)齊 </p><p>  HG4: MOV DL,' '</p><p><b>  INT 21H</b></p><p><b>  LOOP HG4</b><

41、;/p><p><b>  MOV SI,0</b></p><p>  LDY1: MOV DL,STU[BX].TLE[SI];輸出電話號(hào)碼</p><p>  CMP DL,' '</p><p><b>  JE JJB</b></p><p><

42、b>  INT 21H</b></p><p><b>  INC SI</b></p><p><b>  JMP LDY1</b></p><p>  JJB: newline</p><p><b>  CALL LINE</b></p>

43、<p><b>  newline</b></p><p>  CALL TO_DOES</p><p><b>  RET</b></p><p>  FIND ENDP</p><p><b>  5.瀏覽記錄</b></p><p>

44、  SKIM PROC ;瀏覽記錄的過(guò)程</p><p><b>  newline</b></p><p><b>  MOV BX,0</b></p><p><b>  MOV DI,30</b></p><p>  YY1: MOV SI,0;檢查是

45、否一個(gè)數(shù)據(jù)都沒有</p><p>  CMP STU[BX].NAM[SI],0</p><p>  JNE KK1;有數(shù)據(jù)時(shí)轉(zhuǎn)輸出</p><p>  ADD BX,TYPE STU</p><p><b>  DEC DI</b></p><p><b>  CMP DI,0<

46、;/b></p><p><b>  JNE YY1</b></p><p>  MOV AH,9H;沒有就告知用戶</p><p>  MOV DX,OFFSET NODA</p><p><b>  INT 21H</b></p><p><b>  n

47、ewline</b></p><p>  CALL TO_DOES</p><p>  KK1: CALL LINE</p><p><b>  newline</b></p><p>  MOV AH,9H;先輸出欄目名稱</p><p>  MOV DX,OFFSET ML<

48、;/p><p><b>  INT 21H</b></p><p><b>  newline</b></p><p><b>  MOV BX,0</b></p><p><b>  MOV DI,30</b></p><p>  L

49、L1: MOV SI,0;開始輸出所有學(xué)生資料</p><p>  CMP STU[BX].NAM[SI],0</p><p><b>  JNZ PP1</b></p><p>  ADD BX,TYPE STU</p><p><b>  DEC DI</b></p><

50、p><b>  CMP DI,0</b></p><p><b>  JNE LL1</b></p><p>  JMP DOES10</p><p>  PP1: MOV SI,0</p><p>  MOV DL,' '</p><p>  INT

51、 21H </p><p>  MOV DL,' '</p><p><b>  INT 21H</b></p><p>  MOV DL,STU[BX].NUM[SI];輸出學(xué)號(hào)</p><p><b>  INT 21H</b></p><p>

52、<b>  INC SI</b></p><p>  MOV DL,STU[BX].NUM[SI];輸出學(xué)號(hào)</p><p><b>  INT 21H</b></p><p><b>  MOV SI,0</b></p><p><b>  MOV CX,4<

53、/b></p><p>  MOV AH,02H </p><p>  HG3: MOV DL,' '</p><p><b>  INT 21H</b></p><p><b>  LOOP HG3</b></p><p>  NA1: MOV

54、 DL,STU[BX].NAM[SI];輸出姓名</p><p><b>  INT 21H</b></p><p><b>  INC SI</b></p><p>  CMP STU[BX].NAM[SI],0</p><p><b>  JNZ NA1</b></p

55、><p><b>  MOV CX,20</b></p><p><b>  SUB CX,SI</b></p><p>  HG2: MOV DL,' '</p><p><b>  INT 21H</b></p><p><b&g

56、t;  LOOP HG2</b></p><p>  MOV SI,0 </p><p>  LDY2: MOV DL,STU[BX].TLE[SI];輸出電話號(hào)碼</p><p>  CMP DL,' '</p><p><b>  JE JJ1</b></p>&l

57、t;p><b>  INT 21H</b></p><p><b>  INC SI</b></p><p><b>  JMP LDY2</b></p><p>  JJ1: newline</p><p>  ADD BX,TYPE STU</p>&

58、lt;p><b>  DEC DI</b></p><p><b>  CMP DI,0</b></p><p><b>  JNE LL1</b></p><p>  DOES10:CALL LINE</p><p><b>  newline</b&g

59、t;</p><p>  CALL TO_DOES</p><p><b>  RET</b></p><p><b>  SKIM ENDP</b></p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))總結(jié)或結(jié)論</p><p>  通過(guò)本次課程設(shè)計(jì),進(jìn)一步掌握了匯編的程序設(shè)計(jì)方法,對(duì)

60、原來(lái)學(xué)過(guò)的和沒學(xué)過(guò)的知識(shí)都有了較深的理解,也深刻體會(huì)到用匯編語(yǔ)言編寫代碼卻是不容易,匯編好幾行語(yǔ)句在高級(jí)語(yǔ)言中只需要一條就可以完成,但事物總有兩面行,存在即具其合理性,asm的優(yōu)越的性能(時(shí)間和空間),高級(jí)語(yǔ)言是望塵莫及的,所以學(xué)號(hào)匯編也是為我們以后的成功奠定基礎(chǔ)。相信通過(guò)這次匯編的課程實(shí)際,自己的分析問(wèn)題和處理問(wèn)題的能力都有了一次不小的提高,收獲不少。同時(shí)也要感謝在課程設(shè)計(jì)中給予我?guī)椭睦蠋煛4舜握n程設(shè)計(jì)目的已經(jīng)達(dá)到。</p&g

61、t;<p>  實(shí)驗(yàn)二:顯示器I/O程序設(shè)計(jì)</p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))的目的與要求</p><p>  示器I/O程序設(shè)計(jì),完成屏幕窗口控制程序。</p><p>  要求在屏幕上開出三個(gè)窗口,它們的左上角和右下角的坐標(biāo)分別是(5,10),(15,30)和(5,50),(15,70)和(18,15),(22,65),如從鍵盤輸入字符,則

62、顯示在右窗口,同時(shí)也顯示在下窗口的最下面一行。若需要將字符顯示于左窗口,則先按下←鍵,接著再?gòu)逆I盤輸入字符,字符就會(huì)從左窗口的最下行開始顯示,同時(shí)下窗口也顯示出左窗口的內(nèi)容。如果再按下→鍵,輸入字符就會(huì)接在先前輸入的字符之后顯示出來(lái)。當(dāng)一行字符顯示滿后,窗口自動(dòng)向上卷動(dòng)一行,輸入字符繼續(xù)顯示與最低一行,窗口最高一行向上卷動(dòng)后消失。</p><p><b>  設(shè)計(jì)(實(shí)驗(yàn))正文</b><

63、/p><p>  I/O窗口中自己達(dá)到的目的有:</p><p>  1.回車:通過(guò)獲取回車鍵的接通碼進(jìn)入該程序段,進(jìn)行卷一行,且光標(biāo)設(shè)置,并進(jìn)行分左右窗口設(shè)置,跳轉(zhuǎn)不同。</p><p>  ENTERHUAN: SCROLL 18,15,22,65,1</p><p>  MOV DWY,15</p><p>  CM

64、P WINDOWNUM,0</p><p><b>  JZ ONE</b></p><p>  SCROLL 5,50,15,70,1</p><p>  POS_CURSE 15,50</p><p><b>  MOV RY,50</b></p><p><b&g

65、t;  mov rx,15</b></p><p><b>  JMP INPUT</b></p><p>  ONE: SCROLL 5,10,15,30,1</p><p>  POS_CURSE 15,10</p><p><b>  MOV LY,10</b><

66、/p><p>  mov lx,15 </p><p>  JMP INPUT </p><p>  2.刪除:通過(guò)int 10功能中03H獲取光標(biāo)位置,通過(guò)卷行,向前卷動(dòng),以達(dá)到刪除效果。</p><p>  DEL: </p><p>  mov ah,03h</p><p><

67、;b>  int 10h</b></p><p><b>  dec dl</b></p><p><b>  push dx</b></p><p>  SCROLL dh,dl,dh,dl,0</p><p><b>  pop dx</b></p&

68、gt;<p>  pos_curse dh,dl</p><p><b>  mov ry,dl</b></p><p><b>  jmp input</b></p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))總結(jié)或結(jié)論</p><p>  此實(shí)驗(yàn)中是在別人的基礎(chǔ)上進(jìn)行改動(dòng),雖然自己編寫的程序

69、不太長(zhǎng),但是仍然存在很多困難。并且在此程序中仍然存在錯(cuò)誤,如刪除中,向前滾動(dòng),并不能達(dá)到刪除,會(huì)出現(xiàn)輸出第二個(gè)字母的時(shí)候向后跳顯示,只是屏幕上顯示刪除,實(shí)際內(nèi)存中并沒刪除。并且并沒有判斷到窗口的最左行想上一行跳。</p><p>  實(shí)驗(yàn)三:中斷程序設(shè)計(jì)</p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))的目的與要求</p><p>  中斷程序設(shè)計(jì),完成內(nèi)部中斷服務(wù)程序和外

70、部中斷服務(wù)程序設(shè)計(jì)。具體要求為:</p><p>  (1).編寫一個(gè)內(nèi)部中斷服務(wù)程序,使其能夠顯示以“0”結(jié)尾的字符串(利用顯示器功能調(diào)用INT 10H)。字符串緩沖區(qū)首地址為入口參數(shù),利用DS:DX傳遞此參數(shù)。</p><p>  (2).編寫一個(gè)可屏蔽的外部中斷服務(wù)程序,中斷請(qǐng)求來(lái)自8259A的IRQ0,在新的外部中斷服務(wù)程序(新08H中斷)中,使得每55ms的中斷在屏幕上顯示一串信

71、息“A 8259A Interrupt!”,顯示10次后,恢復(fù)原中斷服務(wù)程序,返回DOS。</p><p><b>  設(shè)計(jì)(實(shí)驗(yàn))正文</b></p><p><b>  內(nèi)部中斷</b></p><p>  外部中斷其中增加了一小段進(jìn)行延遲,及中斷10次才輸出一次</p><p>  inc

72、counter1</p><p>  cmp counter1,0ah</p><p><b>  jb stop</b></p><p>  mov counter1,0</p><p>  inc counter</p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))總結(jié)或結(jié)論</p>&l

73、t;p>  通過(guò)本次試驗(yàn),我了解了匯編程序的開發(fā)過(guò)程,能夠在MASM for window環(huán)境下的進(jìn)行編輯,變異,連接程序,掌握了INT 21H軟件中的的調(diào)用DOS內(nèi)部子程序的方法。但對(duì)于dos環(huán)境下的匯編程序的編輯編譯連接使用還不是很熟悉,只能是在masm for window繼承軟件開發(fā)環(huán)境熟悉的編譯連接運(yùn)行。</p><p>  實(shí)驗(yàn)四:發(fā)聲系統(tǒng)設(shè)計(jì)</p><p>  課程設(shè)

74、計(jì)(綜合實(shí)驗(yàn))的目的與要求</p><p>  發(fā)聲系統(tǒng)設(shè)計(jì),參考教材中的例9.1,利用揚(yáng)聲器控制原理,編寫一個(gè)簡(jiǎn)易樂(lè)器程序。</p><p>  要求當(dāng)按下1~8數(shù)字鍵時(shí),分別發(fā)出連續(xù)的中音1~7和高音i(對(duì)應(yīng)頻率依次為524Hz、588Hz、660Hz、698Hz、784Hz、880Hz、988Hz和1048Hz);當(dāng)按下其他鍵時(shí),暫停發(fā)聲。如果時(shí)間允許,可在此基礎(chǔ)上自行發(fā)揮,如增加按

75、鍵功能、編輯歌曲等。</p><p><b>  設(shè)計(jì)(實(shí)驗(yàn))正文</b></p><p><b>  揚(yáng)聲器設(shè)置</b></p><p>  speakerproc</p><p><b>  push ax</b></p><p>  mov al

76、,0b6h;10 11 011 0</p><p>  out 43h,al</p><p><b>  pop ax</b></p><p>  out 42h,al</p><p><b>  mov al,ah</b></p><p>  out 42h,al</

77、p><p><b>  ret</b></p><p>  speaker endp</p><p>  speakon proc;揚(yáng)聲器開</p><p><b>  push ax</b></p><p><b>  in al,61h</b><

78、;/p><p><b>  or al,03h</b></p><p>  out 61h,al</p><p><b>  pop ax</b></p><p><b>  ret</b></p><p>  speakon endp</p>

79、<p>  speakoff proc;揚(yáng)聲器關(guān)</p><p><b>  push ax</b></p><p><b>  in al,61h</b></p><p>  and al,0fch</p><p>  out 61h,al</p><p>

80、<b>  pop ax</b></p><p><b>  ret</b></p><p>  speakoff endp2.輸入判斷,并調(diào)用</p><p><b>  first:</b></p><p><b>  mov ah,1h</b>&l

81、t;/p><p><b>  int 21h</b></p><p>  cmp al,1bh</p><p><b>  jz exit</b></p><p>  cmp al,31h</p><p><b>  jb close</b></p&g

82、t;<p>  cmp al,38h</p><p><b>  ja close</b></p><p>  and al,0fh</p><p>  mov ah,00h</p><p><b>  add ax,ax</b></p><p><b&g

83、t;  mov si,ax</b></p><p>  mov bx,offset freq</p><p>  mov ax,[bx+si]</p><p><b>  mov cx,ax</b></p><p>  mov dx,0012h</p><p>  mov ax,34d

84、ch</p><p><b>  div cx</b></p><p>  call speaker</p><p>  call speakon </p><p>  jmp first </p><p><b>  close:</b></p><

85、p>  call speakoff</p><p><b>  jmp first</b></p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))總結(jié)或結(jié)論</p><p>  音符和頻率之間有一定的對(duì)應(yīng)關(guān)系,如果計(jì)算機(jī)鍵盤上的一些鍵和音符、頻率也形成一種對(duì)應(yīng)關(guān)系,則可通過(guò)鍵盤控制揚(yáng)聲器發(fā)出各種音符聲音,這時(shí)計(jì)算機(jī)鍵盤就變成了鋼琴鍵盤,就可以用他彈奏出

86、簡(jiǎn)單的樂(lè)曲了。</p><p>  實(shí)驗(yàn)五:鍵盤程序設(shè)計(jì) </p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))的目的與要求</p><p>  鍵盤程序設(shè)計(jì),編寫一個(gè)程序,每當(dāng)在鍵盤上按下一個(gè)按鍵時(shí),就顯示其接通和斷開掃描碼。具體原理參見教材第十一章,并行接口。</p><p><b>  設(shè)計(jì)(實(shí)驗(yàn))正文</b></p&g

87、t;<p>  輸出接通掃描碼的十位個(gè)位計(jì)算</p><p>  binihex proc</p><p><b>  mov ch,4</b></p><p><b>  rotate:</b></p><p><b>  mov cl,4</b></p&

88、gt;<p>  rol bx,cl ;循環(huán)左移</p><p><b>  mov al,bl</b></p><p>  and al,0fh</p><p>  add al,30h</p><p>  cmp al,3ah</p><p><b>  jl p

89、rint</b></p><p><b>  add al,7</b></p><p><b>  print:</b></p><p><b>  mov dl,al</b></p><p><b>  mov ah,2</b></p&

90、gt;<p><b>  int 21h</b></p><p><b>  dec ch</b></p><p>  jnz rotate</p><p><b>  ret</b></p><p>  binihex endp</p><p

91、>  計(jì)算斷開掃描碼,在接通掃描碼的基礎(chǔ)上加80h并調(diào)用以上程序</p><p>  鍵盤上F1~F9在字符上的輸出,先輸出F,再對(duì)其接通掃描碼減去3bh,進(jìn)行輸出</p><p>  mov ah,2 ;是就輸出F</p><p>  mov dl,46h</p><p><b>  int 21h

92、</b></p><p>  sub ch,3bh</p><p>  add ch,30h</p><p><b>  mov dl,ch</b></p><p><b>  mov ah,2</b></p><p><b>  int 21h<

93、/b></p><p>  mov dl,0Dh</p><p><b>  mov ah,2</b></p><p><b>  int 21h</b></p><p>  mov dl,0Ah</p><p><b>  mov ah,2</b>

94、;</p><p><b>  int 21h</b></p><p><b>  jmp again</b></p><p>  next: mov dl,cl</p><p><b>  mov ah,2</b></p><p><b> 

95、 int 21h</b></p><p><b>  ;打印回車換行</b></p><p>  mov dl,0Dh</p><p><b>  mov ah,2</b></p><p><b>  int 21h</b></p><p>

96、  mov dl,0Ah</p><p><b>  mov ah,2</b></p><p><b>  int 21h</b></p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))總結(jié)或結(jié)論</p><p>  本實(shí)驗(yàn)中的要求是將輸入的十六進(jìn)制的數(shù)轉(zhuǎn)換為十進(jìn)制的數(shù),并進(jìn)行輸出,結(jié)果是將十六進(jìn)制的數(shù)按ASCI

97、I碼轉(zhuǎn)換而得的。在此程序中較為復(fù)雜的是進(jìn)行轉(zhuǎn)換,程序中,需要設(shè)定循環(huán)次數(shù),以及跳轉(zhuǎn)方向。同時(shí),在輸出字符時(shí)也需要進(jìn)行判斷,分類輸出。</p><p><b>  實(shí)驗(yàn)六:電子鐘設(shè)計(jì)</b></p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))的目的與要求</p><p>  利用偉福實(shí)驗(yàn)系統(tǒng)提供的8253計(jì)數(shù)器,8259中斷控制器、七段數(shù)碼管、8255并行

98、接口芯片等,設(shè)計(jì)實(shí)現(xiàn)一個(gè)電子鐘的電路,并編制一個(gè)程序使得該電子鐘能正常工作。其中,8253計(jì)數(shù)器用于產(chǎn)生計(jì)時(shí)脈沖(如1s、100ms等),中斷服務(wù)程序用于對(duì)時(shí)、分、秒的計(jì)數(shù)更新,并存入相應(yīng)的存儲(chǔ)單元,主程序設(shè)置相應(yīng)芯片的工作方式、完成時(shí)、分、秒信息的顯示等。</p><p><b>  設(shè)計(jì)(實(shí)驗(yàn))正文</b></p><p>  在程序中自己進(jìn)行完成的方面有:<

99、;/p><p><b>  鬧鐘到點(diǎn)報(bào)時(shí)</b></p><p>  NAOZHONG PROC NEAR</p><p>  MOV AL,MINUTE ;將要進(jìn)行調(diào)整的鬧鐘賦給鬧鐘的時(shí)間</p><p>  MOV NMINUTE,AL</p><p>  MOV AL,HOUR&

100、lt;/p><p>  MOV NHOUR,AL</p><p>  SHI2: MOV AL,NHOUR ;將時(shí)間數(shù)字轉(zhuǎn)換賦給LED顯示緩沖區(qū)</p><p><b>  MOV AH,0</b></p><p><b>  MOV CL,10</b></p>&l

101、t;p><b>  DIV CL</b></p><p><b>  MOV CH,AH</b></p><p><b>  MOV AH,0</b></p><p>  MOV BX,OFFSET LEDMAP</p><p><b>  ADD BX,AX&

102、lt;/b></p><p>  MOV AL,[BX]</p><p>  MOV LEDBUF,AL</p><p>  MOV BX,OFFSET LEDMAP</p><p><b>  MOV AL,CH</b></p><p><b>  MOV AH,0</b&

103、gt;</p><p><b>  ADD BX,AX</b></p><p>  MOV AL,[BX]</p><p><b>  OR AL,80H</b></p><p>  MOV LEDBUF+1,AL</p><p>  MOV AL,NMINUTE</p

104、><p><b>  MOV AH,0</b></p><p><b>  MOV CL,10</b></p><p><b>  DIV CL</b></p><p><b>  MOV CH,AH</b></p><p><b

105、>  MOV AH,0</b></p><p>  MOV BX,OFFSET LEDMAP</p><p><b>  ADD BX,AX</b></p><p>  MOV AL,[BX]</p><p>  MOV LEDBUF+2,AL</p><p>  MOV BX,

106、OFFSET LEDMAP</p><p><b>  MOV AL,CH</b></p><p><b>  MOV AH,0</b></p><p><b>  ADD BX,AX</b></p><p>  MOV AL,[BX]</p><p>

107、<b>  OR AL,80H</b></p><p>  MOV LEDBUF+3,AL</p><p>  MOV LEDBUF+4,3FH</p><p>  MOV LEDBUF+5,3FH</p><p>  CALL DISPLAYLED ;調(diào)用完LED顯示</p>

108、;<p>  CALL TESTKEY ;測(cè)試是否有輸入,有則判斷,無(wú)則繼續(xù)顯示</p><p><b>  JNE SHI1</b></p><p><b>  JMP SHI2</b></p><p>  SHI1: CALL GETKEY</p><p>  CM

109、P AL,0FH</p><p>  JZ NXIAOSHI</p><p>  CMP AL,0EH</p><p>  JZ NFENZHONG</p><p>  CMP AL,0BH</p><p><b>  JZ JEND1</b></p><p>  NFEN

110、ZHONG: ;分鐘判斷。按E進(jìn)行自增</p><p>  INC NMinute</p><p>  cmp NMinute,60</p><p><b>  jz Nt2</b></p><p><b>  JMP Nt3</b></p>&

111、lt;p>  Nt2: mov NMinute,00</p><p><b>  Nt3:</b></p><p><b>  JMP SHI2</b></p><p>  JEND1: JMP END1</p><p>  NXIAOSHI:

112、 ;小時(shí)。按F進(jìn)行自增</p><p><b>  INC NHour</b></p><p>  CMP NHour,24</p><p><b>  jz Nt0</b></p><p><b>  JMP Nt1</b></p><p> 

113、 Nt0: mov NHour,00</p><p><b>  Nt1:</b></p><p><b>  JMP SHI2</b></p><p>  END1: RET ;按B結(jié)束</p><p>  NAOZHONG ENDP</p>

114、;<p>  按暫停,以及重置進(jìn)行顯示字母</p><p>  pause: CLI</p><p>  mov ledbuf+3,6DH</p><p>  mov ledbuf+4,79H</p><p>  mov ledbuf+5,00H</p><p>  mov ledbuf+2,3EH<

115、;/p><p>  mov ledbuf+1,77H</p><p>  mov ledbuf+0,73H</p><p>  call displayled</p><p>  CALL TESTKEY</p><p>  JE PAUSE</p><p>  JMP CONTIUE <

116、;/p><p><b>  jmp LP</b></p><p>  Reset: cli</p><p>  MOV Hour,00</p><p>  MOV Minute,00</p><p>  MOV Second,00</p><p>  mov ledbuf,31

117、H</p><p>  mov ledbuf+1,79H</p><p>  mov ledbuf+2,6DH</p><p>  mov ledbuf+3,79H</p><p>  mov ledbuf+4,78H</p><p>  mov ledbuf+5,0</p><p>  cal

118、l displayled</p><p>  CALL TESTKEY</p><p>  JE RESET</p><p>  JMP CONTIUE </p><p><b>  STI</b></p><p><b>  JMP LP</b></

119、p><p>  在設(shè)置計(jì)數(shù)時(shí),AX所能存放的太小,不能達(dá)到1秒顯示,又只能調(diào)用一個(gè)8253,所以進(jìn)行設(shè)置中斷20次才調(diào)用一次顯示。</p><p><b>  inc count</b></p><p>  mov al,count</p><p><b>  cmp al,20</b></p&g

120、t;<p><b>  jne exit</b></p><p>  課程設(shè)計(jì)(綜合實(shí)驗(yàn))總結(jié)或結(jié)論</p><p>  在此實(shí)驗(yàn)中較為復(fù)雜的有實(shí)驗(yàn)本身存在難度,在兩個(gè)子程序中想要搞清楚較為復(fù)雜。同時(shí),實(shí)驗(yàn)還需要結(jié)合硬件,硬件要求要有較好的基礎(chǔ),明白8253,8259,8255是如何工作的。</p><p>  本次課程設(shè)計(jì),也因

121、為理論知識(shí)掌握比較好,花了三天時(shí)間將程序修改好,添加功能。在本次設(shè)計(jì),真正體會(huì)到軟硬件結(jié)合,在我們寫好程序之后還必須懂得硬件電路怎么連接,設(shè)計(jì)程序過(guò)程中經(jīng)常發(fā)現(xiàn)程序報(bào)錯(cuò),程序太長(zhǎng)就覺得煩,壓迫自己把程序的注釋寫上去,這樣很容易知道程序的入口跳轉(zhuǎn)以及錯(cuò)誤等。本次設(shè)計(jì)懂得了耐心很重要,雖然程序有點(diǎn)長(zhǎng),但是只要有耐心終究能將此程序完成的。</p><p><b>  附錄</b></p>

122、;<p>  實(shí)驗(yàn)一電話號(hào)碼本設(shè)計(jì)完善</p><p><b>  結(jié)果:</b></p><p>  實(shí)驗(yàn)二:顯示器I/O程序設(shè)計(jì)</p><p><b>  結(jié)果:</b></p><p><b>  輸入</b></p><p>&l

123、t;b>  刪除左窗口</b></p><p><b>  左窗口回車</b></p><p>  實(shí)驗(yàn)三:中斷程序設(shè)計(jì)</p><p><b>  結(jié)果</b></p><p><b>  內(nèi)部中斷:</b></p><p><

溫馨提示

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

評(píng)論

0/150

提交評(píng)論