微機(jī)原理課程設(shè)計(jì)報(bào)告li_第1頁(yè)
微機(jī)原理課程設(shè)計(jì)報(bào)告li_第2頁(yè)
微機(jī)原理課程設(shè)計(jì)報(bào)告li_第3頁(yè)
微機(jī)原理課程設(shè)計(jì)報(bào)告li_第4頁(yè)
微機(jī)原理課程設(shè)計(jì)報(bào)告li_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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、江蘇大學(xué)微機(jī)原理課程設(shè)計(jì)報(bào)告學(xué)院: 電氣學(xué)院 班級(jí): 姓名: 學(xué)號(hào): 指導(dǎo)老師: 時(shí)間: 2014年1月15日 一課程設(shè)計(jì)目的:1.結(jié)合微型計(jì)算機(jī)原理課程的學(xué)習(xí),進(jìn)一步鞏固已學(xué)的知識(shí),同時(shí)針對(duì)計(jì)算機(jī)原理知識(shí)的具體應(yīng)用,學(xué)會(huì)對(duì)系統(tǒng)中DOS和BIOS的使用。學(xué)會(huì)使用屏幕編輯程序EDIT,弄懂匯編程序的上級(jí)過(guò)程以及如何運(yùn)用DEBUG軟件進(jìn)行匯編程序的調(diào)試。2. 學(xué)會(huì)將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),鍛煉自己分析解決實(shí)際問題的能力。提高適應(yīng)實(shí)際,實(shí)踐編程的能力。3. 為了進(jìn)一步鞏固學(xué)習(xí)的理論知識(shí),增強(qiáng)學(xué)生對(duì)所學(xué)知識(shí)的實(shí)際應(yīng)用能力和運(yùn)用所學(xué)的知識(shí)解決實(shí)際問題的能力,開始為期兩周的課程設(shè)計(jì)。通過(guò)設(shè)計(jì)

2、使學(xué)生在鞏固所學(xué)知識(shí)的基礎(chǔ)之上具有初步的單片機(jī)系統(tǒng)設(shè)計(jì)與應(yīng)用能力。二課程設(shè)計(jì)內(nèi)容: 1.接受年、月、日信息并顯示的設(shè)計(jì) 為掌握響鈴使用方法,并掌握年、月、日輸入方法。編寫程序,先顯示“WHAT IS THE DATA (MM/DD/YY)?”并響鈴一次,然后接受鍵盤輸入的月/日/年信息,并顯示。2. 字符串匹配設(shè)計(jì)為掌握提示信息的設(shè)置方法及讀取鍵入信息的方法,編寫程序?qū)崿F(xiàn)兩個(gè)字符串比較,如相同則顯示“MATCH”,否則顯示“NO MATCH”。3.從鍵盤輸入數(shù)據(jù)并顯示的設(shè)計(jì)為掌握鍵盤接受數(shù)據(jù)的方法,并了解將鍵盤數(shù)據(jù)顯示時(shí)必須轉(zhuǎn)換為ASCII碼的原理,編寫程序,將鍵盤接受到的四位十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換

3、為等值的二進(jìn)制數(shù)顯示。4.字符和數(shù)據(jù)的顯示設(shè)計(jì)為掌握字符和和數(shù)據(jù)的顯示方法。編寫程序,先顯示信息:INPUT STRING,THE END FLAG IS$,再接受字符。如為0-9,則計(jì)數(shù)器加1,并顯示數(shù)據(jù);如為非數(shù)字,則直接顯示,但不計(jì)數(shù)。三典型題目舉例:1接收年月日信息并顯示的設(shè)計(jì)為掌握響鈴使用方法,并掌握年、月、日輸入方法。編寫程序,先顯示“WHAT IS THE DATA (MM/DD/YY)?”并響鈴一次,然后接受鍵盤輸入的月/日/年信息,并顯示。返回DOS輸出響鈴字符顯示”WHAT IS THE DATA”段寄存器和堆棧初始化入口流程圖:分3次輸入月、日、年分3次顯示月、日、年程序

4、代碼及注釋:DATA SEGMENT S1 DB 'WHAT IS THE DATA (MM/DD/YY)? ',0DH,0AH,'$' ;顯示字符串S2 DB 'MONTH',0DH,0AH,'$' ;月字符串S3 DB 'DAY',0DH,0AH,'$' ;日字符串S4 DB 'YEAR',0DH,0AH,'$' ;年字符串S5 DB 4 ;存放接受的月 DB ? DB 4 DUP($)S6 DB 4 ;存放接受的日 DB ? DB 4 DUP($)S7 DB 6

5、 ;存放接受的年 DB ? DB 6 DUP($)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA ;段寄存器初始化START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET S1 ;顯示提示信息 MOV AH,9 INT 21H MOV DL,07H ;響鈴一次 MOV AH,2 INT 21H MOV CX,0FFFH ;延遲,用內(nèi)外雙重循環(huán)實(shí)現(xiàn)L1:PUSH CX MOV CX,0FFFFHL2: LOOP L2 POP CX LOOP L1 MOV DX,OFFSET S5 ;接受月數(shù)據(jù),放入變量 MOV AH,0AH IN

