微機(jī)原理課設(shè)

微機(jī)原理課設(shè)

ID:41268065

大?。?.47 MB

頁(yè)數(shù):66頁(yè)

時(shí)間:2019-08-20

微機(jī)原理課設(shè)_第1頁(yè)
微機(jī)原理課設(shè)_第2頁(yè)
微機(jī)原理課設(shè)_第3頁(yè)
微機(jī)原理課設(shè)_第4頁(yè)
微機(jī)原理課設(shè)_第5頁(yè)
資源描述:

《微機(jī)原理課設(shè)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。

1、目錄摘要I1設(shè)計(jì)任務(wù)及其分析11.1設(shè)計(jì)任務(wù)11.2設(shè)計(jì)任務(wù)分析12.方案論證與比較12.1程序編寫方式12.2字母隨機(jī)產(chǎn)生的方式23.系統(tǒng)原理闡述24.軟件設(shè)計(jì)說(shuō)明34.1主程序流程圖34.4游戲界面64.4.1游戲前的提示界面64.4.2游戲界面的初始化74.5字母下落控制84.5.1字母隨機(jī)選取84.5.2字母下落延時(shí)94.5.3游戲輸入響應(yīng)104.5.4字母下落程序段114.6隨機(jī)字母補(bǔ)充HIT134.7游戲暫停函數(shù)PAUSEE144.8字母消失程序段144.8.1字母消失總流程圖144.8.2字母高亮顏色選擇Color_Select函數(shù)154.8.

2、3發(fā)聲程序Sound2函數(shù)164.8.4字母消失函數(shù)Disappear函數(shù)174.9游戲結(jié)束結(jié)果顯示函數(shù)DISP184.10難度選擇函數(shù)195.程序調(diào)試與運(yùn)行記錄205.1主界面畫面205.2主界面輸入的錯(cuò)誤提示215.3游戲運(yùn)行的畫面225.4難度選擇界面23參考資料25附錄26摘要II指法練習(xí)程序完成了鍵盤指法練習(xí)功能,通過(guò)匯編語(yǔ)言的編程實(shí)現(xiàn)字母的隨機(jī)產(chǎn)生、落下、消失、以及發(fā)聲功能,并且完成了通過(guò)鍵盤來(lái)控制游戲的開始、暫停、結(jié)束等功能,完成了人機(jī)交互界面的編程。除此以外,整個(gè)程序采用模塊化設(shè)計(jì),增強(qiáng)了可讀性。通過(guò)這一次課程設(shè)計(jì),更加深刻理解了匯編的基礎(chǔ)知

3、識(shí)和編寫調(diào)試程序的基本方法。關(guān)鍵詞:指法練習(xí),匯編,模塊化II1設(shè)計(jì)任務(wù)及其分析1.1設(shè)計(jì)任務(wù)1.從屏幕上方以一定的時(shí)間間隔隨機(jī)落下可顯示字符,字符的出現(xiàn)位置亦是隨機(jī)的;2.在多個(gè)字符下落的過(guò)程中可輸入任意鍵,若鍵入與其中的任意一個(gè)字符相匹配的鍵,則該字符高亮顯示并發(fā)出蜂鳴聲,同時(shí)計(jì)分;3.按ESC鍵結(jié)束練習(xí)并顯示命中率;4.按Q鍵退出。1.2設(shè)計(jì)任務(wù)分析根據(jù)任務(wù)的要求可以分析得出在程序應(yīng)有的各個(gè)功能模塊:1、字母的隨機(jī)出現(xiàn)與顯示;2、字母自動(dòng)下落顯示;3、鍵盤輸入正確時(shí)字母消失;4、字母消失時(shí)的字符高亮;5、字母消失時(shí)的蜂鳴發(fā)聲;6、命中率計(jì)算程序與計(jì)分程

