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

正文內(nèi)容

基于arm9的貪吃蛇游戲-全文預(yù)覽

2025-07-17 14:20 上一頁面

下一頁面
  

【正文】 { xNode Type = TP_Space。 xNode isBlock=0。 } } else { if ( gamelevel == 2 ) { If ( ( x == W_XSize/2 amp。 if ( gamelevel == 1 ) //根據(jù)不同的關(guān)口初始化界面 { If ( x == 0 || y == 0 || x == W_XSize1 || y == W_YSize1 ) //如果是第一關(guān),則沒有障礙物 { xNode Type = TP_Block。x++) { xNode = amp。// 顯示姓名,學(xué)號 文本 For ( y = 0 。 MoveTo ( pdc,420,440 )。 // 畫線 MoveTo ( pdc,20,480 )。 OSSemPend ( WorldSem,0,amp。 else return 100 + lastData。 //定義換算結(jié)果變量 ADData = GetADresult(0)。//判斷是否轉(zhuǎn)換結(jié)束 return ( 0x3ff amp。}int GetADresult ( int channel){ rADCCON = ADCCON_ENABLE_START_BYREAD | ( channel 3 )| PRSCEN | PRSCVL。 // 游戲用時(shí)BOOLEAN isRunning = 1。 // 定義時(shí)間常量PDC pdc。 // 定義節(jié)點(diǎn)類型的數(shù)組大小為游戲界面的長和款WorldNode *HeadNode,*TailNode,*CakeNode。 //functions................. 函數(shù)聲明void UpdateNextNode ( struct WorldNode* xNode, enum Direction Dir )。 //方向類型的變量 enum Direction PreDir。enum Direction { Up = 0,Down = 1,Left = 2,Right = 3}。 //定義游戲運(yùn)行信號量define W_XSize 32 // 游戲屏幕的寬度define W_YSize 21 // 游戲屏幕的高度define CakeLength 3 // 定義每次吃個(gè)食物蛇長增加3//defs......................struct Pt //定義坐標(biāo)變量{ INT8U x。 //Main_Test_Taskdefine Main_Task_Prio 12OS_STK Snake_Stack [STACKSIZE] ={ 0, }。所以我們要思考討論簡單的程序,這樣簡單的方法更容易被人理解,更容易實(shí)現(xiàn),也更容易維護(hù)。三人行必有我?guī)?,也許在一次和別人不經(jīng)意的談話中,就可以迸出靈感的火花。在編程是我們要有豐富的想象力。這是因?yàn)樯咭苿訒r(shí)候所用的坐標(biāo)原點(diǎn)和畫游戲界面所用的坐標(biāo)原點(diǎn)不一樣,在判斷蛇是否超出邊框時(shí)要注意計(jì)算在新坐標(biāo)原點(diǎn)下,邊框的位置,以便準(zhǔn)確判斷出蛇是否超出游戲界面。不足之處:(1)方向按鍵按下后,要有一定的延遲蛇才能對按鍵作出反應(yīng),這個(gè)延遲不是很明顯,但是剛開始游戲的時(shí)候,總感覺不能剛好控制蛇吃到食物,需要稍微提早一些時(shí)間按下按鍵才能讓蛇延目標(biāo)方向移動。將開發(fā)板上的Flash 激活并使Windows 認(rèn)其為一個(gè)運(yùn)行結(jié)果與不足: 本程序能夠完成設(shè)計(jì)目的的所有基本要求;(1)能夠通過方向鍵來控制蛇的移動方向;(2)蛇吃到食物后能夠重新出現(xiàn)食物;并且能夠更新和顯示分?jǐn)?shù),時(shí)間;(3)每吃到5個(gè)食物后,游戲能夠自動進(jìn)入下一關(guān),并能通過增加蛇的移動速度來增加游戲的難度;(4)能夠通過實(shí)驗(yàn)箱上的旋鈕控制蛇的運(yùn)行速度。(8)使用在Processor View 菜單下的Registers、Variables 和Memory 命令可以查看工作寄存器或者內(nèi)存變量。(6)通過Execute | Step 菜單(或者工具欄中的相應(yīng)按鈕)可以單步運(yùn)行程序。(4)點(diǎn)Select 按鈕選擇遠(yuǎn)程連接為ARM ethernet driver,點(diǎn)Configure 按鈕輸入仿真器的IP 地址。如果某個(gè)源文件被修改,重新編譯時(shí)ADS 會自動同步各文件的日期信息。 else { if (level==2) return 200 + lastData。 U16 lastData。//刪除消息 } DestoryDC(pdc)。 ) { pMsg = WaitMessage ( 0)。 Pdc = CreateDC ()。void Main_Task ( void *Id ) { POSMSG pMsg=0。WorldArray[y][x]。 While (1) { X = rand () %W_XSize。 //new head5 食物的產(chǎn)生食物的產(chǎn)生主要要注意食物產(chǎn)生之前,我們必須要判斷畫面上面是已經(jīng)存在食物,如有已經(jīng)存在食物了,就不再產(chǎn)生食物,如果食物被蛇吃到了,那就要重新畫上食物。 //new tail } HeadNode Type = TP_SkBody。 DrawPoint ( TailNode )。這時(shí)候蛇頭的屬性和第4節(jié)的屬性是一樣的,這時(shí)候需要判斷蛇的方向變量的值,根據(jù)蛇的方向變量的值補(bǔ)畫上蛇頭。//Hit a Block goto SnakeStep_End。 RandCake()。 if(HeadNodeType==TP_Cake) { score++。 RandCake()。 xNodeisBlock=1。 xNodePreDir=Left。WorldArray[W_YSize/2][W_XSize/2]。 HeadNode=xNode。//Snake Head xNode=amp。 MoveTo(pdc,420,440)。 MoveTo(pdc,20,480)。并調(diào)用繪圖上下文設(shè)備完成游戲界面的初始化,顯示關(guān)口,得分和時(shí)間。 OSStart()。Main_Stack[STACKSIZE1], Main_Task_Prio)。}OSInitUart()軟件初始化1)系統(tǒng)初始化 initOSMessage()。硬件初始化主要有AD轉(zhuǎn)換器的初始化,LCD的初始化,串口初始化,ARM目標(biāo)板的初始化等,軟件初始化包括了系統(tǒng)初始化,游戲初始化。任務(wù)二主要功能是控制并在屏幕上顯示蛇的移動和速度,并完系統(tǒng)初始化任務(wù)一任務(wù)二等待鍵盤消息控制蛇移動AD采樣LCD顯示圖31 系統(tǒng)結(jié)構(gòu)框圖任務(wù)一,任務(wù)二就緒是否有鍵盤消息任務(wù)一掛起任務(wù)二運(yùn)行任務(wù)二掛起任務(wù)一運(yùn)行圖32 任務(wù)切換框圖8等待鍵盤消息是否有按鍵按下識別是哪個(gè)按鍵是否如果蛇現(xiàn)在的方向是左或者右就把方向改成向上如果蛇現(xiàn)在的方向是左或者右就把方向改成向下如果蛇現(xiàn)在的方向是上或者下就把方向改成向左如果蛇現(xiàn)在的方向是上或者下就把方向改成向右如果游戲是運(yùn)行的則改為競爭,靜止就改為運(yùn)行246/n圖33 系統(tǒng)主任務(wù)流程框圖成對分?jǐn)?shù),游戲等級和其他相關(guān)參數(shù)的記錄和顯示。貪吃蛇每吃一個(gè)食物分?jǐn)?shù)會增加,屏幕上顯示得分和游戲所用時(shí)間。貪吃蛇由若干連續(xù)黃色方塊構(gòu)成,程序中隨機(jī)出現(xiàn)一些“食物”(用藍(lán)色的方塊表示),貪吃蛇通過吃“食物”增加自身的長度并增加相應(yīng)的分值。有了這些部件,用戶就可以為ARM系列的RISC處理器編寫和調(diào)試自己的開發(fā)應(yīng)用程序了。提供軟件模擬仿真功能,使沒有Emulators的學(xué)習(xí)者也能夠熟悉ARM的指令系統(tǒng)。注意GPS 的RS232 需要增加MAX3232芯片來轉(zhuǎn)換為TTL 才能引到168Pin 插座上。同時(shí)剩余IO 可以控制CAN 等電路,以節(jié)省CPU 的GPIO 資源。15.IC 卡插座。11.POWER SUPPLY、RESET、RTC 等必須資源。9.PS2 KEYPAD:使用ATMEGA8 單片機(jī)控制2個(gè)PS2 接口和板載17鍵小鍵盤。網(wǎng)卡部分還在局部總線上,其余電路包括168Pin 擴(kuò)展槽都在外部總線。3.4 HOST / 1 DEVICE USB 接口:主USB 口擴(kuò)展為4個(gè),由AT43301 構(gòu)成USB HUB,其中電源管理用MIC2525。uC/OS II作為一個(gè)源代碼公開的操作系統(tǒng),在具體應(yīng)用中穩(wěn)定可靠,并且支持uIP TCP/IP協(xié)議棧、ucGUI等,可擴(kuò)展性強(qiáng),功能強(qiáng)大。   對功能、可靠性、成本、體積和功耗嚴(yán)格要求的嵌入式系統(tǒng)一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個(gè)部分組成,其中嵌入式微處理器和嵌入式操作系統(tǒng)分別是其硬件和軟件的核心??蓜儕Z型的實(shí)時(shí)內(nèi)核在任何時(shí)候都運(yùn)行就緒了的最高優(yōu)先級的任務(wù)。對一個(gè)多任務(wù)的操作系統(tǒng)來說,任務(wù)間的通信和同步是必不可少的。 uC/OSII中把連續(xù)的大塊內(nèi)存按分區(qū)管理。中斷發(fā)生的時(shí)間間隔是固定不變的,該中斷也成為一個(gè)時(shí)鐘節(jié)拍。63為最低級,系統(tǒng)保留了4個(gè)最高優(yōu)先級的任務(wù)和4個(gè)最低優(yōu)先級的任務(wù),所有用戶可以使用的任務(wù)數(shù)有56個(gè),每個(gè)任務(wù)都有不同的優(yōu)先級,用戶在創(chuàng)建任務(wù)的時(shí)候定義該任務(wù)的優(yōu)先級。但由于uC/OSII良好的可擴(kuò)展性和源碼開放,這些非必須的功能完全可以由用戶自己根據(jù)需要分別實(shí)現(xiàn)。關(guān)鍵詞:μC/OS ARM9 嵌入式 貪吃蛇一 開發(fā)環(huán)境簡介μC /OSII操作系統(tǒng)μC/OSII是一種可移植的,可植入ROM的,可裁剪的,搶占式的,實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核。文中首先μC/OSII系統(tǒng)和ARM9進(jìn)行了介紹,然后對設(shè)計(jì)要求進(jìn)行分析,給出了系統(tǒng)總體上設(shè)計(jì),并對各個(gè)功能模塊進(jìn)行了介紹,緊接著給出了 系統(tǒng)軟件設(shè)計(jì),最后介紹了系統(tǒng)的調(diào)試方法和測試結(jié)果。沒有提供輸入輸出管理,文件系統(tǒng),網(wǎng)絡(luò)等額外的服務(wù)。μC /OSII 中最多可以支持64個(gè)任務(wù),分別對應(yīng)優(yōu)先級0~63,其中0 為最高優(yōu)先級。uC/OSII的時(shí)間管理是通過定時(shí)中斷來實(shí)現(xiàn)的,該定時(shí)中斷一般為10毫秒或100毫秒發(fā)生一次,時(shí)間頻率取決于用戶對硬件系統(tǒng)的定時(shí)器編程來實(shí)現(xiàn)。但在嵌入式實(shí)時(shí)系統(tǒng)中,多次這樣的操作會導(dǎo)致內(nèi)存碎片,且由于內(nèi)存管理算法的原因,malloc和free的執(zhí)行時(shí)間也是不確定。釋放內(nèi)存時(shí)將該塊放回它以前所屬的分區(qū),這樣能有效解決碎片問題,同時(shí)執(zhí)行時(shí)間也是固定的。uC/OSII 采用的是可剝奪型實(shí)時(shí)多任務(wù)內(nèi)核。隨著信息化技術(shù)的發(fā)展和數(shù)字化產(chǎn)品的普及,以計(jì)算機(jī)技術(shù)、芯片技術(shù)和軟件技術(shù)為核心的嵌入式系統(tǒng)再度成為當(dāng)前研究和應(yīng)用的熱點(diǎn)。采用基于ARM9的S3C2410嵌入式微處理器,可以使系統(tǒng)具備高性能的運(yùn)算能力的同時(shí)便于與各種外設(shè)連接擴(kuò)展,簡化了硬件設(shè)計(jì),維持小型化的同時(shí)降低了系統(tǒng)成本。2.Double 100M EtherNet網(wǎng)卡:均由AX88796 構(gòu)成,采用現(xiàn)有電路但分配不同地址。5.168Pin EXPORT:有一個(gè)168Pin 擴(kuò)展卡插槽,并去掉已經(jīng)被主板上各模塊占用的資源。7.TouchScr:采用ADS7843,預(yù)備了直接用2410 內(nèi)部ADC 構(gòu)成的轉(zhuǎn)換電路接口8.AUDIO:采用UDA1341,具有放音、錄音等功能。同時(shí)可作IIC 總線實(shí)驗(yàn)。14.PCMCIA 和SD 卡插座:由EPM3128A100 CPLD 實(shí)現(xiàn)。步進(jìn)電機(jī)采用74HC573 擴(kuò)展IO,軟件形成時(shí)序來控制。19.GPRS/GPS 擴(kuò)展板不做在主板上,單獨(dú)設(shè)計(jì)擴(kuò)展板。C編譯器效率極高,支持c 以及c++,使工程師可以很方便的使用C語言進(jìn)行開發(fā)。ADS由命令行開發(fā)工具,ARM實(shí)時(shí)庫,GUI開發(fā)環(huán)境(Code Warrior和AXD),適用程序和支持軟件組成。本課程設(shè)計(jì)有關(guān)貪吃蛇的功能描述:可以通過嵌入式平臺的鍵盤控制游戲,鍵盤中起作用的是方向鍵(2,4,6,8)和回車鍵,方向鍵控制蛇的上下左右運(yùn)動,回車鍵控制游戲的繼續(xù)和暫停。為了增加難度,加入AD轉(zhuǎn)換器用于控制蛇的運(yùn)動速度,這也是本設(shè)計(jì)的創(chuàng)新點(diǎn)。任務(wù)一主要功能是等待鍵盤消息,有鍵盤消息的時(shí)候判斷是什么鍵盤,并對相應(yīng)的變量重新賦值。四 系統(tǒng)具體功能的實(shí)現(xiàn)1初始化初始化包括了硬件初始化和軟件初始化。void init_ADdevic
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1