6、T 21H MOV DX,OFFSET S6 ;接受日數(shù)據(jù),放入變量 MOV AH,0AH INT 21H MOV DX,OFFSET S7 ;接受年數(shù)據(jù),放入變量 MOV AH,0AH INT 21H MOV DL,0DH ;顯示回車 MOV AH,2 INT 21H MOV DL,0AH ;顯示換行 MOV AH,2 INT 21H MOV DX,OFFSET S5 ;顯示月數(shù)據(jù) ADD DX,2 MOV AH,9 INT 21H MOV DX,OFFSET S2 ;顯示月字符 MOV AH,9 INT 21H MOV DX,OFFSET S6 ;顯示日數(shù)據(jù) ADD DX,2 MOV AH

7、,9 INT 21H MOV DX,OFFSET S3 ;顯示日字符 MOV AH,9 INT 21H MOV DX,OFFSET S7 ;顯示年數(shù)據(jù) ADD DX,2 MOV AH,9 INT 21H MOV DX,OFFSET S4 ;顯示年字符 MOV AH,9 INT 21H MOV AH,4CH ;返回DOS INT 21HCODE ENDS END START結(jié)果截圖:2字符串的匹配設(shè)計(jì)為掌握提示信息的設(shè)置方法及讀取鍵入信息的方法。編寫程序?qū)崿F(xiàn)兩個(gè)字符串比較。如相同,則顯示“MATCH”,否則,顯示“NO MATCH”。程序清單:CRLF MACRO ;顯示回車 MOV DL,0D

8、H MOV AH,02H INT 21H MOV AH,02H MOV DL,0AH INT 21H ENDMDATA SEGMENTMESS1 DB 'MATCH',0DH,0AH,'$'MESS2 DB 'NO MATCH',0DH,0AH,'$'MESS3 DB 'INPUT STRING1!',0DH,0AH,'$'MESS4 DB 'INPUT STRING2!',0DH,0AH,'$'MAXLEN1 DB 100STRING1 DB 100 DUP(?)M

9、AXLEN2 DB 100STRING2 DB 100 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,09H MOV DX,OFFSET MESS3 INT 21H ;顯示提示信息1 MOV AL,MAXLEN1 MOV BX,OFFSET STRING1 MOV BX,AL ;最大字符緩沖 MOV AH,0AH MOV DX,OFFSET STRING1 INT 21H ;接收鍵入的字符串1 CRLF MOV AH,09H MOV D

10、X,OFFSET MESS4 INT 21H ;顯示提示信息2 MOV AL,MAXLEN2 MOV BX,OFFSET STRING2 MOV BX,AL ;最大字符緩沖設(shè)置 MOV AH,0AH MOV DX,OFFSET STRING2 INT 21H ;接收鍵入的字符串2 CRLFCLD LEA SI,STRING1 ;字符串1的地址送給SI MOV CL,SI+1 ;字符串1的字符數(shù)送給CX MOV CH,0BEING: LEA DI,STRING2 ;字符串2的地址送給DI MOV DL,DI+1 ;字符串2的字符數(shù)送給DX MOV DH,0J1: MOV AL,SI+2 ;字符串

11、1的第一個(gè)字符在字符串2中匹配 CMP DI+2,AL JE J3 ;匹配成功則跳轉(zhuǎn)J2: INC DI ;指向字符串2下一個(gè)字符 DEC DX JZ NOMAT ;字符串2完,不匹配 JMP J1 ;字符串2沒完,重新匹配J3: DEC CX JZ MATCH ;字符串1完,匹配 DEC DX JZ NOMAT ;字符串2完,不匹配 INC SI ;指向串1下一個(gè)字符 INC DI ;指向串2下一個(gè)字符 MOV AL,SI+2 CMP DI+2,AL JE J3 ;匹配,跳轉(zhuǎn) DEC DX JZ NOMAT ;字符串2完,不匹配 LEA SI,STRING1 ;重新從串1的第一個(gè)字符匹配 M

12、OV CL,SI+1 MOV CH,0 JMP J1MATCH: MOV AH,09H ;輸出匹配信息 MOV DX,OFFSET MESS1 INT 21H JMP NEXTNOMAT: MOV AH,09H ;輸出不匹配信息 MOV DX,OFFSET MESS2 INT 21H NEXT: MOV AH,4CH ;程序終止 INT 21HCODE ENDS END START 3從鍵盤輸入數(shù)據(jù)并顯示的數(shù)據(jù)為掌握接收鍵盤數(shù)據(jù)的方法,并了解將鍵盤數(shù)據(jù)顯示時(shí)須轉(zhuǎn)換為ASCII碼的原理。編寫程序,將鍵盤接收到的四位十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為等值的二進(jìn)制數(shù),再顯示在終端上。程序清單:DATA SEGMEN

