日期時間顯示系統(tǒng)_第1頁
日期時間顯示系統(tǒng)_第2頁
日期時間顯示系統(tǒng)_第3頁
日期時間顯示系統(tǒng)_第4頁
日期時間顯示系統(tǒng)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、鄭州科技學(xué)院微機原理與接口技術(shù)課程設(shè)計題 目 日期時間顯示系統(tǒng)目 錄1課程設(shè)計的目的12課程設(shè)計的任務(wù)與要求13 設(shè)計方案與論證14設(shè)計原理及功能說明14.1 程序流程圖 24.2 系統(tǒng)工作原理 35硬件的制作與調(diào)試45.1 方案所需軟件與硬件條件55.2 具體各部分功能實現(xiàn)55.3實驗結(jié)果86總結(jié) 9參考文獻11附錄111 課程設(shè)計的目的用匯編語言獨立完成一個程序題,以達到熟練運用匯編語言編程實現(xiàn)有比較完整功能的程序的目的。 (1)學(xué)習(xí)分支、中斷、和邏輯表達。  (2)熟悉匯編語言程序的編譯、鏈接過程。2課程設(shè)計的任務(wù)與要求設(shè)計一個顯示日期或時間的匯編程序間且滿

2、足以下要求:基本功能:運行可執(zhí)行程序RQSZ.exe,在出現(xiàn)的提示信息中輸入大寫字母“D”,可顯示系統(tǒng)當前日期;輸入大寫字母“T”,可顯示系統(tǒng)當前時間;輸入大寫字母“Q”,可結(jié)束程序。3設(shè)計方案與論證根據(jù)鍵盤輸入的相關(guān)內(nèi)容,如:若輸入D,則設(shè)計程序代碼依次讀取系統(tǒng)日期年、月、日,并轉(zhuǎn)換成BCD碼調(diào)用號中斷予以顯示;若在鍵盤輸入T,則設(shè)計程序代碼依次讀取系統(tǒng)時間時、分、秒,并轉(zhuǎn)換成碼并調(diào)用號中斷予以顯示;若輸入大寫字母Q,則退出當前狀態(tài);若不是相關(guān)字符,則不于任何響應(yīng),并不顯示任何信息。4設(shè)計原理及功能說明4.1 程序流程圖由課程設(shè)計任務(wù)要求可知,程序的大致過程是:先判斷輸入的字符是否為“D”、

3、“T”、“Q”,否則回到初始狀態(tài)等待重新輸入。若為“D”,則調(diào)用日期讀取程序,顯示出日期并回到初始狀態(tài);若為“T”,則調(diào)用時間讀取程序,顯示出時間并回到初始狀態(tài);若為“Q”,則直接退出程序。由此可以畫出如下程序流程圖:4.2 系統(tǒng)工作原理說明本次課程設(shè)計的程序編譯和調(diào)試應(yīng)該都是在DOS環(huán)境中進行的。程序的工作過程如前一節(jié)的流程圖所示。其中調(diào)用日期的子程序需要用到DOS中的2AH號功能,而調(diào)用系統(tǒng)時間的子程序需要用到DOS中的2CH號功能,最后退出程序的功能則需要用到I/O中斷。在調(diào)用子程序之前還用到了簡單的判斷程序,判斷符合要求才調(diào)用子程序,否則退出。在程序讀取系統(tǒng)時間和日期時,由于讀取的數(shù)據(jù)

4、都是二進制數(shù),所以要顯示正常結(jié)果必須加上一個二進制轉(zhuǎn)化為BCD碼的程序。5硬件的制作與調(diào)試5.1 方案所需軟件與硬件條件所需軟件條件:武漢大學(xué)開發(fā)的輕松匯編軟件。輕松匯編是一個匯編語言的集成開發(fā)環(huán)境,主要面向匯編語言的初學(xué)者。它提供了一個在Windows界面下的匯編語言開發(fā)環(huán)境,具有了一般的集成開發(fā)環(huán)境所提供的功能。所需硬件條件:一臺PC機5.2 具體各部分功能實現(xiàn)程序調(diào)試本次課設(shè)的程序調(diào)試所用到的軟件是武漢大學(xué)開發(fā)的輕松匯編軟件。調(diào)試步驟如下:(1) 打開輕松匯編軟件,在右側(cè)的程序編輯區(qū)輸入自己寫的匯編程序。然后點擊保存按鈕。(2) 再點擊“運行”菜單欄中的“編譯”按鈕,出現(xiàn)如圖4提示:出現(xiàn)

