微機(jī)原理課程設(shè)計(jì)---電子時(shí)鐘_第1頁(yè)
已閱讀1頁(yè),還剩9頁(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>  一、課程設(shè)計(jì)的目的 </p><p>  對(duì)學(xué)生掌握知識(shí)的深度、運(yùn)用理論去處理問(wèn)題的能力、實(shí)驗(yàn)?zāi)芰Α⒄n程設(shè)計(jì)能力、書面及口頭表達(dá)能力進(jìn)行考核。</p><p>  匯編語(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)行一次

2、全面的訓(xùn)練。</p><p>  培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)獨(dú)立完成匯編程序課題的能力。使學(xué)生能夠較全面地鞏固和應(yīng)用課堂中所學(xué)的基本理論和程序設(shè)計(jì)方法,能夠較熟練地完成匯編語(yǔ)言程序的設(shè)計(jì)和調(diào)試。</p><p>  提高學(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)工程意

3、識(shí)和創(chuàng)新能力。培養(yǎng)學(xué)生勇于探索、嚴(yán)謹(jǐn)推理、實(shí)事求是、有錯(cuò)必改,用實(shí)踐來(lái)檢驗(yàn)理論,全方位考慮問(wèn)題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。</p><p><b>  二、設(shè)計(jì)任務(wù)與要求</b></p><p> ?。ㄒ唬?、課題名稱和內(nèi)容</p><p><b>  1.電子時(shí)鐘</b></p><p>  在出現(xiàn)

4、的提示信息中輸入大寫字母“D”,可在屏幕的中央以“年\月\日”的形式顯示系統(tǒng)當(dāng)前日期,;輸入大寫字母“T”,可在屏幕的中央以“時(shí):分:秒”的形式顯示系統(tǒng)當(dāng)前時(shí)間;輸入大寫字母“Q”,可結(jié)束程序。</p><p><b> ?。ǘ⒃O(shè)計(jì)要求</b></p><p>  1.根據(jù)設(shè)計(jì)內(nèi)容設(shè)計(jì)出硬件電路圖并作詳細(xì)的設(shè)計(jì)說(shuō)明,并繪制出電路圖。</p><

5、p>  2.畫出程序流程框圖,用匯編語(yǔ)言編寫相應(yīng)的控制程序。</p><p>  3.進(jìn)行系統(tǒng)的調(diào)試,完成加電仿真調(diào)試。</p><p>  4.寫出詳細(xì)的設(shè)計(jì)報(bào)告。</p><p><b>  三、總體方案設(shè)計(jì)</b></p><p>  1.主程序設(shè)計(jì)思想 </p><p>  此動(dòng)畫

6、程序要求結(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)其功能。</p><p>  用戶在出現(xiàn)的提示信息中輸入小寫字母“D”,馬上顯示系統(tǒng)當(dāng)前日期;輸入小寫字母“T”,馬上顯示系統(tǒng)當(dāng)前時(shí)間;輸入小寫字母“ Q”,則退出程序。</p><p>  主程