4、序。同時(shí)在還應(yīng)滿足:1、游戲時(shí)按Q鍵退出;2、在任何情況下按ESC鍵后退,當(dāng)顯示界面為主界面時(shí),退出程序。本程序在要求的基礎(chǔ)擬添加以下功能:1、游戲難度選擇;2、錯(cuò)誤輸入提示;3、字符高亮的顏色變化;4、得分的實(shí)時(shí)顯示。2.方案論證與比較2.1程序編寫方式方式1:僅利用簡(jiǎn)單的系統(tǒng)符號(hào)指令完成程序優(yōu)點(diǎn):指令簡(jiǎn)單,易于理解63缺點(diǎn):過(guò)多的轉(zhuǎn)跳會(huì)導(dǎo)致程序可讀性降低方式2:利用宏定義和函數(shù)定義的模塊化程序設(shè)計(jì)優(yōu)點(diǎn):程序?qū)崿F(xiàn)模塊化,可讀性高缺點(diǎn):指令難度偏大根據(jù)要求的以及預(yù)想的功能實(shí)現(xiàn),程序需要實(shí)現(xiàn)的功能模塊達(dá)到10個(gè)之多,用方式1編程必然使程序雜亂不易讀,所以決定選

5、擇方式2來(lái)進(jìn)行編程。2.2字母隨機(jī)產(chǎn)生的方式方式1:讀取系統(tǒng)時(shí)間的秒位作為選擇基數(shù)優(yōu)點(diǎn):結(jié)果近似隨機(jī)缺點(diǎn):秒位時(shí)間過(guò)長(zhǎng),有可能導(dǎo)致隨機(jī)失敗方式2:讀取系統(tǒng)時(shí)間的1/100秒位作為選擇基數(shù)優(yōu)點(diǎn):相對(duì)打字游戲來(lái)說(shuō),變化速度上滿足要求缺點(diǎn):不是完全隨機(jī)因?yàn)樵?086系統(tǒng)中,沒(méi)有產(chǎn)生隨機(jī)數(shù)的函數(shù)可供調(diào)用,所以只能利用BIOS中斷或者DOS中斷來(lái)產(chǎn)生隨機(jī)數(shù)作為選擇基數(shù)。而系統(tǒng)時(shí)間秒位相對(duì)指法練習(xí)程序來(lái)說(shuō)速度過(guò)慢,因此選擇方式2。3.系統(tǒng)原理闡述從設(shè)計(jì)任務(wù)與要求可以得知編寫此程序的基本原理,編寫一個(gè)主程序和若干個(gè)子程序來(lái)完成任務(wù)所要求的功能,與此同時(shí),程序盡量模塊化,功

6、能化,讓程序看起來(lái)更加簡(jiǎn)潔明了。整個(gè)程序的流程是:首先調(diào)用初始化子程序,對(duì)系統(tǒng)參數(shù)和界面進(jìn)行初始化,然后調(diào)用輸入功能選擇程序,以此對(duì)功能進(jìn)行選擇,根據(jù)用戶的選擇來(lái)調(diào)用不同的子程序;同時(shí)應(yīng)該能產(chǎn)生隨機(jī)數(shù)使字母能夠隨機(jī)產(chǎn)生;最后在游戲結(jié)束時(shí)調(diào)用分?jǐn)?shù)顯示子程序。具體的子程序在程序功能說(shuō)明中詳細(xì)講到,此處不再贅述。634.軟件設(shè)計(jì)說(shuō)明4.1主程序流程圖圖1.主程序原理圖主程序的流程圖如圖1所示。程序運(yùn)行時(shí),首先利用Menu,Init_game和Clean三個(gè)實(shí)現(xiàn)宏定義過(guò)的函數(shù)進(jìn)行初始化。其中Init_game的功能是循環(huán)輸出,用于初始化界面,Menu的功能是在界面上

7、輸出字符串,用于界面信息的顯示,Clean的功能是清理屏幕。初始化完畢后,進(jìn)入人機(jī)交互的階段,此時(shí)用戶需要輸入各功能對(duì)應(yīng)的數(shù)字進(jìn)行供選擇。若輸入為‘1’,則直接開始游戲;若輸入為‘2’,則進(jìn)入速度選擇,若輸入為‘3’或者‘Esc’,則退出程序;若輸入為其它則轉(zhuǎn)跳otherkey顯示錯(cuò)誤輸入信息,提示用戶輸入了錯(cuò)誤信息并重新選擇。634.2宏定義函數(shù)圖2宏定義函數(shù)流程圖宏定義函數(shù)的流程圖如圖2所示。由圖可見(jiàn),Init_game函數(shù)首先設(shè)置光標(biāo)到指定位置,然后輸出字符,重復(fù)次數(shù)也是用函數(shù)帶入的參數(shù)決定。Clean函數(shù)主要調(diào)用了BIOS中斷的屏幕初始化功能(AH=

8、6,INT10H),并且CL,CH,DH,DL四個(gè)參

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。