5、提示說明編寫的程序有錯誤和警告,按照提示將錯誤改正?!癛eserved word used as symbol:STACK”,說明STACK與系統(tǒng)默認標識符相同,改成STACK1即可。(3) 程序改正后,再一次點擊“運行”菜單欄里的“生成”和“運行”,生成zhaohao.exe文件(4) 在光標后輸入D或T,分別實現(xiàn)調(diào)用系統(tǒng)日期、時間功能。(5) 若在光標后輸入字符Q,則會出現(xiàn)如下字符串并退出程序INT 21H ;顯示BUF2中的字符串MOV AH,2AHINT 21H ;利用DOS的2AH功能來調(diào)用系統(tǒng)日期 MOV YEAR,CXMOV MON,DHMOV DAY,DLMOV DI,OFFS

6、ET BUFMOV AX,YEARMOV CX,4CALL DIVNUMCALL LISNUMCALL DIS1MOV AL,MONMOV AH,0MOV CL,2CALL DIVNUMCALL LISNUMCALL DIS1MOV AL,DAYMOV AH,0MOV CL,2CALL DIVNUMCALL LISNUMCALL ENTER1JMP START ; 分別定義時分秒數(shù)據(jù)寄存器 ;對年進行二進制轉(zhuǎn)換并存于寄存器中 ;輸出寄存器中的數(shù)據(jù) ;在年后加入分隔符-,將年與月分開;對月進行二進制轉(zhuǎn)換并存于寄存器中 ;輸出寄存器中的數(shù)據(jù) ;加入分隔符-,將月與日隔開 ;調(diào)用顯示字符子程序5.3

7、實驗結(jié)果雙擊RQSZ.exe,程序初始運行界面:如果按錯了鍵,會出現(xiàn)如下界面,沒任何反應(yīng),也不顯示任何信息:如果輸入正確如“D”將出現(xiàn)如下界面(每輸入一次就顯示一次系統(tǒng)日期):如果輸入正確如“T”將出現(xiàn)如下界面(每輸入一次就顯示一次系統(tǒng)時間):如果輸入“Q”,則退出以上界面。6總結(jié)1. 在完成課程設(shè)計過程中,我認識到平時基礎(chǔ)知識的重要性,只有能夠熟練的掌握才能在實驗過程中得心應(yīng)手,否則一步錯則整個試驗都會陷入困境,因而,嚴謹?shù)膽B(tài)度是試驗成功的重要保障!2. 通過這次課程設(shè)計,我們對各個函數(shù)以及語句有了進一步的了解,對各個語句的功能有了更深刻的認識和體會,平時上課的理論知識只是停留在理論的層面,

8、只有通過了這樣的試驗才能更好的體會到,做到了理論和實際的相結(jié)合,使理論知識真正運用到了實踐中去。在課程設(shè)計過程中,同組人員之間相互合作,共同研究使我更加堅信了團體的力量。在團體的共同協(xié)作和努力下,任何的難題都可以被解決!參考文獻1、微型計算機原理與接口技術(shù) 中國礦業(yè)大學(xué)出版社 李長青 主編2、匯編語言程序設(shè)計 科學(xué)出版社 盧中華等 主編3、微型計算機匯編語言程序設(shè)計 電子科學(xué)技術(shù)出版社 龍尚福 主編4、微機原理與匯編語言實用教程 清華大學(xué)出版社 王富榮 主編5、微機原理與接口技術(shù)課程設(shè)計 中南大學(xué)出版社 王南蘭 主編6、微機原理及應(yīng)用 西南交通大學(xué)出版社 晏寄夫 主編7、32位微機原理與接口技

9、術(shù) 化學(xué)工業(yè)出版社 馬興錄 主編8、微機原理與接口技術(shù) 電子科技大學(xué)出版社 倪繼烈 主編附錄:STACK1 SEGMENT STACKDW 200 DUP (?)STACK1 ENDSDATA SEGMENTSPACE DB 1000 DUP (' ')PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ')DB 6 DUP (' '),0BAH,26 DUP (20H),0BAH,6 DUP (' ')DB 6 DUP (' '),0C8

10、H,26 DUP (0CDH),0BCH,6 DUP (' ')DBUFFER DB 8 DUP (':'),12 DUP (' ')DBUFFER1 DB 20 DUP (' ')STR1 DB 0DH,0AH, 'PLEASE INPUT DATE(D) OR TIME(T) OR QUIT(Q): $'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK1START: MOV AX,0001H ;設(shè)置顯示方式為40*25彩色文本方式INT 1

11、0HMOV AX,DATAMOV DS,AXMOV ES,AXMOV BP,OFFSET SPACEMOV DX,0B00HMOV CX,1000MOV BX,0040HMOV AX,1300HINT 10HMOV BP,OFFSET PATTERN ;顯示矩形條MOV DX,0B00HMOV CX,120MOV BX,004EHMOV AX,1301HINT 10HLEA DX,STR1 ;顯示提示信息MOV AH,9INT 21HMOV AH,1 ;從鍵盤輸入單個字符INT 21HCMP AL,44H ;AL='D'?JNE ACALL DATE ;顯示系統(tǒng)日期A: CMP

