微機(jī)原理課程設(shè)計(jì) 電子時(shí)鐘.doc_第1頁(yè)
微機(jī)原理課程設(shè)計(jì) 電子時(shí)鐘.doc_第2頁(yè)
微機(jī)原理課程設(shè)計(jì) 電子時(shí)鐘.doc_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余7頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

一、課程設(shè)計(jì)的目的 對(duì)學(xué)生掌握知識(shí)的深度、運(yùn)用理論去處理問(wèn)題的能力、實(shí)驗(yàn)?zāi)芰?、課程設(shè)計(jì)能力、書(shū)面及口頭表達(dá)能力進(jìn)行考核。匯編語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)是在教學(xué)實(shí)踐基礎(chǔ)上進(jìn)行的一次大型實(shí)驗(yàn),也是對(duì)該課程所學(xué)理論知識(shí)的深化和提高。因此,要求學(xué)生能綜合應(yīng)用所學(xué)知識(shí),設(shè)計(jì)與制造出具有較復(fù)雜功能的應(yīng)用系統(tǒng),并且在實(shí)驗(yàn)的基本技能方面上進(jìn)行一次全面的訓(xùn)練。培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)獨(dú)立完成匯編程序課題的能力。使學(xué)生能夠較全面地鞏固和應(yīng)用課堂中所學(xué)的基本理論和程序設(shè)計(jì)方法,能夠較熟練地完成匯編語(yǔ)言程序的設(shè)計(jì)和調(diào)試。提高學(xué)生對(duì)工作認(rèn)真負(fù)責(zé)、一絲不茍,對(duì)同學(xué)團(tuán)結(jié)友愛(ài),協(xié)作攻關(guān)的基本素質(zhì)。培養(yǎng)學(xué)生從資料文獻(xiàn)、科學(xué)實(shí)驗(yàn)中獲得知識(shí)的能力,提高學(xué)生從別人經(jīng)驗(yàn)中找到解決問(wèn)題的新途徑的悟性,初步培養(yǎng)工程意識(shí)和創(chuàng)新能力。培養(yǎng)學(xué)生勇于探索、嚴(yán)謹(jǐn)推理、實(shí)事求是、有錯(cuò)必改,用實(shí)踐來(lái)檢驗(yàn)理論,全方位考慮問(wèn)題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。 二、設(shè)計(jì)任務(wù)與要求(一)、課題名稱和內(nèi)容1.電子時(shí)鐘在出現(xiàn)的提示信息中輸入大寫(xiě)字母“D”,可在屏幕的中央以“年月日”的形式顯示系統(tǒng)當(dāng)前日期,;輸入大寫(xiě)字母“T”,可在屏幕的中央以“時(shí):分:秒”的形式顯示系統(tǒng)當(dāng)前時(shí)間;輸入大寫(xiě)字母“Q”,可結(jié)束程序。 (二)、設(shè)計(jì)要求1.根據(jù)設(shè)計(jì)內(nèi)容設(shè)計(jì)出硬件電路圖并作詳細(xì)的設(shè)計(jì)說(shuō)明,并繪制出電路圖。2.畫(huà)出程序流程框圖,用匯編語(yǔ)言編寫(xiě)相應(yīng)的控制程序。3.進(jìn)行系統(tǒng)的調(diào)試,完成加電仿真調(diào)試。4.寫(xiě)出詳細(xì)的設(shè)計(jì)報(bào)告。三、總體方案設(shè)計(jì)1.主程序設(shè)計(jì)思想 此動(dòng)畫(huà)程序要求結(jié)構(gòu)化的顯示系統(tǒng)時(shí)間和日期。程序要求能多次執(zhí)行以上兩種操作并有退出選項(xiàng)。則我們可以設(shè)計(jì)三個(gè)選項(xiàng)以供用戶選擇:D-DATE、T-TIME和Q-QUIT退出程序。三個(gè)選項(xiàng)分別可以用三個(gè)過(guò)程實(shí)現(xiàn)其功能。 用戶在出現(xiàn)的提示信息中輸入小寫(xiě)字母“D”,馬上顯示系統(tǒng)當(dāng)前日期;輸入小寫(xiě)字母“T”,馬上顯示系統(tǒng)當(dāng)前時(shí)間;輸入小寫(xiě)字母“ Q”,則退出程序。 主程序主要實(shí)現(xiàn)與用戶的交互,首先程序會(huì)提示用戶想要進(jìn)行什么操作。是顯示DATE,TIME還是退出。這里對(duì)應(yīng)的給用戶提供的選項(xiàng)是“D”、“T”和“Q”。當(dāng)用戶輸入他們的選項(xiàng)之后,主程序要判斷用戶的輸入調(diào)用相應(yīng)的功能模塊來(lái)滿足用戶的要求。我們假設(shè)用戶輸入字符為X,那么首先我們將X與“D”比較。如果相同則程序調(diào)用DATE模塊為用戶顯示日期。若不為“D”則要繼續(xù)與“T”想比較。相等則調(diào)用TIME_DISPLAY模塊,不等則繼續(xù)與“Q”相比較。相等則正常退出,不等則說(shuō)明用戶輸入非法字符主程序返回到選擇界面用戶可以繼續(xù)選擇。2. 程序設(shè)計(jì)思想l 在屏幕中央顯示提示信息(提示用戶輸入“D”或“T”或“Q”)。l 然后對(duì)用戶輸入的字母進(jìn)行判斷,利用分支程序分別調(diào)用不同的子程序。兩個(gè)子程序的功能分別是顯示當(dāng)前日期,顯示當(dāng)前時(shí)間。 必須用到的DOS功能調(diào)用:1. 調(diào)用字符輸入功能,21H中斷的1號(hào)功能,定義宏INPUT方便字符輸出;2. 調(diào)用字符輸出功能,21H中斷的2號(hào)功能,定義宏OUTPUT方便字符輸出;3. 調(diào)用光標(biāo)重定位功能,10H中斷的2號(hào)功能,定義宏SITE實(shí)現(xiàn)光標(biāo)定位;4. 宏定義GETAHAL獲取相應(yīng)數(shù)據(jù)到AH和AL中并轉(zhuǎn)換為字符。 四、軟件設(shè)計(jì) 1.主程序流程圖 NNYNY顯示提示信息輸入一個(gè)字符是否為D 調(diào)用DATE調(diào)用TIME是否為T(mén) 是否為Q結(jié)束YN開(kāi)始(1) DATE子程序流程圖 AH保留數(shù)值的高四位 AL保留數(shù)值的低四位 將高四位和低四位的數(shù)值分 別轉(zhuǎn)化為數(shù)值對(duì)應(yīng)的字符 開(kāi)始 獲取數(shù)據(jù)將端口71H的內(nèi)容同時(shí)送到AH和AL中 將數(shù)據(jù)送到端口70H 調(diào)用DATE程序輸出日期 結(jié)束(2) TIME子程序流程圖 AH保留數(shù)值的高四位 AL保留數(shù)值的低四位 將高四位和低四位的數(shù)值分 別轉(zhuǎn)化為數(shù)值對(duì)應(yīng)的字符 開(kāi)始 獲取數(shù)據(jù)將端口71H的內(nèi)容同時(shí)送到AH和AL中 將數(shù)據(jù)送到端口70H 調(diào)用TIME程序輸出時(shí)間 結(jié)束2.源程序清單與注釋DATAS SEGMENT ;定義數(shù)據(jù)段WELCOMEDB 0AH, 0DH, * DB 0AH, 0DH,WELCOME YOU TO COME HERE! ;提示界面 DB 0AH, 0DH,please input D T or Q to show data time OR exit! DB 0AH, 0DH,D:display system data: DB 0AH, 0DH,T:display system time: DB 0AH, 0DH,Q:quit. DB 0AH, 0DH,please input the char: DB 0AH, 0DH,*, 0AH, 0DH,$DATAS ENDS CODESSEGMENTASSUMECS: CODES, DS:DATAS;宏定義 字符輸入INPUTMACRO;宏定義無(wú)參數(shù)的字符輸入功能MOV AH, 01H;系統(tǒng)調(diào)用 輸入一個(gè)字符用于功能選擇INT 21H;字符默認(rèn)輸入到AL中ENDM;宏定義 字符輸出OUTPUTMACROoutchar;宏定義 將字符outchar輸出PUSH DXPUSH AXMOV DL, outcharMOV AH, 02H;系統(tǒng)調(diào)用 輸出字符outcharINT 21H;調(diào)用系統(tǒng)中斷POP AXPOP DXENDM;宏定義 光標(biāo)跳轉(zhuǎn)到指定的位置SITEMACROsiteC, siteL;光標(biāo)位置跳轉(zhuǎn)到C行L列PUSH DXPUSH BXPUSH AXMOV DH, siteC ;行號(hào)MOV DL, siteL ;列號(hào)MOV AH, 02HINT 10H ;在當(dāng)前光標(biāo)處顯示字符POP AXPOP BXPOP DXENDM;宏定義 獲取相應(yīng)數(shù)據(jù)到AH和AL中并轉(zhuǎn)換為字符GETAHALMACRO ctrlNum;將987 420 依次送至端口70H,從端口71H可依次獲得 年/月/日 時(shí):分:秒,每次獲得的8位數(shù)值高4位和低4位各代表一個(gè)數(shù)值MOV AL, ctrlNum OUT 70H, AL ;將控制數(shù)ctrlNum送至控制端口70H,由71H端口輸出相應(yīng)數(shù)據(jù)IN AL, 71H ;將端口71H的內(nèi)容同時(shí)送至AH和AL中MOV AH, ALMOV CL, 4SHR AH, CL;AH保留數(shù)值的高4位AND AL, 00001111B;AL保留數(shù)值的低4位ADD AH, 30H;將高4位的數(shù)值轉(zhuǎn)換為數(shù)值對(duì)應(yīng)的字符ADD AL, 30H;將低4位轉(zhuǎn)換字符ENDMSTART:MOV AX, DATAS;將數(shù)據(jù)段地址送到AX中MOV DS, AX;由AX轉(zhuǎn)送到送到DSLEA DX,WELCOMEMOV AH,9INT 21HPPP:SITE 15, 31;移動(dòng)光標(biāo)INPUTCMP AL, DJE DATECMP AL, TJE TIMECMP AL, QJE QUITCMP AL, d;小寫(xiě)輸入支持JE DATECMP AL, tJE TIMECMP AL, qJE QUITJMP PPP;其他輸入時(shí)跳轉(zhuǎn)開(kāi)始DATE:GETAHAL 9;輸出年SITE 12, 31;將光標(biāo)移動(dòng)至12行31列OUTPUT AHSITE 12, 32OUTPUT ALSITE 12, 33OUTPUT /GETAHAL 8;輸出月SITE 12, 34OUTPUT AHSITE 12, 35OUTPUT ALSITE 12, 36OUTPUT /GETAHAL 7;輸出日SITE 12, 37OUTPUT AHSITE 12, 38OUTPUT ALSITE 15, 31;移動(dòng)光標(biāo)JMP PPPTIME:GETAHAL 4;輸出時(shí)SITE 12, 31OUTPUT AHSITE 12, 32OUTPUT ALSITE 12, 33OUTPUT :GETAHAL 2;輸出分SITE 12, 34OUTPUT AHSITE 12, 35OUTPUT ALSITE 12, 36OUTPUT :GETAHAL 0;輸出秒SITE 12, 37OUTPUT AHSITE 12, 38OUTPUT ALSITE 15, 31;移動(dòng)光標(biāo)JMP PPPQUIT:MOV AH, 4CH;調(diào)用 系統(tǒng)結(jié)束INT 21HCODESENDSEND START3.程序運(yùn)行界面 (1)顯示日期(2) 顯示時(shí)間(3)退出系統(tǒng)五、小結(jié) 通過(guò)對(duì)這一鬧鐘程序的制作,使我們對(duì)匯編語(yǔ)言的基本知識(shí)的使用更加熟練,同時(shí)也增加了對(duì)匯編語(yǔ)言的一些認(rèn)識(shí),在作業(yè)完成過(guò)程中通過(guò)和同學(xué)的交流,也增加了合作的技巧。通過(guò)查閱以下資料也學(xué)到了一些課本上沒(méi)有的東西,拓寬了知識(shí)面,增加了學(xué)好匯編語(yǔ)言的信心。 這不是第一次用匯編語(yǔ)言來(lái)設(shè)計(jì)一個(gè)小程序,平時(shí)做了很多實(shí)驗(yàn),寫(xiě)了很多小程序。但這次是一個(gè)綜合的程序,平時(shí)的很多程序都用到了,例如在程序中用到了不少的子程序,宏,這些子程序的設(shè)計(jì)是固定的,因此可以直接從指導(dǎo)資料中調(diào)用,大多只需要修改幾個(gè)參數(shù)就可以,這大大方便了我們的設(shè)計(jì),為我們節(jié)省了很多的時(shí)間。 在這次課程設(shè)計(jì)中,我們真正體會(huì)到了合作的重要性,遇到很多問(wèn)題時(shí)和同學(xué)

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論