資源描述:
《沈陽(yáng)航空航天大學(xué)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)名稱:微機(jī)系統(tǒng)綜合課程設(shè)計(jì)課程設(shè)計(jì)題目:模擬射擊游戲院(系):計(jì)算機(jī)學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):學(xué)號(hào):姓名:指導(dǎo)教師:曹一鵬完成日期:20012年7月13日沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)報(bào)告目錄第1章總體設(shè)計(jì)方案11.1設(shè)計(jì)原理11.2設(shè)計(jì)思路11.3實(shí)驗(yàn)環(huán)境3第2章詳細(xì)設(shè)計(jì)方案42.1硬件電路設(shè)計(jì)42.2主程序設(shè)計(jì)52.3功能模塊的設(shè)計(jì)與實(shí)現(xiàn)7第3章結(jié)果測(cè)試及分析143.1結(jié)果測(cè)試143.2結(jié)果分析16參考文獻(xiàn)17附錄18-29-沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)報(bào)告第1章總體設(shè)計(jì)方案第1章總體設(shè)計(jì)方案1.1設(shè)計(jì)原理根據(jù)課程
2、設(shè)計(jì)任務(wù)書的內(nèi)容與要求,利用鍵盤、數(shù)碼顯示接口芯片8279采用鍵盤掃描技術(shù),實(shí)現(xiàn)矩陣鍵盤的掃描、延時(shí)去抖和對(duì)鍵盤輸入數(shù)據(jù)的自動(dòng)識(shí)別同時(shí)對(duì)八段數(shù)碼管顯示器的動(dòng)態(tài)控制。利用可編程的定時(shí)/計(jì)數(shù)芯片8253采用分頻技術(shù),實(shí)現(xiàn)對(duì)高頻脈沖源的分頻處理,輸出秒脈沖(頻率為1HZ)。利用可編程中斷控制器8259A采用中斷技術(shù),響應(yīng)秒脈沖的中斷請(qǐng)求。實(shí)現(xiàn)對(duì)時(shí)間的倒計(jì)時(shí)控制。利用并行接口芯片8255A并行I/O端口,實(shí)現(xiàn)對(duì)8個(gè)LED燈亮滅的循環(huán)控制。通過(guò)軟件編程,實(shí)現(xiàn)對(duì)射擊游戲的具體運(yùn)行過(guò)程的控制。1.2設(shè)計(jì)思路采用匯編語(yǔ)言程序設(shè)計(jì)的方法結(jié)合硬件電路設(shè)計(jì)方法,利用AED
3、K實(shí)驗(yàn)箱上已有芯片來(lái)實(shí)現(xiàn)模擬射擊游戲。1.提出方案用點(diǎn)亮的LED燈表示獵物的位置,鍵盤數(shù)字鍵0~7對(duì)應(yīng)8個(gè)LED燈用來(lái)表示射擊獵物的位置,8表示游戲開(kāi)始,9表示游戲暫停,A表示結(jié)束暫停,B表示游戲結(jié)束。用寄存器AH保存當(dāng)前獵物的位置值,按照設(shè)定的速度不斷變化,在設(shè)定的停留時(shí)間將其轉(zhuǎn)換成LED燈的亮滅顯示,寄存器AL保存游戲者射擊獵物的位置值,通過(guò)鍵盤讀出鍵值。比較兩位置值是否相等,如果相等這表示射擊擊中獵物同時(shí)加1分,否則不擊中,繼續(xù)等待新的鍵入判斷。定時(shí)器按照設(shè)定的時(shí)間進(jìn)行倒計(jì)時(shí),只有在設(shè)定的時(shí)間內(nèi)得分達(dá)到規(guī)定的分?jǐn)?shù),認(rèn)為完成該等級(jí)的游戲并進(jìn)入下一
4、等級(jí)游戲,否則將重新開(kāi)始該等級(jí)的游戲。-29-沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)報(bào)告第1章總體設(shè)計(jì)方案采用可編程鍵盤/顯示器接口芯片8279,完成鍵盤輸入和顯示控制功能,用可編程中斷控制器芯片8259A響應(yīng)外部向CPU提出的中斷請(qǐng)求,用可編程定時(shí)器/計(jì)數(shù)器芯片8253,將兩個(gè)計(jì)數(shù)器級(jí)聯(lián)產(chǎn)生秒脈沖,周期性觸發(fā)中斷,在中斷程序中實(shí)現(xiàn)計(jì)時(shí)功能。利用可編程并行接口芯片8255A控制LED燈的亮滅。2.方案論證分別從預(yù)設(shè)計(jì)程序和預(yù)使用芯片兩方面進(jìn)行論證。u對(duì)預(yù)設(shè)計(jì)的程序進(jìn)行論證程序開(kāi)始時(shí),首先對(duì)游戲進(jìn)行初始化,設(shè)初始游戲的分?jǐn)?shù)為0,設(shè)定規(guī)定時(shí)間為20,獵物默認(rèn)位置為不出
5、現(xiàn)即LED燈全滅。鍵盤等待鍵入,可輸入1、2和3三個(gè)級(jí)別。鍵盤等待鍵入,鍵入8可開(kāi)始游戲。游戲開(kāi)始,獵物從左到右方向移動(dòng),在此過(guò)程中鍵盤隨時(shí)可以有鍵按,若該按鍵與LED燈表示的獵物位置相對(duì)應(yīng),即擊中獵物,擊中加1分,否則沒(méi)有擊中不加分。繼續(xù)等待或判斷下一個(gè)按鍵。在倒計(jì)時(shí)為0前,分?jǐn)?shù)達(dá)到9分,表示通過(guò)該級(jí)游戲,數(shù)碼管顯示GOOD可進(jìn)入下一級(jí)游戲,鍵入8開(kāi)始下一級(jí)游戲。如果沒(méi)有達(dá)到9分則數(shù)碼管顯示FAIL,重新開(kāi)始該等級(jí)游戲。數(shù)碼管要同步顯示當(dāng)前的游戲分?jǐn)?shù)和游戲剩余時(shí)間。游戲過(guò)程中可以鍵入9來(lái)暫停游戲,暫停游戲時(shí)可以鍵入A結(jié)束暫停繼續(xù)游戲。游戲過(guò)程中也可
6、以鍵入B來(lái)結(jié)束游戲,同時(shí)數(shù)碼管顯示FINISH。u對(duì)預(yù)設(shè)使用的芯片進(jìn)行論證8279是可編程鍵盤/顯示接口芯片。它的功能主要包括鍵盤輸入和顯示控制部分,其中鍵盤部分提供掃描功能。當(dāng)有鍵按下時(shí)將鍵值讀出交給CPU處理。顯示部分則是提供掃描方式的顯示接口,可與八段數(shù)碼管連接,將要顯示的信息轉(zhuǎn)換為數(shù)碼管的識(shí)別的值,送入數(shù)據(jù)端口即可按固定的方式顯示。8253可編程定時(shí)/計(jì)數(shù)器可以使用方式2對(duì)高頻脈沖源分頻。由于脈沖源頻率為307200HZ,一個(gè)計(jì)數(shù)器最大可以65536分頻,一次分頻不能得到秒脈沖,所以將計(jì)數(shù)器00與計(jì)數(shù)器01串聯(lián),計(jì)數(shù)器00初值為FFFFH,計(jì)
7、數(shù)器01初值為5,經(jīng)過(guò)兩次分頻后近似等到秒脈沖。-29-沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)報(bào)告第1章總體設(shè)計(jì)方案8259A是可編程中斷控制芯片,它用來(lái)管理外設(shè)向CPU提出的中斷請(qǐng)求。由8253每秒產(chǎn)生一個(gè)中斷請(qǐng)求,8259A響應(yīng)這一中斷請(qǐng)求,調(diào)用中斷處理程序,中斷程序中實(shí)現(xiàn)對(duì)時(shí)間的記錄與控制。8255A是可編程并行輸入輸出接口芯片,具有三個(gè)8位并行端口,將8位并行端口A分別連接8個(gè)LED燈,通過(guò)A端口8位輸出高低電平實(shí)現(xiàn)對(duì)LED燈亮滅的控制。經(jīng)過(guò)論證,證明所提出的方案是切實(shí)可行的。1.3實(shí)驗(yàn)環(huán)境·硬件環(huán)境:AEDK實(shí)驗(yàn)箱,PC機(jī)?!ぼ浖h(huán)境:LCA88ET應(yīng)用
8、軟件、WinDOWSXP操作系統(tǒng)。-29-沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)報(bào)告第2章詳細(xì)設(shè)計(jì)方案第2章詳細(xì)設(shè)計(jì)方案2