版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 一、課程設(shè)計的目的 </p><p> 對學(xué)生掌握知識的深度、運用理論去處理問題的能力、實驗?zāi)芰?、課程設(shè)計能力、書面及口頭表達能力進行考核。</p><p> 匯編語言程序設(shè)計課程設(shè)計是在教學(xué)實踐基礎(chǔ)上進行的一次大型實驗,也是對該課程所學(xué)理論知識的深化和提高。因此,要求學(xué)生能綜合應(yīng)用所學(xué)知識,設(shè)計與制造出具有較復(fù)雜功能的應(yīng)用系統(tǒng),并且在實驗的基本技能方面上進行一次
2、全面的訓(xùn)練。</p><p> 培養(yǎng)學(xué)生綜合運用所學(xué)知識獨立完成匯編程序課題的能力。使學(xué)生能夠較全面地鞏固和應(yīng)用課堂中所學(xué)的基本理論和程序設(shè)計方法,能夠較熟練地完成匯編語言程序的設(shè)計和調(diào)試。</p><p> 提高學(xué)生對工作認真負責、一絲不茍,對同學(xué)團結(jié)友愛,協(xié)作攻關(guān)的基本素質(zhì)。培養(yǎng)學(xué)生從資料文獻、科學(xué)實驗中獲得知識的能力,提高學(xué)生從別人經(jīng)驗中找到解決問題的新途徑的悟性,初步培養(yǎng)工程意
3、識和創(chuàng)新能力。培養(yǎng)學(xué)生勇于探索、嚴謹推理、實事求是、有錯必改,用實踐來檢驗理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。</p><p><b> 二、設(shè)計任務(wù)與要求</b></p><p> ?。ㄒ唬?、課題名稱和內(nèi)容</p><p><b> 1.電子時鐘</b></p><p> 在出現(xiàn)
4、的提示信息中輸入大寫字母“D”,可在屏幕的中央以“年\月\日”的形式顯示系統(tǒng)當前日期,;輸入大寫字母“T”,可在屏幕的中央以“時:分:秒”的形式顯示系統(tǒng)當前時間;輸入大寫字母“Q”,可結(jié)束程序。</p><p><b> ?。ǘ?、設(shè)計要求</b></p><p> 1.根據(jù)設(shè)計內(nèi)容設(shè)計出硬件電路圖并作詳細的設(shè)計說明,并繪制出電路圖。</p><
5、p> 2.畫出程序流程框圖,用匯編語言編寫相應(yīng)的控制程序。</p><p> 3.進行系統(tǒng)的調(diào)試,完成加電仿真調(diào)試。</p><p> 4.寫出詳細的設(shè)計報告。</p><p><b> 三、總體方案設(shè)計</b></p><p> 1.主程序設(shè)計思想 </p><p> 此動畫
6、程序要求結(jié)構(gòu)化的顯示系統(tǒng)時間和日期。程序要求能多次執(zhí)行以上兩種操作并有退出選項。則我們可以設(shè)計三個選項以供用戶選擇:D-DATE、T-TIME和Q-QUIT退出程序。三個選項分別可以用三個過程實現(xiàn)其功能。</p><p> 用戶在出現(xiàn)的提示信息中輸入小寫字母“D”,馬上顯示系統(tǒng)當前日期;輸入小寫字母“T”,馬上顯示系統(tǒng)當前時間;輸入小寫字母“ Q”,則退出程序。</p><p> 主程
7、序主要實現(xiàn)與用戶的交互,首先程序會提示用戶想要進行什么操作。是顯示DATE,TIME還是退出。這里對應(yīng)的給用戶提供的選項是“D”、“T”和“Q”。當用戶輸入他們的選項之后,主程序要判斷用戶的輸入調(diào)用相應(yīng)的功能模塊來滿足用戶的要求。我們假設(shè)用戶輸入字符為X,那么首先我們將X與“D”比較。如果相同則程序調(diào)用DATE模塊為用戶顯示日期。若不為“D”則要繼續(xù)與“T”想比較。相等則調(diào)用TIME_DISPLAY模塊,不等則繼續(xù)與“Q”相比較。相等則
8、正常退出,不等則說明用戶輸入非法字符主程序返回到選擇界面用戶可以繼續(xù)選擇。</p><p><b> 程序設(shè)計思想</b></p><p> 在屏幕中央顯示提示信息(提示用戶輸入“D”或“T”或“Q”)。</p><p> 然后對用戶輸入的字母進行判斷,利用分支程序分別調(diào)用不同的子程序。兩個子程序的功能分別是顯示當前日期,顯示當前時間。
9、 </p><p> 必須用到的DOS功能調(diào)用:</p><p> 調(diào)用字符輸入功能,21H中斷的1號功能,定義宏INPUT方便字符輸出;</p><p> 調(diào)用字符輸出功能,21H中斷的2號功能,定義宏OUTPUT方便字符輸出;</p><p> 調(diào)用光標重定位功能,10H中斷的2號功能,定義宏SITE實現(xiàn)光標定位;</p&g
10、t;<p> 宏定義GETAHAL獲取相應(yīng)數(shù)據(jù)到AH和AL中并轉(zhuǎn)換為字符。</p><p><b> 四、軟件設(shè)計 </b></p><p> 1.主程序流程圖 </p><p> (1) DATE子程序流程圖</p>&l
11、t;p> (2) TIME子程序流程圖</p><p> 2.源程序清單與注釋</p><p> DATAS SEGMENT ;定義數(shù)據(jù)段</p><p> WELCOMEDB 0AH, 0DH, '*******************************
12、**************************'</p><p> DB 0AH, 0DH,'WELCOME YOU TO COME HERE!' ;提示界面 </p><p> DB 0AH, 0DH,'please input "D" "T" or "Q" t
13、o show data time OR exit!'</p><p> DB 0AH, 0DH,'D:display system data:' </p><p> DB 0AH, 0DH,'T:display system time:' </p><p> DB 0AH, 0DH,'Q
14、:quit.' </p><p> DB 0AH, 0DH,'please input the char:' </p><p> DB 0AH, 0DH,'*******************************************************
15、**', 0AH, 0DH,'$'</p><p> DATAS ENDS </p><p> CODESSEGMENT</p><p> ASSUMECS: CODES, DS:DATAS</p><p><b>
16、;宏定義 字符輸入</b></p><p> INPUTMACRO;宏定義無參數(shù)的字符輸入功能</p><p> MOV AH, 01H;系統(tǒng)調(diào)用 輸入一個字符用于功能選擇</p><p> INT 21H;字符默認輸入到AL中</p><p><b> ENDM</b>
17、</p><p><b> ;宏定義 字符輸出</b></p><p> OUTPUTMACROoutchar;宏定義 將字符outchar輸出</p><p><b> PUSH DX</b></p><p><b> PUSH AX</b></p&g
18、t;<p> MOV DL, outchar</p><p> MOV AH, 02H;系統(tǒng)調(diào)用 輸出字符outchar</p><p> INT 21H;調(diào)用系統(tǒng)中斷</p><p><b> POP AX</b></p><p><b> POP DX</b&
19、gt;</p><p><b> ENDM</b></p><p> ;宏定義 光標跳轉(zhuǎn)到指定的位置</p><p> SITEMACROsiteC, siteL;光標位置跳轉(zhuǎn)到C行L列</p><p><b> PUSH DX</b></p><p><
20、b> PUSH BX</b></p><p><b> PUSH AX</b></p><p> MOV DH, siteC ;行號</p><p> MOV DL, siteL ;列號</p><p> MOV AH, 02H</p><p> INT
21、10H ;在當前光標處顯示字符</p><p><b> POP AX</b></p><p><b> POP BX</b></p><p><b> POP DX</b></p><p><b> ENDM</b></
22、p><p> ;宏定義 獲取相應(yīng)數(shù)據(jù)到AH和AL中并轉(zhuǎn)換為字符</p><p> GETAHALMACRO ctrlNum;將987 420 依次送至端口70H,從端口71H可依次獲得 年/月/日 時:分:秒,每次獲得的8位數(shù)值高4位和低4位各代表一個數(shù)值</p><p> MOV AL, ctrlNum </p><p>
23、OUT 70H, AL ;將控制數(shù)ctrlNum送至控制端口70H,由71H端口輸出相應(yīng)數(shù)據(jù)</p><p> IN AL, 71H ;將端口71H的內(nèi)容同時送至AH和AL中</p><p> MOV AH, AL</p><p><b> MOV CL, 4</b></p><p> SHR
24、AH, CL;AH保留數(shù)值的高4位</p><p> AND AL, 00001111B;AL保留數(shù)值的低4位</p><p> ADD AH, 30H;將高4位的數(shù)值轉(zhuǎn)換為數(shù)值對應(yīng)的字符</p><p> ADD AL, 30H;將低4位轉(zhuǎn)換字符</p><p><b> ENDM<
25、;/b></p><p><b> START:</b></p><p> MOV AX, DATAS;將數(shù)據(jù)段地址送到AX中</p><p> MOV DS, AX;;由AX轉(zhuǎn)送到送到DS</p><p> LEA DX,WELCOME</p><p><
26、;b> MOV AH,9</b></p><p><b> INT 21H</b></p><p><b> PPP:</b></p><p> SITE 15, 31;移動光標</p><p><b> INPUT</b></p&g
27、t;<p> CMP AL, 'D'</p><p><b> JE DATE</b></p><p> CMP AL, 'T'</p><p><b> JE TIME</b></p><p> CMP AL, 'Q'<
28、/p><p><b> JE QUIT</b></p><p> CMP AL, 'd';小寫輸入支持</p><p><b> JE DATE</b></p><p> CMP AL, 't'</p><p><b>
29、 JE TIME</b></p><p> CMP AL, 'q'</p><p><b> JE QUIT</b></p><p> JMP PPP;其他輸入時跳轉(zhuǎn)開始</p><p> DATE:GETAHAL 9;輸出年</p><p&
30、gt; SITE 12, 31;將光標移動至12行31列</p><p><b> OUTPUT AH</b></p><p> SITE 12, 32</p><p><b> OUTPUT AL</b></p><p> SITE 12, 33</p>&l
31、t;p> OUTPUT '/'</p><p> GETAHAL 8;輸出月</p><p> SITE 12, 34</p><p><b> OUTPUT AH</b></p><p> SITE 12, 35</p><p><b>
32、 OUTPUT AL</b></p><p> SITE 12, 36</p><p> OUTPUT '/'</p><p> GETAHAL 7;輸出日</p><p> SITE 12, 37</p><p><b> OUTPUT AH</b&
33、gt;</p><p> SITE 12, 38</p><p><b> OUTPUT AL</b></p><p> SITE 15, 31;移動光標</p><p><b> JMP PPP</b></p><p><b> TIME:
34、</b></p><p> GETAHAL 4;輸出時</p><p> SITE 12, 31</p><p><b> OUTPUT AH</b></p><p> SITE 12, 32</p><p><b> OUTPUT AL</b&
35、gt;</p><p> SITE 12, 33</p><p> OUTPUT ':'</p><p> GETAHAL 2;輸出分</p><p> SITE 12, 34</p><p><b> OUTPUT AH</b></p>&l
36、t;p> SITE 12, 35</p><p><b> OUTPUT AL</b></p><p> SITE 12, 36</p><p> OUTPUT ':'</p><p> GETAHAL 0;輸出秒</p><p> SITE 12,
37、 37</p><p><b> OUTPUT AH</b></p><p> SITE 12, 38</p><p><b> OUTPUT AL</b></p><p> SITE 15, 31;移動光標</p><p><b> JMP
38、 PPP</b></p><p> QUIT:MOV AH, 4CH;調(diào)用 系統(tǒng)結(jié)束</p><p><b> INT 21H</b></p><p> CODESENDS</p><p><b> END START</b></p><p>
39、;<b> 3.程序運行界面</b></p><p><b> (1)顯示日期</b></p><p><b> 顯示時間</b></p><p><b> ?。?)退出系統(tǒng)</b></p><p><b> 五、小結(jié)</b>
40、</p><p> 通過對這一鬧鐘程序的制作,使我們對匯編語言的基本知識的使用更加熟練,同時也增加了對匯編語言的一些認識,在作業(yè)完成過程中通過和同學(xué)的交流,也增加了合作的技巧。通過查閱以下資料也學(xué)到了一些課本上沒有的東西,拓寬了知識面,增加了學(xué)好匯編語言的信心。 </p><p> 這不是第一次用匯編語言來設(shè)計一個小程序,平時做了很多實驗,寫了很多小程序。但這次是一個綜合的程序,平時的
41、很多程序都用到了,例如在程序中用到了不少的子程序,宏,這些子程序的設(shè)計是固定的,因此可以直接從指導(dǎo)資料中調(diào)用,大多只需要修改幾個參數(shù)就可以,這大大方便了我們的設(shè)計,為我們節(jié)省了很多的時間。</p><p> 在這次課程設(shè)計中,我們真正體會到了合作的重要性,遇到很多問題時和同學(xué)討論一下,收獲很大,可以使很多問題迎刃而解。這次課程設(shè)計的大部分程序,不可否認存在不少缺點和不足,但通過這次作業(yè)的卻找出了自己在學(xué)習(xí)上的不
42、足,對以后的工作也有指導(dǎo)作用。我們相信在以后的學(xué)習(xí)中會克服這些不足,達到熟練掌握匯編語言的目的!</p><p><b> 六、參考資料</b></p><p> 1.《匯編語言程序設(shè)計》 各種版本</p><p> 2.《微型計算機原理與接口技術(shù)》 吳秀清 周荷琴 編著 中國科學(xué)技術(shù)大學(xué)出版社</p><p&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《電子時鐘》微機原理課程設(shè)計
- 微機原理課程設(shè)計(電子時鐘)
- 基于微機原理電子時鐘課程設(shè)計
- 電子時鐘課程設(shè)計
- 電子時鐘 課程設(shè)計
- 電子時鐘課程設(shè)計
- 電子時鐘課程設(shè)計
- 課程設(shè)計--電子時鐘
- 電子時鐘課程設(shè)計--數(shù)字電子時鐘焊接調(diào)試報告
- 課程設(shè)計----電子時鐘設(shè)計
- 電子時鐘接口課程設(shè)計
- 電子時鐘課程設(shè)計 (2)
- 電子時鐘課程設(shè)計2
- led電子時鐘課程設(shè)計
- 電子時鐘課程設(shè)計報告
- eda課程設(shè)計---電子時鐘
- 電子時鐘課程設(shè)計 (2)
- 數(shù)字電子時鐘課程設(shè)計
- 數(shù)字電子時鐘課程設(shè)計
- eda課程設(shè)計--電子時鐘
評論
0/150
提交評論