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

正文內(nèi)容

基于51單片機的俄羅斯方塊游戲_畢業(yè)設(shè)計論文-免費閱讀

2025-04-04 07:03 上一頁面

下一頁面
  

【正文】 CPU 執(zhí)行時間被劃分為若干時間片, RTX51 TINY 為每個任務(wù)分配一個時間片,在一個時間片內(nèi)允許執(zhí)行某個任務(wù),然后 RTX51 TINY 切換到另一個就緒的任務(wù)并允許它在其規(guī)定的時間片內(nèi)執(zhí)行。我們知道,樂譜中每一個音符都與某一個特定的頻率相對應(yīng),產(chǎn)生某種頻率的輸出就可以得到相應(yīng)音符的聲音。特別地,必須在每個任務(wù)的某個地方調(diào)用 os_wait函數(shù) 或 os_switch_task 函數(shù)。 C51 編譯器允許使用多個數(shù)據(jù)指針。 默認 包含在 RTX51 Tiny 庫中。 os_wait 函數(shù) 與 os_switch_task 函數(shù) 的所不同是:os_wait 函數(shù) 是讓任務(wù)等待一個事件,而 os_switch_task 函數(shù) 是立即切換到另一個就緒的任務(wù)。 RTX51 TINY 是基于時間片調(diào)度算法的操作系統(tǒng),它支持的是非搶占式的任務(wù)切換。 ① SIGNAL:用于任務(wù)之間通信的位,可以用系統(tǒng)函數(shù)置位或 清除。 (2) 系統(tǒng)調(diào)用函數(shù) 簡介 RTX51 Tiny 內(nèi)核完全集成在 KEIL C51 編譯器中,以系統(tǒng)函數(shù)調(diào)用的方 式運行,因此可以很容易地使用 KEIL C51 語言編寫和編譯一個多任務(wù)程序,并嵌入到實際應(yīng)用系統(tǒng)中,內(nèi)核提供 多組 函數(shù)供應(yīng)用程序引用。無論如何, RTX51 Tiny 仍然是在 8位單片機中應(yīng)用操作系統(tǒng)的首選。程序員可以從一存儲池中分配和釋放內(nèi)存,也可以強迫一個任務(wù)等待中斷、超時或者是從另一個任務(wù)或中斷發(fā)出的信號或信息。 圖 316 積分系統(tǒng)程序流程圖 Fig 316 Score system program flowchart N Y Y N Y N Y N Y N 消去一行 當前積分加 1 是否大于最高紀錄 存儲當前積分 退出 單人模式下 雙人模式下 增加 n 分,消去 n 行 消去 n 行? n0 n=3? 增加 1 道具 道具是否小于 2個? 增加 1 道具 進度是否到頂? 結(jié)束所有進程 返回游戲 賀州學院本科生畢業(yè)論文(設(shè)計) 29 雙人俄羅斯方塊游戲設(shè)計 RTX51 Tiny 簡介 許多微處理器應(yīng)用程序要求同時執(zhí)行 多 個任務(wù)。本游戲系統(tǒng)分單人模式和雙人模式兩種積分計算方式。 具體程序流程如圖 313所示。 (3) I 型的旋轉(zhuǎn)策略 為了在視覺上實現(xiàn) I 型的順時針旋轉(zhuǎn),本設(shè)計采用位置錯落的方式 來實現(xiàn) 。 基本型中的“ L 型”和“反 L 型”有三種旋轉(zhuǎn)型,將它按順時針每旋 轉(zhuǎn) 一個 90度就產(chǎn) 生 一種旋轉(zhuǎn)型,可以旋轉(zhuǎn)三次,得到三種不同的旋轉(zhuǎn)型,因此,它的三種旋轉(zhuǎn)型加上其基本型,“ L 型”和“反 L 型”方塊分別有四種形狀。 (2) 平移合法性判斷 平移的合法性判斷經(jīng)較簡單,只需判斷它旁邊相鄰位 置是否被填充 即可。 這可能會導致 每次重新運行游戲 時 其隨機 數(shù) 結(jié)果都是一樣的?!俺?shù) C”,不像乘數(shù) A那樣重 要,但是一定是個奇數(shù)。 這個開始的點(數(shù)字)叫做種子。比如 L 型,其數(shù)據(jù)結(jié)構(gòu)為{ 0,0,0,4,0,8,4,8}。 啟動單人模式 左半屏 圖形預覽 游戲 map 區(qū) 右半屏 積分顯示 雙人模式 雙方積分進度條 雙方道具使用情況 積分和道具區(qū) Map2 區(qū) map1 區(qū) 賀州學院本科生畢業(yè)論文(設(shè)計) 19 圖 37 開機界面功能框架 Fig 37 Boot interface function frame 游戲系統(tǒng)“枚舉算法”概述 本文繞開了澀難懂、比較復雜的“矩陣算法”,提出了另一種“枚舉算法”來實現(xiàn)這個經(jīng)典游戲。 菜單選項界面框架如 圖 34所示。然 后,系統(tǒng)提供三個 功能選項,即最高積分、游戲設(shè)置、開始游戲。本游戲系統(tǒng)規(guī)定,雙人對戰(zhàn)游戲中積分可分為兩個階段。本設(shè)計中游戲主要的功能點包括: (1) 每 4個小方塊可以組合成一組方塊群,游戲共有 7種方塊群,每次隨機產(chǎn)生一種 。 本設(shè)計的 LCD12864 模塊中,用戶程序?qū)ζ溥M行顯示控制時,無非就是通過對 LCD 模塊內(nèi)部的驅(qū)動控制器當中的寄存器進行設(shè)置操作;最常用的如 LCD 的顯示開 /關(guān)、操作顯存地址(行與列地址)的設(shè)置等。 圖 32 字節(jié)數(shù)據(jù)排列情況 Fig 32 Byte data arrangement 賀州學院本科生畢業(yè)論文(設(shè)計) 15 MzL02D12864 液晶 顯示模塊的顯示屏上的每一個點都對應(yīng)有控制器片內(nèi)的顯示緩存 RAM 中的一個 bit,顯示屏上 64*128 個點分別對應(yīng)著顯示 RAM 的 8 個 Page,每一個 Page 有 128 個 byte 的空間 。 LCD12864 液晶屏 顯示 原理 LCD 模塊總線選擇及時序 MzL02D 模塊提供了兩個 LCM 的引腳( C86 和 PS 引腳)供用戶選擇模塊的接口類型,分別可以選擇 6800 并行總線、 8080 并行總線或者 SPI 串行接口。它包括主控制器和輔助控制器。 Q18 5 5 0R1R E S 2U1B E L LV C CP 2 ^ 0 圖片 26 音樂播放系統(tǒng) Fig 26 Music Player System LCD 液晶 顯示 接口電路 液晶顯示屏是整個系統(tǒng)硬件的重要組成部分,擔當著人機交互的重要角色。所以 8051 單片機與 PC機間點對點異步通信需加電平轉(zhuǎn)換電路,否則將燒壞 TTL 電路。 ISP(在線系統(tǒng)編程)技術(shù)是一種無需將存儲芯片從嵌入式設(shè)備上取出就能對其進行編程的過程。 如圖 23 所示即為本設(shè)計 的振蕩電路。 STC12C5A60S2 最小系統(tǒng) 單片機最小系統(tǒng)主要由電源、 振蕩 、 復位 電路以及擴展電路等部分組成。曾經(jīng) 80 年代 非常流行的掌上游戲機便是單片機在電子玩具中的應(yīng)用 之一 ,其中的俄羅斯方塊游戲 現(xiàn)已 被我們所熟知。 在俄羅斯方塊游戲系統(tǒng) 開發(fā)過程中 , 本文作者首先進行硬件平臺的搭建,包括單片機最小系統(tǒng)的搭建、電源系統(tǒng)的搭建、串口下載器的設(shè)計、游戲手柄的設(shè)計、音效播放模塊的設(shè)計以及 LCD 液晶顯示接口的設(shè)計。 同時,俄羅斯方塊是一款風靡全球的電視游戲機和掌上游戲機游戲,目前 在 網(wǎng)絡(luò)單機 游戲 和 kele8 等上都有它的身影。 重點從軟件工程角度論述了俄羅斯方塊模型構(gòu)造,圖形旋轉(zhuǎn),坐標變換,雙人游戲中多任務(wù)實時操作 的設(shè)計 法方 ,以及背景音樂的處理等技術(shù)。除了文中特別加以注釋和致謝的地方外,論文(設(shè)計)中不包含其他人已經(jīng)發(fā)表或撰寫的研究成果。它規(guī)則簡單,容易上手,且游戲過程變化無窮,使用戶在游戲中得到樂趣。單片機的最明顯的優(yōu)勢,就是可以嵌入到各種儀器、設(shè)備中。 課題的主要研究內(nèi)容 本課題研究和實現(xiàn)了基于 8051+RTX51 到 Tiny 平臺下的智能俄羅斯 方塊游戲系統(tǒng)。 從 學術(shù)角度來看, 針對俄羅斯方塊游戲的開發(fā),國內(nèi)外 也有 不少學者展開過研究,比如 Niko 將進化算法引入到俄羅斯方塊中并驗證了其有效性, Hoogeboom 探討了俄羅斯方塊游戲的構(gòu)造問題,王宇等針對存在于俄羅斯方塊中的兩個數(shù)學問題提出解決方案,高凌琴探討游戲功能要求、數(shù)據(jù)結(jié)構(gòu)、圖形旋轉(zhuǎn)、坐標變換等關(guān)鍵技術(shù),胡代弟在 SPCE061A 單片機實現(xiàn)了俄羅斯方塊游戲 [10]。該單片機共有 4 個 16 位定時器,兩個與傳統(tǒng) 8051 兼容的定時器 /計數(shù)器,即 16 位定時器 T0 和 T1,沒有定時器 2,但有獨立波特率發(fā)生器做串行通訊的波特率發(fā)生器,再加上 2 路 PCA 模塊可由 T0 的溢出在 黃忠南 基于單片機的俄羅斯方塊游戲設(shè)計 8 時鐘,可由 T1的溢出在 ,此兩路可編程計數(shù)器陣列( PCA)可用來再實現(xiàn) 2個定時器。 賀州學院本科生畢業(yè)論文(設(shè)計) 9 12J1di a ny ua nD11N 40 07D21N 40 07D31N 40 07D41N 40 07S1S W P B1122F1F U S E 2C110 00u fC247 0uf112233u178 05R21k123J2+5123J3C O N 3D6L E D 0R11kD5L E D 0 圖片 22 電源 系統(tǒng) Fig 22 Power System 振蕩電路 單片機系統(tǒng)里都有振蕩電路 ,在 單片機系統(tǒng)里晶 振作用非常大,全稱叫晶體振蕩器,它結(jié)合單片機內(nèi)部電路產(chǎn)生單片機所需的時鐘頻率,單片機晶振提供的時鐘頻率趆高,那么單片機運行速度就趆快,單片機的一切指令執(zhí)行都是 依靠 單片機晶振提供的時鐘頻率。由于 本設(shè)計 使用外接 12MHz 的晶振 作為振蕩時鐘 ,黃忠南 基于單片機的俄羅斯方塊游戲設(shè)計 10 所以 采用 如圖 24所示 的復位系統(tǒng) 。 而上 位 機 PC 機與下 位 機單片機通過 RS232串行接口總線進行的串行通信。因此,音樂播放系統(tǒng)的硬件電路非常簡單 。本設(shè)計中 LCD 的數(shù)據(jù)端口連接到 STC12C5A60S2 單片機的 P0 端口, LCD 的命令端口連接到單片機的 P2端口。 與單片機的具體接口可根據(jù)實際設(shè)定。 MzL02D12864 液晶顯示模組的顯示器上的顯示點與驅(qū)動控制芯片中的顯示緩存 RAM 是一一對應(yīng)的;共有 65( 8Page * 8bit + 1) *132 個位的顯示 RAM 區(qū)。 LCD 的驅(qū)動方法 在很多資料以及書籍當中,通常介紹有兩種 LCD 模塊的連接方法:直接控制和間接控 制 ;直接控制實際指的是 LCD 模塊的總線接口直接與 MCU 端口連接,然后 MCU 通過程序控制端口來模擬 LCD 的總線時序來完成對其的控制操作;而間接控制指的是MCU 本身就有外部總線拉出,與 LCD的總線接口對應(yīng)的連接上,程序中直接操作總線以控制 LCD。 黃忠南 基于單片機的俄羅斯方塊游戲設(shè)計 16 圖 33 LCD驅(qū)動程序架構(gòu) Fig 33 LCD Driver architectures 俄羅斯方 塊游戲 設(shè)計 俄羅斯方塊游戲功能簡介 俄羅斯方塊游戲的規(guī)則很簡單,當方塊從屏幕上方落下來時,玩家控制方塊的位置以及旋轉(zhuǎn)方塊,巧妙地安排布置達到充分利用屏幕空間的目的。每消去一行,系統(tǒng)就給玩家加 1 分。系統(tǒng)默認為每個玩家提供1 個道具?!耙粜нx擇” 菜單 包含的二級子菜單有“開音效”和“關(guān)音效”通過控制按鍵即可設(shè)置成相應(yīng)狀態(tài)。在兩屏中間是雙方 積分顯示區(qū) 和 各自的道具數(shù)量顯示區(qū)。這七種圖形分別是“ I 型”、“ L型”、“反 L型”、“ Z 型”、“反 Z型”、“口型”、“ T型”。隨機數(shù)是一個既簡單又復雜的問題。保留低 32 位很重要 ,用來獲得下一個種子。 (3) Keil C51 中“線性疊加法”的實現(xiàn)方法 在 Keil C51 中 生成 偽 隨機數(shù)需要用到兩個函數(shù),一個是 srand(unsigned int seed),一個是 rand()。方塊的平移包括左移和右移兩種情況,無論那種情況都要首先進行合 法 性判斷。 游戲過程中,每一 種 基本方塊都要做旋轉(zhuǎn)控制,于是就產(chǎn)生了旋轉(zhuǎn)后的方塊形狀,本文將其稱為“旋轉(zhuǎn)型”。 本設(shè)計 實現(xiàn)旋轉(zhuǎn) 操作 的具體 方法 ,可分為兩類,一類是 I 型的旋轉(zhuǎn)策略; 另一類則是其余 17 種基本型的旋轉(zhuǎn)策略。如果 在當前位置直接按這 兩種圖塊 的坐標數(shù)組進行圖形切換 ,則無法實現(xiàn)順時針旋轉(zhuǎn)的視覺效果。若檢測到某行被填滿,則消去此行,并將其上 方的 圖塊往下移動相應(yīng)的行數(shù)。 當一次性同時消去 3 行時,則能獲得一個道具功能的使用權(quán)。 二者的主要區(qū)別是前者是可以強占(或者說可剝奪的)系統(tǒng)而后者是不可以強占的(不可剝奪的)。 RTX51 Tiny 雖然比較簡陋,但它還是具備了一些實時操作系統(tǒng)的基本要素,又因為它完全集成在 Keil C51 的集成開發(fā)環(huán)境中,可以使用戶把更多的精力關(guān)注在應(yīng)用本身而無需考慮復雜的底層驅(qū)動,而且整個應(yīng)用軟件系統(tǒng)結(jié)構(gòu)清晰,維護方便,可節(jié)省大量的時間和人力。可以采用以下方式包含它: # include 當使用 Rtx51 Tiny時,要為每個任務(wù)建立獨立的任務(wù)函數(shù)。如圖 317 所示為任務(wù)狀態(tài)轉(zhuǎn)換圖 [8]。帶信號或超時到來 等待信號或超時 時間片結(jié)束 時間片到來 READY/TIMEOUT RUNNING WAITING 賀州學院本科生畢業(yè)論文(設(shè)計) 31 有 INTERVAL 值調(diào)用 os_wait 函數(shù)的任務(wù)將被掛起,直到間隔時間 結(jié)束,然后返回到READY 狀態(tài),并可被再次執(zhí)行。 os_wait 函數(shù)掛起當前的任務(wù)(使之變?yōu)榈却龖B(tài))直到指定的事件發(fā)生(接著任務(wù)變?yōu)榫途w態(tài))。 ③ 從 Operating 下拉列表框中選擇 RTX51 Tiny。在多任務(wù)實時系統(tǒng)下就會出現(xiàn)“資源沖 突”的問題。當這個值為 0時禁止 Roundrobin 切換。 其中進程 0和進程 1的程序流程是大致相同的。節(jié)拍是兩位,有四種狀態(tài),表示四種節(jié)拍;音高是兩位,有四種狀態(tài),表示三種不同的音高(低音、中音、高音)
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1