freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機(jī)的俄羅斯方塊游戲畢業(yè)設(shè)計(jì)論文-資料下載頁(yè)

2025-06-25 16:33本頁(yè)面
  

【正文】 現(xiàn)的問(wèn)題首先,在雙人模式下,應(yīng)用程序中的兩個(gè)進(jìn)程都需要對(duì)LCD12864顯示屏進(jìn)行讀寫(xiě)操作。在多任務(wù)實(shí)時(shí)系統(tǒng)下就會(huì)出現(xiàn)“資源沖突”的問(wèn)題。其次是函數(shù)的重入性問(wèn)題。還有就是多個(gè)指針型數(shù)據(jù)在任務(wù)中使用的問(wèn)題。C51編譯器允許使用多個(gè)數(shù)據(jù)指針。RTX51 Tiny對(duì)他們不進(jìn)行管理,所以在應(yīng)用中必須確保在改變數(shù)據(jù)指針時(shí)不會(huì)發(fā)生roundrobin切換。②具體配置方法為解決上述問(wèn)題,本設(shè)計(jì)禁止循環(huán)任務(wù)切換,采用協(xié)助任務(wù)切換的方式進(jìn)行多任務(wù)間的切換。Roundrobin切換是默認(rèn)使能的,以下參數(shù)用來(lái)設(shè)定Roundrobin切換的時(shí)間或禁能Roundrobin切換。IMESHARING 指定任務(wù)在進(jìn)行Roundrobin切換前執(zhí)行的RTX51 Tiny時(shí)鐘節(jié)拍數(shù)。當(dāng)這個(gè)值為0時(shí)禁止Roundrobin切換。缺省值是5個(gè)時(shí)鐘節(jié)拍。如果禁止了roundrobin多任務(wù)切換,必須設(shè)計(jì)將應(yīng)用程序要執(zhí)行的任務(wù)以Cooperative 任務(wù)切換的方式工作。特別地,必須在每個(gè)任務(wù)的某個(gè)地方調(diào)用os_wait函數(shù)或os_switch_task函數(shù)。這些函數(shù)告知RTX51 Tiny切換到另一任務(wù)。函數(shù)os_wait 和函數(shù)os_switch_task的不同之處在于os_wait函數(shù)可以讓任務(wù)等待某一事件的發(fā)生,而函數(shù)os_switch_task函數(shù)直接切換到另一個(gè)準(zhǔn)備就緒的任務(wù)。 雙人單機(jī)對(duì)戰(zhàn)模式的實(shí)現(xiàn)流程本系統(tǒng)實(shí)現(xiàn)的雙人游戲模式是建立在單人游戲模式的基礎(chǔ)上的。其基本思路是利用RTX51 Tiny多任務(wù)實(shí)時(shí)操作系統(tǒng)來(lái)完成多個(gè)事件的準(zhǔn)并行實(shí)行運(yùn)行。其中進(jìn)程0和進(jìn)程1的程序流程是大致相同的。如圖319所示為雙人模式下的相關(guān)程序流程。 系統(tǒng)背景音樂(lè)的設(shè)計(jì)對(duì)于單片機(jī)產(chǎn)生音樂(lè),關(guān)鍵是控制頻率的輸出。我們知道,樂(lè)譜中每一個(gè)音符都與某一個(gè)特定的頻率相對(duì)應(yīng),產(chǎn)生某種頻率的輸出就可以得到相應(yīng)音符的聲音。音樂(lè)中,有8個(gè)基本音符:do、re、mi、fa、so、la、xi、do,八個(gè)不同的音符對(duì)應(yīng)著不同的頻率。為了使單片機(jī)能輸出美妙的音樂(lè),曲譜不僅需要包含音名的信息,而且還要包含有節(jié)拍的信息。因此,本設(shè)計(jì)采用的是一種音名同節(jié)拍混排的一種方式來(lái)對(duì)曲譜進(jìn)行的編碼。即按照下列方法進(jìn)行編碼:一個(gè)字節(jié)共八位,高兩位表示節(jié)拍,三四位表示音高,低四位表示音符。節(jié)拍是兩位,有四種狀態(tài),表示四種節(jié)拍;音高是兩位,有四種狀態(tài),表示三種不同的音高(低音、中音、高音);音符用四位表示,有十六種狀態(tài),來(lái)表示每個(gè)調(diào)的十二種不同的音符。這些樂(lè)譜數(shù)據(jù)的生成是由樂(lè)譜生成器來(lái)產(chǎn)生的。在本設(shè)計(jì)中,RTX51 TINY允許同時(shí)“準(zhǔn)并行”地執(zhí)行多個(gè)任務(wù),各個(gè)任務(wù)是在預(yù)先設(shè)定 YNYYYNYNYNYNYNYNYN游戲配置為雙人模式啟動(dòng)游戲進(jìn)程0進(jìn)程1使用協(xié)助方式進(jìn)行任務(wù)切換速降信號(hào)平移信號(hào)平移信號(hào)道具信號(hào)速降信號(hào)道具信號(hào)執(zhí)行相關(guān)平移操作執(zhí)行相關(guān)平移操作執(zhí)行速降操作執(zhí)行速降操作下移操作下移操作執(zhí)行道具功能執(zhí)行道具功能積分統(tǒng)計(jì)積分統(tǒng)計(jì)使用協(xié)助方式進(jìn)行任務(wù)切換積分到上限積分到上限停止游戲停止游戲圖 319 雙人游戲程序流程圖Fig 319 Double game processes flowchart的時(shí)間片內(nèi)執(zhí)行的。CPU執(zhí)行時(shí)間被劃分為若干時(shí)間片,RTX51 TINY為每個(gè)任務(wù)分配一個(gè)時(shí)間片,在一個(gè)時(shí)間片內(nèi)允許執(zhí)行某個(gè)任務(wù),然后RTX51 TINY切換到另一個(gè)就緒的任務(wù)并允許它在其規(guī)定的時(shí)間片內(nèi)執(zhí)行。這個(gè)過(guò)程的實(shí)現(xiàn)是RTX51 TINY利用單片機(jī)內(nèi)部定時(shí)器T0的中斷功能實(shí)現(xiàn)的。此外STC12C5A60S2單片機(jī)提供了用PCA模塊實(shí)現(xiàn)16位定時(shí)器的功能。所以本設(shè)計(jì)通過(guò)控制內(nèi)部PCA模塊構(gòu)成的定時(shí)器產(chǎn)生不同頻率的脈沖,從而驅(qū)動(dòng)蜂鳴器發(fā)出相應(yīng)頻率的聲音,而發(fā)音時(shí)間的長(zhǎng)短用定時(shí)器T1來(lái)控制。 音樂(lè)播放的實(shí)現(xiàn)方法把樂(lè)譜中的音符對(duì)應(yīng)的頻率轉(zhuǎn)換成PCA定時(shí)器常數(shù),相應(yīng)的節(jié)拍變?yōu)門(mén)1常數(shù)。通過(guò)對(duì)歌譜編碼,程序可以到編碼數(shù)組中取出音符的頻率及節(jié)拍數(shù)據(jù),然后將所取的數(shù)據(jù)經(jīng)過(guò)系統(tǒng)的處理后,將音調(diào)定時(shí)時(shí)間和節(jié)拍定時(shí)時(shí)間送入相應(yīng)的定時(shí)器。數(shù)據(jù)處理過(guò)程中的相關(guān)計(jì)算如下:(1) 音頻脈沖的產(chǎn)生方法:算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間,然后利用PCA定時(shí)器計(jì)時(shí)此半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O取反,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O取反,如此就可在I/O腳上得到此頻率的脈沖。(2) 讓STC12C5A60S2單片機(jī)的內(nèi)部計(jì)時(shí)器T1工作在計(jì)數(shù)模式MODE1下,改變計(jì)數(shù)值TH1及TL1以產(chǎn)生不同的頻率。(3) 以6MHz晶振為例:要產(chǎn)生頻率為523Hz,其周期T=1/523=1912us,半周期為1912/2=956us,因此,只要令定時(shí)器計(jì)時(shí)956us/1us=956。所以在每計(jì)數(shù)956次時(shí)將I/O反相,就要以得到中音D0(523Hz)。計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下: N=Fi/2/Fr (32)N:計(jì)數(shù)值Fi:內(nèi)部計(jì)時(shí)一次2us,以6MHz晶振為例,故其頻率為500000HzFr:要產(chǎn)生的頻率(4) PCA定時(shí)器計(jì)數(shù)值的求法如下:T=65536N=65536Fi/2/Fr (33) 音效程序流程本設(shè)計(jì)的音樂(lè)播放程序流程比較簡(jiǎn)單,其難點(diǎn)是設(shè)計(jì)人員對(duì)樂(lè)譜的認(rèn)識(shí)和各種定時(shí)時(shí)間的計(jì)算。具體流程如圖320所示。YNYNN開(kāi)音效初始化各定時(shí)器及數(shù)據(jù)針指順序讀取音符數(shù)組中的數(shù)據(jù)根據(jù)調(diào)號(hào)及升降八度生成新的頻率表計(jì)算音符時(shí)間長(zhǎng)度值,將值賦給相應(yīng)的定時(shí)器T1計(jì)數(shù)到?PCA定時(shí)到?音樂(lè)結(jié)束?圖 320 音效程序流程圖Fig 320 Sound program flowchart 系統(tǒng)主程序流程圖本小節(jié)主要是對(duì)整個(gè)系統(tǒng)主要的流程進(jìn)行描述。對(duì)于每個(gè)任務(wù)的具體實(shí)現(xiàn)流程在前幾節(jié)已經(jīng)詳細(xì)介紹過(guò),在此用省略號(hào)表示,不再贅述。本節(jié)只對(duì)總體框架和前面沒(méi)介紹到的部分功能進(jìn)行描述,使文章結(jié)構(gòu)的更加完整和幫助讀者理順?biāo)悸?。讀者可以結(jié)合前文來(lái)閱讀本節(jié)內(nèi)容。相關(guān)流程如圖321所示。YNNY開(kāi)機(jī)選項(xiàng)菜單游戲設(shè)置開(kāi)始游戲單人游戲雙人游戲音效開(kāi)關(guān)退出游戲暫停游戲結(jié)束進(jìn)所有進(jìn)程……圖 321 主程序流程圖Fig 321 Main program flowchat4 產(chǎn)品功能說(shuō)明與系統(tǒng)性能測(cè)試 產(chǎn)品功能說(shuō)明 本設(shè)計(jì)制作了一款智能俄羅斯方塊游戲機(jī)。它主要實(shí)現(xiàn)以下功能:?jiǎn)稳擞螒蚰J?、雙人模式游戲以及音效嵌入等。整個(gè)作品硬件由+5V電源、STC12C5A60S2單片機(jī)、LCD12864液晶顯示屏、主控制手柄和副控制手柄構(gòu)成。每部分的詳細(xì)介紹可以在本文的前面章節(jié)進(jìn)行查閱。啟動(dòng)系統(tǒng)后,首先出現(xiàn)的是一個(gè)動(dòng)態(tài)的進(jìn)度條。當(dāng)此進(jìn)度條結(jié)束后有三個(gè)功能選項(xiàng)呈現(xiàn)在界面上。玩家可以通過(guò)主控制器的“向下”按鈕將光標(biāo)指針進(jìn)行移動(dòng),當(dāng)按下“確定”按鈕后進(jìn)入相應(yīng)選項(xiàng)程序。當(dāng)按下“退出”按鈕,則返回功能選項(xiàng)菜單界面。其中,第一個(gè)選項(xiàng)是“最高積分”查看選項(xiàng),玩家選擇此選項(xiàng)后能夠查看單人模式中積分的最高記錄。第二個(gè)選項(xiàng)是“游戲設(shè)置”選項(xiàng),當(dāng)玩家選擇此選項(xiàng)后將進(jìn)入一個(gè)二級(jí)菜單,在里面玩家可以選擇是進(jìn)入“模式選擇”項(xiàng)還是“音效選擇”項(xiàng)。當(dāng)玩家進(jìn)入“模式選擇”項(xiàng)后可以將游戲配置為“單人模式”或“雙人模式”;若玩家進(jìn)入的是“音效選擇”項(xiàng),則可以將設(shè)置游戲中是否啟動(dòng)背景音樂(lè)。當(dāng)玩家將游戲系統(tǒng)配置為單人模式時(shí),玩家只能使用主控制器對(duì)游戲界面進(jìn)行操作。其中主控制器中的各個(gè)按鈕的功能為:“旋轉(zhuǎn)/確定”按鈕可以實(shí)現(xiàn)方塊的旋轉(zhuǎn),“向左/返回上級(jí)”按鈕可以實(shí)現(xiàn)方塊左移,“向右”按鈕可以實(shí)現(xiàn)方塊右移,“向下”按鈕可以實(shí)現(xiàn)方塊的快速向下移動(dòng),“道具”按鈕可以實(shí)現(xiàn)在雙人模式下的道具功能的使用。以上是副控制器也同樣具有的按鍵功能。此外,主控器還有兩個(gè)按鈕,它們的功能是:“返回”按鈕可以實(shí)現(xiàn)從正在運(yùn)行的程序返回到“功能選項(xiàng)”界面;“暫停”按扭可以實(shí)現(xiàn)將游戲界面停止在當(dāng)前狀態(tài)。當(dāng)玩家將游戲系統(tǒng)配置為雙從模式時(shí),玩家可以增加副控制器來(lái)對(duì)第二界面進(jìn)行操作。副控制器的按鍵功能在主控制器的相關(guān)介紹中已經(jīng)進(jìn)行了說(shuō)明。當(dāng)玩家將游戲系統(tǒng)配置為開(kāi)音效時(shí),在游戲開(kāi)始后,方塊將伴隨著音樂(lè)隨機(jī)出現(xiàn)和下落。如果玩家想從重新設(shè)置游戲模式和音效模式,就必須停止當(dāng)前游戲,返回功能選項(xiàng)界面,進(jìn)入“游戲設(shè)置”選項(xiàng)進(jìn)行設(shè)置。 系統(tǒng)性能測(cè)試系統(tǒng)性能測(cè)試的相關(guān)結(jié)果如表1所示。表41模式旋轉(zhuǎn)左移右移速降消去積分道具返回暫停存儲(chǔ)音效單人實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)——實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)雙從實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)——實(shí)現(xiàn)通過(guò)測(cè)試,本設(shè)計(jì)成功的實(shí)現(xiàn)了畢業(yè)選題所要求的全部功能,并在要求之外擴(kuò)展了道具、積分存儲(chǔ)等功能。5 結(jié)束語(yǔ) 本文討論了一種基于STC12C5A60S2單片機(jī)和RTX51 Tiny時(shí)實(shí)操作系統(tǒng)的俄羅斯方塊游戲系統(tǒng)的設(shè)計(jì)開(kāi)發(fā),通過(guò)LCD12864液晶顯示屏進(jìn)行顯示,設(shè)計(jì)并實(shí)現(xiàn)了智能俄羅斯方塊游戲的多項(xiàng)功能。本文著重結(jié)合LCD12864的硬件特性探討了游戲的數(shù)據(jù)結(jié)構(gòu)、圖形處理、游戲控制以及音樂(lè)處理等技術(shù)。該設(shè)計(jì)實(shí)現(xiàn)了基于8位單片機(jī)上的俄羅斯方塊游戲設(shè)計(jì)和開(kāi)發(fā),其功能包括單人模式、雙人模式和音樂(lè)播放等功能。還可以在界面美化、人機(jī)對(duì)戰(zhàn)等方面加以改進(jìn)和完善。這對(duì)在低端處理器上實(shí)現(xiàn)多功能游戲開(kāi)發(fā)具有非常好的借鑒意義。參考文獻(xiàn)[1] :高等教育出版社,2006.[2] :高等教育出版社,2006.[3] :清華大學(xué)出版社,2005.[4] :電子工業(yè)出版社,2005.[5] :清華大學(xué)出版社,2002.[6] [M].北京:請(qǐng)化大學(xué)出版社,2004.[7] 劉明路,王亮生,[J].單片機(jī)與嵌入式系統(tǒng)用,2002.[8] KEIL Software Realtime Kernel[OL], 2004.[9] 高凌琴,2005.[10] ,2001.41致 謝在此次畢業(yè)設(shè)計(jì)中,我從曾繁政老師身上學(xué)到了很多東西。老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我受益匪淺。他無(wú)論在理論上還是在實(shí)踐中,都給與我很大的幫助,使我的實(shí)踐創(chuàng)新能力得到較大的提升,這對(duì)于我以后的工作和學(xué)習(xí)都有著巨大的幫助,感謝他耐心的輔導(dǎo)與教誨。 另外,在游戲開(kāi)發(fā)過(guò)程中我的同學(xué)和網(wǎng)友也給予我很大的幫助,使我解決了不少的難點(diǎn),從而讓本游戲系統(tǒng)能及時(shí)設(shè)計(jì)完成,這里一并表示感謝。同時(shí),也向在百忙中抽出時(shí)間對(duì)本文進(jìn)行評(píng)審并提出寶貴意見(jiàn)的各位老師表示衷心地感謝。
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1