版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、傳播優(yōu)秀word版文檔 ,希望對您有幫助,可雙擊去除!單片機課程設(shè)計報告(貪吃蛇)院 校: 專 業(yè): 班 級:姓 名: 學(xué) 號: 指導(dǎo)老師:設(shè)計日期:一、 選題的背景與意義 單片微型機簡稱單片機,它是在一片芯片上集成了中央處理部件,存儲器、定時器/計數(shù)器和各種輸入輸出設(shè)備等接口部件。單片機是微機發(fā)展的一個重要的分支,自問世以來,性能不斷地改善和提高,加之單片機具有集成度高、功能強、速度快、體積小、功耗小、使用方便、性能可靠、價格便宜等優(yōu)點,故在工業(yè)控制、數(shù)據(jù)采集和處理、通信系統(tǒng)、家用電器等領(lǐng)域的應(yīng)用日益廣泛。國內(nèi)雖然起步較晚,但單片機的潛力越來越被人們所重視,尤其在工業(yè)控制、自動化儀器儀表、計
2、算機系統(tǒng)接口、智能化外設(shè)等應(yīng)用領(lǐng)域發(fā)展很快。它的應(yīng)用對于產(chǎn)品升級換代、機電一體化都具有重要的意義,在工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù),被用于各種不同產(chǎn)品的生產(chǎn)。在通信行業(yè)更為廣泛利用,手機從只能基本通話,到現(xiàn)在一臺手機擁有各種不同的功能,單片機得到了廣泛的應(yīng)用。手機可以聽音樂,聽收音機,玩游戲,照相片等等,比較流行的手機游戲貪吃蛇就能用單片機實現(xiàn)。二、研究的基本內(nèi)容與擬解決的主要問題 貪吃蛇游戲設(shè)計主要硬件由單片機最小系統(tǒng),8*8點陣,4個方向按鍵,7805穩(wěn)壓電路,整個的游戲設(shè)計外圍電路比較少,主要核心在于游戲的程序設(shè)計,本設(shè)計的游戲規(guī)則也參照現(xiàn)在
3、手機流行的貪吃蛇游戲的規(guī)則去設(shè)計,當(dāng)蛇吃到食物時,蛇身就會自動增加一格,食物隨機出現(xiàn)在屏幕上,當(dāng)蛇碰到墻壁時,游戲結(jié)束。本設(shè)計需要考慮的問題有以下幾個:1. 8*8點陣的選擇2. 保證游戲的流暢性和及時響應(yīng)性3. 游戲的設(shè)計應(yīng)該接近人性化開始初始化定時器繪制游戲初始界面初始化貪吃蛇參數(shù)結(jié)束 貪吃蛇初始化子程序流程圖 貪吃蛇運行子程序是整個程序設(shè)計的核心,首先由系統(tǒng)檢測是否有按鍵按下,確定有按鍵按下后,外部中斷程序自動執(zhí)行,開始掃描矩陣鍵盤,得到鍵值,根據(jù)鍵值判斷貪吃蛇要走的方向。在游戲運行的期間,系統(tǒng)不斷檢測蛇是否死亡,蛇是否已經(jīng)最長,蛇是否吃到了食物。若蛇已經(jīng)死亡,則蛇的死亡標(biāo)記位被置位,跳
4、轉(zhuǎn)到死亡界面,檢測是否有按鍵按下,有就跳轉(zhuǎn)到游戲開始界面,重新開始游戲,無則等到有任意鍵按下。游戲的速度控制由延時程序決定,若延時程序延時短,則蛇移動得快,若延時比較長,則蛇移動得慢。若蛇已經(jīng)吃到食物,則在放食物的原來的坐標(biāo)會消除顯示,重新讀取計數(shù)器的值,通過計算得到要放置食物的坐標(biāo),在該坐標(biāo)上顯示食物。1準(zhǔn)備工作Ø 認(rèn)真詳細(xì)的閱讀任務(wù)書,深刻了解主要的內(nèi)容和要求。Ø 查閱與貪吃蛇相關(guān)的書籍,了解貪吃蛇的工作原理。Ø 了解歷年全國大學(xué)生電子競賽有關(guān)貪吃蛇的資料。Ø 根據(jù)控制要求初步確定所使用的元器件。2. 實施步驟Ø 明確控制要求,繪制電路連接
5、圖。Ø 參考文獻,檢查電路圖的正確性。Ø 根據(jù)電路連接圖焊接電路板,制作貪吃蛇模型。Ø 分析操作流程,繪制程序流程圖。Ø 編寫程序代碼。Ø 運用電腦軟件初步對程序進行調(diào)試。Ø 配合貪吃蛇硬件部分,并完善功能,達到設(shè)計要求。3設(shè)計方案(1)8*8點陣方案8x8點陣led比lcd128x64結(jié)構(gòu)更簡單,不需要任何的指令集,即對i/o口直接輸出可以使用。若選用8x8點陣led顯示屏,8x8的led點陣能使用的范圍很少,對增強游戲的功能方面加以限制,顯然有點大,不美觀,但取材容易。(2)電源單元方案采用usb供電,通過usb能使51單片機更加
6、穩(wěn)定在正常的工作范圍內(nèi)使得51更好的工作。(3)方向單元方案利用方向按鍵來引導(dǎo)蛇的移動方向到達用戶所指定的地點。三:設(shè)計流程(重要)1:原理圖(摘自互聯(lián)網(wǎng))2:單片機使用(如圖)這次試驗用到了p0.p2.p3口。p0,p2口作為點陣的輸入口p3.4 p3.5 p3.6 p3.7作為上下左右下圖為源程序控制定義3:原件清單4:關(guān)于焊接方面的問題和圖解電源開關(guān) 3源程序#include <reg51.h>#define uchar unsigned char#define snake 20 /最大長度#define time 50 /顯示延時時間#define speed 40 /速度
7、控制/#define keyenable 1sbit keyenable=p36;/方向使能/*sbit keyx=p01;/左右sbit keyy=p02;/上下*/sbit up=p00;sbit up=p34; /downsbit down=p35;sbit right=p36;sbit left=p37;uchar xsnake+1;uchar ysnake+1; uchar time,n,i,e; /延時時間,當(dāng)前蛇長,通用循環(huán)變量,當(dāng)前速度char addx,addy; /位移偏移量/*延時程序*/void delay(char ms)char us,usn;while(ms!=0
8、)usn = 0;while(usn!=0)us=0xff;while (us!=0)us-;usn-;ms-;/*判斷碰撞*/bit knock()bit k;k=0;if(x1>7|y1>7)k=1; /撞墻for(i=2;i<n;i+)if(x1=xi)&(y1=yi)k=1; /撞自己return k;/*上下左右鍵位處理*/void turnkey()/ interrupt 0 using 2 /up=1;if(keyenable)if(left)addy=0;if(addx!=1)addx=-1; else addx=1;if(right)addy=0;i
9、f(addx!=-1)addx=1; else addx=-1;if(up)addx=0;if(addy!=-1)addy=1; else addy=-1;if(down)addx=0;if(addy!=1)addy=-1; else addy=1;/*乘方程序*/uchar mux(uchar temp) if(temp=5)return 32;if(temp=4)return 16;if(temp=3)return 8;if(temp=2)return 4;if(temp=1)return 2;if(temp=0)return 1;return 0;/*顯示時鐘 顯示程序*/void ti
10、mer0(uchar k)while(k-)for(i=0;i<snake+1;i+)p0=mux(xi);p2=255-mux(yi);turnkey(); /上下左右鍵位處理 /*主程序*/void main(void)e=speed; p1=0x00; p2=0xff; p0=0x00; p3=0x00;while(1) for(i=3;i<snake+1;i+)xi=100;for(i=3;i<snake+1;i+)yi=100;/初始化 n=3; /蛇長 n=-1 addx=0;addy=0; /位移偏移 /k=1; while(1)if(keyenable)break;timer0(1); while(1) timer0(e); if(knock()e=speed;break; /判斷碰撞 if(x0=x1+addx)&(y0=y1+addy) /是否吃東西 n+; if(n=snake+1) n=3;e=e-10; for(i=3;i<snake+1;i+)xi=100; for(i=3;i<snake+1;i+)yi=100; x0=xn-2; for(i=n-1;i>1;i-)xi=xi-1;yi=yi-1; x1=x2+addx;y1=y2+addy; /移動
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)公司實習(xí)生協(xié)議
- 歐式酒店羅馬柱施工合同
- 照明工程人工費施工合同
- 會計實習(xí)生聘用合同
- 企業(yè)社會責(zé)任績效
- 糖尿病的健康管理方案設(shè)計
- 工程項目合同質(zhì)量管理情況記錄
- 電子產(chǎn)品測試顧問協(xié)議
- 工程施工轉(zhuǎn)讓合同協(xié)議
- 2022年大學(xué)工程力學(xué)專業(yè)大學(xué)物理下冊期中考試試題B卷-附解析
- 部編版2024年小學(xué)五年級上冊語文《期中》試卷【含答案】
- 整體租賃底商運營方案
- 2023年蘇州城市學(xué)院招聘考試真題
- 應(yīng)用化工技術(shù)職業(yè)生涯規(guī)劃
- 警務(wù)技能培訓(xùn)計劃方案
- 酒店新業(yè)態(tài)(酒店業(yè)發(fā)展趨勢)課件
- 中華文明的五大突出特性
- 法學(xué)生涯發(fā)展展示
- 美容醫(yī)學(xué)倫理學(xué)課件
- 苗圃基地年終總結(jié)匯報
- 燃?xì)庑袠I(yè)用戶服務(wù)與投訴處理
評論
0/150
提交評論