13、TMSG1 DB 'Hex:', '$'MSG2 DB 0DH, 0AH, 'Binary:', '$'COUNT EQU 4BUF DB 4 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX, DATAMOV DS, AXLEA DX, MSG1MOV AH, 9INT 21HMOV CX, COUNTMOV SI, 0INPUT:MOV AH, 1 ;通過(guò)四次循環(huán)從鍵盤讀入四位十六進(jìn)制數(shù)INT 21H MOV BUFSI, ALDEC CXINC SI

14、CMP CX, 0JNZ INPUTNEXT3: LEA DX, MSG2MOV AH, 9INT 21HMOV CX, COUNTMOV SI, 0NEXT2: MOV BL, BUFSICMP BL , '9' JBE OK ;讀入的字符9 轉(zhuǎn)向 OKSUB BL, 7 ;讀入字符>= 9 減7 OK: PUSH CX MOV CL ,4 SHL BL, CL ; 邏輯左移4位,低4位à高4位MOV CX, 4 ; 4次循環(huán)將當(dāng)前處理字符的4位二進(jìn)制輸出NEXT1: MOV DL, '0'SHL BL, 1JNC SKIP INC DLSKI

15、P: MOV AH, 2INT 21HLOOP NEXT1POP CX ;INC SILOOP NEXT2 ; 4次循環(huán)將4位十六進(jìn)制數(shù)每位轉(zhuǎn)換為對(duì)應(yīng)的4位二進(jìn)制EXIT: MOV AH, 4CHINT 21HCODE ENDSEND START4字符和數(shù)據(jù)的顯示程序?yàn)檎莆兆址蛿?shù)據(jù)的顯示方法。編寫程序,先顯示信息:INPUT STRING,THE END FLAG IS$,再接收字符。如為0-9,則計(jì)數(shù)器加1,并顯示數(shù)據(jù);如為非數(shù)字,則直接顯示,但不技計(jì)數(shù)。程序清單:CRLF MACRO MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH

16、INT 21HENDM DATA SEGMENTMESS1 DB 'INPUT$'MESS2 DB 'zifu zongshu= $'MESS3 DB 'no zifu zongshu= $'MESS4 DB 'shuzi zifu zongshu= $'TOTAL DW ?DATA ENDSSTACK SEGMENTSTA DW 32 DUP (?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV

17、 DS,AX MOV ES,AX MOV SP,TOP ;初始化 MOV BX,0000H ;計(jì)數(shù)值清0 MOV AH,09H MOV DX,OFFSET MESS1 INT 21H CRLFXXX: MOV AH,01H INT 21H ;接收鍵入字符 CMP AL,20H JZ UUU ;是空格鍵則轉(zhuǎn)UUU CMP AL,0DH JNZ III CRLF ;是回車鍵則轉(zhuǎn)UUU JMP UUUIII: CMP AL,30H JB YYY CMP AL,39H JBE VVV ;0-9轉(zhuǎn)VVVYYY: INC BX ;計(jì)數(shù)值加1VVV: INC TOTAL JMP XXXUUU: CRLF M

18、OV AH,09H LEA DX,MESS2 ;顯示字符總數(shù) INT 21H MOV AX,TOTAL CALL DISP MOV AH,02H MOV DL,'H' INT 21H CRLF ;回車換行MOV AH,09H MOV DX,OFFSET MESS3INT 21H ;顯示非數(shù)字字符總數(shù)MOV AX,BXCALL DISP MOV AH,02HMOV DL,'H'INT 21H ;十六進(jìn)制數(shù)標(biāo)志CRLFMOV AH,09HLEA DX,MESS4 ;顯示數(shù)字字符總數(shù)INT 21HMOV AX,BXSUB TOTAL,AXMOV AX,TOTALCAL

19、L DISPMOV AH,02HMOV DL,'H'INT 21HMOV AX,4C00HINT 21HDISPP PROC NEAR ;顯示子程序,顯示AL中的數(shù)按十六進(jìn)制數(shù)方式MOV BL,AL ;AL中數(shù)送BLKKK: MOV DL,BLMOV CL,04ROL DL,CLAND DL,0FHCALL DISPL ;顯示字節(jié)高位MOV DL,BLAND DL,0FHCALL DISPL ;顯示字節(jié)低位RETDISPP ENDPDISPL PROC NEARADD DL,30H ;由數(shù)值轉(zhuǎn)為參應(yīng)字符的ASCII碼CMP DL,3AH JB DDD ;是0-9轉(zhuǎn)DDD ADD DL,27H ;是A-FDDD: MOV AH,02H INT 21H ;顯示DL中字符 RET ;返回DISPL ENDP ;顯示子程序,顯示AX中的數(shù)按十六進(jìn)制數(shù)方式DISP PROC NEAR PUSH BX PUSH CX PUSH DX PUSH AX ;入棧保存 MOV AL,AH CALL DISPP ;顯示高字節(jié) POP AX CALL DISPP POP DX POP CX POP BX RET ;出棧DISP ENDPC

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論