單片機(jī)課程設(shè)計(jì)心得【模版】_第1頁(yè)
單片機(jī)課程設(shè)計(jì)心得【模版】_第2頁(yè)
單片機(jī)課程設(shè)計(jì)心得【模版】_第3頁(yè)
單片機(jī)課程設(shè)計(jì)心得【模版】_第4頁(yè)
單片機(jī)課程設(shè)計(jì)心得【模版】_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、cheng單片機(jī)課程設(shè)計(jì)報(bào)告(貪吃蛇)院 校: 專 業(yè): 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)老師: 設(shè)計(jì)日期:一、選題的背景與意義單片微型機(jī)簡(jiǎn)稱單片機(jī),它是在一片芯片上集成了中央處理部件,存儲(chǔ)器、 定時(shí)器/計(jì)數(shù)器和各種輸入輸出設(shè)備等接口部件。單片機(jī)是微機(jī)發(fā)展的一個(gè)重要 的分支,自問(wèn)世以來(lái),性能不斷地改善和提高,加之單片機(jī)具有集成度高、功能 強(qiáng)、速度快、體積小、功耗小、使用方便、性能可靠、價(jià)格便宜等優(yōu)點(diǎn),故在工 業(yè)控制、數(shù)據(jù)采集和處理、通信系統(tǒng)、家用電器等領(lǐng)域的應(yīng)用日益廣泛。國(guó)內(nèi)雖 然起步較晚,但單片機(jī)的潛力越來(lái)越被人們所重視, 尤其在工業(yè)控制、自動(dòng)化儀 器儀表、計(jì)算機(jī)系統(tǒng)接口、智能化外設(shè)等應(yīng)用

2、領(lǐng)域發(fā)展很快。它的應(yīng)用對(duì)于產(chǎn)品 升級(jí)換代、機(jī)電一體化都具有重要的意義,在工業(yè)生產(chǎn)中,電流、電壓、溫度、 壓力、流量、流速和開(kāi)關(guān)量都是常用的主要被控參數(shù), 被用于各種不同產(chǎn)品的生 產(chǎn)。在通信行業(yè)更為廣泛利用,手機(jī)從只能基本通話,到現(xiàn)在一臺(tái)手機(jī)擁有各種 不同的功能,單片機(jī)得到了廣泛的應(yīng)用。手機(jī)可以聽(tīng)音樂(lè),聽(tīng)收音機(jī),玩游戲, 照相片等等,比較流行的手機(jī)游戲貪吃蛇就能用單片機(jī)實(shí)現(xiàn)。二、研究的基本內(nèi)容與擬解決的主要問(wèn)題貪吃蛇游戲設(shè)計(jì)主要硬件由單片機(jī)最小系統(tǒng),8*8點(diǎn)陣,4個(gè)方向按鍵,7805 穩(wěn)壓電路,整個(gè)的游戲設(shè)計(jì)外圍電路比較少, 主要核心在于游戲的程序設(shè)計(jì),本 設(shè)計(jì)的游戲規(guī)則也參照現(xiàn)在手機(jī)流行的貪吃

3、蛇游戲的規(guī)則去設(shè)計(jì),當(dāng)蛇吃到食物時(shí),蛇身就會(huì)自動(dòng)增加一格,食物隨機(jī)出現(xiàn)在屏幕上,當(dāng)蛇碰到墻壁時(shí),游戲結(jié) 束。本設(shè)計(jì)需要考慮的問(wèn)題有以下幾個(gè):1. 8*8點(diǎn)陣的選擇2. 保證游戲的流暢性和及時(shí)響應(yīng)性3. 游戲的設(shè)計(jì)應(yīng)該接近人性化貪吃蛇初始化子程序流程圖貪吃蛇運(yùn)行子程序是整個(gè)程序設(shè)計(jì)的核心, 首先由系統(tǒng)檢測(cè)是否有按鍵按 下,確定有按鍵按下后,外部中斷程序自動(dòng)執(zhí)行,開(kāi)始掃描矩陣鍵盤,得到鍵值, 根據(jù)鍵值判斷貪吃蛇要走的方向。在游戲運(yùn)行的期間,系統(tǒng)不斷檢測(cè)蛇是否死亡, 蛇是否已經(jīng)最長(zhǎng),蛇是否吃到了食物。若蛇已經(jīng)死亡,則蛇的死亡標(biāo)記位被置位, 跳轉(zhuǎn)到死亡界面,檢測(cè)是否有按鍵按下,有就跳轉(zhuǎn)到游戲開(kāi)始界面,

4、重新開(kāi)始游 戲,無(wú)則等到有任意鍵按下。游戲的速度控制由延時(shí)程序決定, 若延時(shí)程序延時(shí) 短,貝U蛇移動(dòng)得快,若延時(shí)比較長(zhǎng),貝U蛇移動(dòng)得慢。若蛇已經(jīng)吃到食物,貝恠放 食物的原來(lái)的坐標(biāo)會(huì)消除顯示,重新讀取計(jì)數(shù)器的值,通過(guò)計(jì)算得到要放置食物 的坐標(biāo),在該坐標(biāo)上顯示食物。1 準(zhǔn)備工作? 認(rèn)真詳細(xì)的閱讀任務(wù)書,深刻了解主要的內(nèi)容和要求。? 查閱與貪吃蛇相關(guān)的書籍,了解貪吃蛇的工作原理。? 了解歷年全國(guó)大學(xué)生電子競(jìng)賽有關(guān)貪吃蛇的資料。?根據(jù)控制要求初步確定所使用的元器件。2.實(shí)施步驟? 明確控制要求,繪制電路連接圖。? 參考文獻(xiàn),檢查電路圖的正確性。? 根據(jù)電路連接圖焊接電路板,制作貪吃蛇模型。? 分析操作