7、序主要實(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”相比較。相等則

8、正常退出,不等則說(shuō)明用戶輸入非法字符主程序返回到選擇界面用戶可以繼續(xù)選擇。</p><p><b>  程序設(shè)計(jì)思想</b></p><p>  在屏幕中央顯示提示信息(提示用戶輸入“D”或“T”或“Q”)。</p><p>  然后對(duì)用戶輸入的字母進(jìn)行判斷,利用分支程序分別調(diào)用不同的子程序。兩個(gè)子程序的功能分別是顯示當(dāng)前日期,顯示當(dāng)前時(shí)間。

9、 </p><p>  必須用到的DOS功能調(diào)用:</p><p>  調(diào)用字符輸入功能,21H中斷的1號(hào)功能,定義宏INPUT方便字符輸出;</p><p>  調(diào)用字符輸出功能,21H中斷的2號(hào)功能,定義宏OUTPUT方便字符輸出;</p><p>  調(diào)用光標(biāo)重定位功能,10H中斷的2號(hào)功能,定義宏SITE實(shí)現(xiàn)光標(biāo)定位;</p&g

10、t;<p>  宏定義GETAHAL獲取相應(yīng)數(shù)據(jù)到AH和AL中并轉(zhuǎn)換為字符。</p><p><b>  四、軟件設(shè)計(jì) </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;宏定義無(wú)參數(shù)的字符輸入功能</p><p>  MOV AH, 01H;系統(tǒng)調(diào)用 輸入一個(gè)字符用于功能選擇</p><p>  INT 21H;字符默認(rèn)輸入到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>  ;宏定義 光標(biāo)跳轉(zhuǎn)到指定的位置</p><p>  SITEMACROsiteC, siteL;光標(biāo)位置跳轉(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 ;行號(hào)</p><p>  MOV DL, siteL ;列號(hào)</p><p>  MOV AH, 02H</p><p>  INT

21、10H ;在當(dāng)前光標(biāo)處顯示字符</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可依次獲得 年/月/日 時(shí):分:秒,每次獲得的8位數(shù)值高4位和低4位各代表一個(gè)數(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)容同時(shí)送至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ù)值對(duì)應(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;移動(dòng)光標(biāo)</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;其他輸入時(shí)跳轉(zhuǎn)開(kāi)始</p><p>  DATE:GETAHAL 9;輸出年</p><p&

30、gt;  SITE 12, 31;將光標(biāo)移動(dòng)至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;移動(dòng)光標(biāo)</p><p><b>  JMP PPP</b></p><p><b>  TIME:

34、</b></p><p>  GETAHAL 4;輸出時(shí)</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;移動(dòng)光標(biāo)</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.程序運(yùn)行界面</b></p><p><b>  (1)顯示日期</b></p><p><b>  顯示時(shí)間</b></p><p><b> ?。?)退出系統(tǒng)</b></p><p><b>  五、小結(jié)</b>

40、</p><p>  通過(guò)對(duì)這一鬧鐘程序的制作,使我們對(duì)匯編語(yǔ)言的基本知識(shí)的使用更加熟練,同時(shí)也增加了對(duì)匯編語(yǔ)言的一些認(rèn)識(shí),在作業(yè)完成過(guò)程中通過(guò)和同學(xué)的交流,也增加了合作的技巧。通過(guò)查閱以下資料也學(xué)到了一些課本上沒(méi)有的東西,拓寬了知識(shí)面,增加了學(xué)好匯編語(yǔ)言的信心。 </p><p>  這不是第一次用匯編語(yǔ)言來(lái)設(shè)計(jì)一個(gè)小程序,平時(shí)做了很多實(shí)驗(yàn),寫了很多小程序。但這次是一個(gè)綜合的程序,平時(shí)的

41、很多程序都用到了,例如在程序中用到了不少的子程序,宏,這些子程序的設(shè)計(jì)是固定的,因此可以直接從指導(dǎo)資料中調(diào)用,大多只需要修改幾個(gè)參數(shù)就可以,這大大方便了我們的設(shè)計(jì),為我們節(jié)省了很多的時(shí)間。</p><p>  在這次課程設(shè)計(jì)中,我們真正體會(huì)到了合作的重要性,遇到很多問(wèn)題時(shí)和同學(xué)討論一下,收獲很大,可以使很多問(wèn)題迎刃而解。這次課程設(shè)計(jì)的大部分程序,不可否認(rèn)存在不少缺點(diǎn)和不足,但通過(guò)這次作業(yè)的卻找出了自己在學(xué)習(xí)上的不

42、足,對(duì)以后的工作也有指導(dǎo)作用。我們相信在以后的學(xué)習(xí)中會(huì)克服這些不足,達(dá)到熟練掌握匯編語(yǔ)言的目的!</p><p><b>  六、參考資料</b></p><p>  1.《匯編語(yǔ)言程序設(shè)計(jì)》 各種版本</p><p>  2.《微型計(jì)算機(jī)原理與接口技術(shù)》 吳秀清 周荷琴 編著 中國(guó)科學(xué)技術(shù)大學(xué)出版社</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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論