12、 AL,54H ;AL='T'?JNE BCALL TIME ;顯示系統(tǒng)時間B: CMP AL,51H ;AL='Q'?JNE STARTMOV AH,4CH ;返回dos狀態(tài)INT 21HDATE PROC NEAR ;顯示日期子程序dis:MOV AH,2AH ;取日期INT 21HMOV SI,0MOV AX,CXMOV BX,100DIV BLMOV BL,AHCALL BCDASC1 ;日期數(shù)值轉(zhuǎn)換成相應(yīng)的ASCII碼字符MOV AL,BLCALL BCDASC1INC SIMOV AL,DHCALL BCDASC1INC SIMOV AL,DLCAL

13、L BCDASC1MOV BP,OFFSET DBUFFER1MOV DX,0C0DHMOV CX,20MOV BX,004EHMOV AX,1301HINT 10HMOV AH,02H ;設(shè)置光標位置MOV DX,0300HMOV BH,0INT 10HMOV BX,0018HREPEA: MOV CX,0FFFFH ;延時REPEAT:LOOP REPEATDEC BXJNZ REPEAMOV AH,01H ;讀鍵盤緩沖區(qū)字符到AL寄存器INT 16HJE disJMP STARTMOV AX,4C00HINT 21HRETDATE ENDPTIME PROC NEAR ;顯示時間子程序D

14、ISPLAY1:MOV SI,0MOV BX,100DIV BLMOV AH,2CH ;取時間INT 21HMOV AL,CHCALL BCDASC ;將時間數(shù)值轉(zhuǎn)換成ASCII碼字符INC SIMOV AL,CLCALL BCDASCINC SIMOV AL,DHCALL BCDASCMOV BP,OFFSET DBUFFERMOV DX,0C0DHMOV CX,20MOV BX,004EHMOV AX,1301HINT 10HMOV AH,02HMOV DX,0300HMOV BH,0INT 10HMOV BX,0018HRE: MOV CX,0FFFFHREA: LOOP READEC

15、BXJNZ REMOV AH,01HINT 16HJE DISPLAY1JMP STARTMOV AX,4C00HINT 21HRETTIME ENDPBCDASC PROC NEAR ;時間數(shù)值轉(zhuǎn)換成ASCII碼字符子程序PUSH BXCBWMOV BL,10DIV BLADD AL,'0'MOV DBUFFERSI,ALINC SIADD AH,'0'MOV DBUFFERSI,AHINC SIPOP BXRETBCDASC ENDPBCDASC1 PROC NEAR ;日期數(shù)值轉(zhuǎn)換成ASCII碼字符子程序PUSH BXCBWMOV BL,10DIV BLA

16、DD AL,'0'MOV DBUFFER1SI,ALINC SIADD AH,'0'MOV DBUFFER1SI,AHINC SIPOP BXRETBCDASC1 ENDPCODE ENDSEND STARTcursor equ 45H attrib equ 2fh code segment assume cs:code,ds:code start: jmp go oldcur dw ? OLD1C DW 2 DUP(?) NEWINT1C: PUSHF CALL DWORD PTR CS:OLD1C push ax PUSH BX PUSH CX PUSH D

17、X XOR BH,BH MOV AH,3 INT 10H MOV CS:OLDCUR,DX MOV AH,2 xor bh,bh MOV DX,CURSOR INT 10H MOV AH,2;讀取系統(tǒng)時鐘 INT 1AH PUSH DX PUSH CX POP BX PUSH BX CALL SHOWBYTE CALL SHOWCOLON POP BX XCHG BH,BL CALL SHOWBYTE CALL SHOWCOLON POP BX CALL SHOWBYTE MOV DX,CS:OLDCUR MOV AH,2 XOR BH,BH INT 10H POP DX POP CX POP

18、 BX POP AX IRET SHOWBYTE PROC NEAR PUSH BX MOV CL,4 MOV AL,BH SHR AL,CL ADD AL,30H CALL SHOW CALL CURMOVE POP BX MOV AL,BH AND AL,0FH ADD AL,30H CALL SHOW CALL CURMOVE RET SHOWBYTE ENDP SHOWCOLON PROC NEAR MOV AL,':' CALL SHOW CALL CURMOVE RET SHOWCOLON ENDP CURMOVE PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,3 MOV BH,0 INT 10H INC DL MOV AH,2 INT 10H POP DX POP CX POP BX POP AX RET CURMOVE ENDP SHOW PROC NEAR PUSH AX PUSH BX PUSH CX MOV AH,09H MOV BX,attrib MOV CX,1 INT 10H PO

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論