5、流程,繪制程序流程圖。? 編寫程序代碼。? 運(yùn)用電腦軟件初步對(duì)程序進(jìn)行調(diào)試。? 配合貪吃蛇硬件部分,并完善功能,達(dá)到設(shè)計(jì)要求。3 設(shè)計(jì)方案(1) 8*8點(diǎn)陣方案8X8點(diǎn)陣LED比LCD128X64吉構(gòu)更簡(jiǎn)單,不需要任何的指令集,即對(duì)I/O 口直接輸出可以使用。若選用8X8點(diǎn)陣LED顯示屏,8X8的led點(diǎn)陣能使 用的范圍很少,對(duì)增強(qiáng)游戲的功能方面加以限制,顯然有點(diǎn)大,不美觀,但 取材容易。(2) 電源單元方案采用usb供電,通過(guò)usb能使51單片機(jī)更加穩(wěn)定在正常的工作范圍內(nèi)使得 51更好的工作。(3)萬(wàn)向單元萬(wàn)案禾U用方向按鍵來(lái)引導(dǎo)蛇的移動(dòng)方向到達(dá)用戶所指定的地點(diǎn)三:設(shè)計(jì)流程(重要)1原理圖(

6、摘自互聯(lián)網(wǎng))chengchengchengchengFIJ>VOLFl 1muFl 2RilFl JHZPI iPfl3PI 3 FlJfrEH斗 nJFl 7RIHRSTFW7ISUCDJF3-0tTXDiFS I ALE/TRCMriR :rTvTiPi mnaiF34 rniMJ ijvkira.tI 麗?3 7XI AU XTALIFNTJ9 Hl-H2Y出H4H'I",了HlLfl5chengchengmochengchengchengchengGWISE 按 口chengchengchengchengL1 J二i*-r- ix2:單片機(jī)使用(如圖)L8L7L

7、6L5L4L3Pl 0 ?1 1Pl .2Pl 3Pl 4Pl 5Pl .6Pl .7RST(RXD)?3.0 (TXD)P3.1(INT1)PS3 (TOJP3 4 (TDP3.5 (WRkPL百 (RDJP37XIAL2 XT AL GND亦P0.6 _P0.7 EATPALE PROGPSENP2.P2H3H5 w zz IEOJ.234POLPOLPOLmm-匣lTchengcheng這次試驗(yàn)用到了 P0.P2.P3 口。P0, P2 口作為點(diǎn)陣的輸入口P3.4P3.5P3.6P3.7作為上下左右下圖為源程序控制定義bbit up=P3 4;/downsbit <iown=P3

8、5;陽(yáng)it迅訪t二P3E&bit left=P37;ILl3:原件清單u匕u1Comme ntDescriptionDesignatorQuantity210uF電容C11320pF電春C2, C324Header 2電源接口P1151OK電辺R116220排阻RV117SW按鍵S1, S2 S3, S4 S558U1單片機(jī)U1198*8 jA 陣U21.012M晶悵Y114:關(guān)于焊接方面的問(wèn)題和圖解電源GHI開(kāi)關(guān)掩id : t:這兩個(gè)腳按鍵內(nèi)部是接在一起的這兩卜腳芨謎內(nèi)都是接在一起的chengchengchengchengchengcheng3源程序#include <reg5

9、1.h>#define uchar unsigned char/最大長(zhǎng)度顯示延時(shí)時(shí)間/速度控制#define SNAKE 20#define TIME 50#define SPEED 40/#define keyenable 1sbit keyenable=P3A6;/方向使能/*sbit keyx=P0A1;/左右sbit keyy=P0A2;/上下*/sbit up=P0A0;sbit up=P3八4;/downsbit down=P3八5;sbit right=P3八6;sbit left=P3A7;uchar xSNAKE+1;uchar ySNAKE+1;uchar time,

10、n,i,e;/延時(shí)時(shí)間,當(dāng)前蛇長(zhǎng),通用循環(huán)變量,當(dāng)前速度char addx,addy;/位移偏移量/*延時(shí)程序*/void delay(char MS) char us,us n;while(MS!=0)usn = 0;while(us n!=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()/ inter

11、rupt 0 using 2/up=1;if(keyenable)if(left)addy=0;if(addx!=1)addx=-1; else addx=1; if(right)addy=0;if(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(tem

12、p=3)return 8;if(temp=2)return 4;if(temp=1)return 2;chengchengif(temp=O)return 1;return 0;/*顯示時(shí)鐘顯示程序*/void timerO(uchar k)while(k-)for(i=0;i<SNAKE+1;i+)P0=mux(xi);P2=255-mux(yi);turnkey。;/上下左右鍵位處理/*主程序*/void main(void)e=SPEED;P仁0 x00;P2=0xff;P0=0x00;P3=0x00;while(1)for(i=3;i<SNAKE+1;i+)xi=100;f

13、or(i=3;i<SNAKE+1;i+)yi=100;初始化n=3;蛇長(zhǎng) n=-1addx=0;addy=0;位移偏移k=1;while(1)if(keye nable)break;timer0(1);while(1)timer0(e);if(kn ock()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=x n-2;for(i=n-1;i>1;i-)xi=xi-1;yi=yi-1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論