資源描述:
《ARM課程設計報告-基于arm的猜拳游戲設計》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、ARM課程設計報告基于ARM的猜拳游戲設計院系:專業(yè)(班級):姓名:學號:指導教師:職稱:完成日期:成績:目錄1引言32設計目的43設計內容44設計步驟45設計要點46設計內容56.1流程圖56.2程序66.2.1頭文件66.2.2圖像定義模塊76.2.3勝負定義模塊86.2.4畫面定義模塊116.3運行圖像137結論148謝辭159參考文獻16基于ARM的猜拳游戲設計1引言嵌入式系統(tǒng)是將先進的計算機技術、半導體技術和電子技術與各個行業(yè)的具體應用相結合后的產物。近年來,嵌入式產品己經成為IT產業(yè)的主流,越來越
2、多的企業(yè)和研發(fā)機構都轉向嵌入式系統(tǒng)的設計與應用上。從嵌入式操作系統(tǒng)未來的演變趨勢看,PDA、手機等移動終端設備的快速增長,大大促進了嵌入式操作系統(tǒng)的發(fā)展。未來嵌入式系統(tǒng)的主要增長動力來自于消費類行業(yè),比如嵌入式游戲。本次設計就是基于嵌入式ARM技術設計的一款猜拳游戲2設計目的通過課程設計掌握嵌入式系統(tǒng)開發(fā)臺的使用方法,掌握嵌入式系統(tǒng)基本程序開發(fā)方法,掌握嵌入式系統(tǒng)軟件設計過程中常用調試方法。了解嵌入式系統(tǒng)最新發(fā)展趨勢。以及了解和熟悉一些常用的實時嵌入式操作系統(tǒng)。培養(yǎng)學生綜合運用已學知識解決實際工程技術問題的能
3、力、查閱圖書資料和各種工具書的能力、工程繪圖能力、撰寫技術報告和編制技術資料的能力,受到一次嵌入式系統(tǒng)設計方面的基本訓練。3設計內容1、研究實現(xiàn)任務的方法根據(jù)要求實現(xiàn)猜拳游戲設計,基本規(guī)則為老板大于警察,警察大于土匪,土匪大于平民,平民大于老板。電腦則隨機選擇一個,在選擇的同時圖片顯示在lcd屏幕上。由事先設定的程序判定勝負,并顯示出字符。2、設計電路,編寫程序3、在實驗裝置上進行硬件測試4設計步驟1、收集材料;2、方案論證;3、設計電路,編寫程序;4、利用實驗設備進行硬件聯(lián)接,組裝程序、運行并調試程序,驗證
4、預期的功能的實現(xiàn);5設計要點掌握嵌入式系統(tǒng)的工程設計方法,利用ADS集成開發(fā)環(huán)境或其它嵌入式系統(tǒng)開發(fā)環(huán)境完成設計任務。1、查找與本次任務最接近的工程項目2、本次任務的硬件電路或內部模塊由于猜拳游戲內容自行設計,所以定為人機對戰(zhàn),玩家可以有四種選擇:老板、警察、土匪、平民。其中4個選擇互相克制,沒有絕對的勝者。本次任務內部模塊分為:頭文件、圖像定義模塊、勝負定義模塊、畫面定義模塊、初始化界面、主程序。2、編寫本次任務程序3、編譯及調試4、實驗現(xiàn)象分析6設計內容6.1流程圖6.2程序6.2.1頭文件#includ
5、e"target.h"#include"2410LIB.h"#include"2410addr.h"#include"....Touch_driverinctouch2410.h"#include"..guiglibglib.h"#include"....lcddrvinclcd.h"#include"....lcddrvinclcdlib.h"externGUI_FONTGUI_Font8x16;externGUI_FONTCHINESE_FONT12;externGUI_FO
6、NTCHINESE_FONT16;externunsignedintrandomnumber(void);externvoidGL_DispChar(U16c);externvoid__PIC1(void);externvoid__PIC2(void);externvoid__PIC3(void);externvoid__PIC4(void);//圖片文件,565格式16位位圖數(shù)據(jù)U8sm1=0,sm2=0,sm3=0;U8style;U8tupian;intk,mflag;U8random;U8a[2]={
7、0,0};char*b[]={"0","1","2","3","4","5","6","7","8","9"};6.2.2圖像定義模塊voiddrawpic0(U16x,U16y,U16*pic_addr){U16*picture;//定義圖像文件指針U16i,j,k;picture=pic_addr+35;//圖像數(shù)據(jù)起始地址35個字(U16)for(j=140;j>0;j--){for(k=0;k<220;k++){i=*picture;picture++;//下一像素LCD_SetColor(i);//
8、得到顏色LCD_DrawPixel(k+50,j+80);//寫到顯示緩沖區(qū)}}}voidGeneration(U8style){U8z;z=style;if(z==1){drawpic0(0,0,(U16*)__PIC3);};if(z==2){drawpic0(0,0,(U16*)__PIC2);};if(z==3){drawpic0(0,0,(U16*)__PIC1);};if(z==4){d