加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

基于51單片機(jī)的貪吃蛇游戲設(shè)計(jì)

09/18 09:53
1197
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 1緒 論
    • 2? 方案分析與選擇
    • 3? 系統(tǒng)硬件設(shè)計(jì)
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

1緒 論

1.1本課題研究的背景及意義

隨著當(dāng)今社會(huì)的發(fā)展,人們的生活節(jié)奏變得越來越快,人們開始逐漸的融入全球化的世界。人們已經(jīng)不再局限于一小塊天地,加班,出差已經(jīng)占據(jù)了現(xiàn)代人生活的絕大部分。這個(gè)時(shí)候,一款簡(jiǎn)單易攜帶、隨時(shí)隨地都可以玩耍的小游戲似乎成了生活必需品,無論是上下班途中,還是閑暇的工作之余,像貪吃蛇這樣的小游戲都是不錯(cuò)的放松選擇。貪吃蛇作為一款經(jīng)典的小游戲,相信絕大部分的人都玩過。因?yàn)檫@款游戲牢牢地抓住了大部分人的心理,雖然簡(jiǎn)單,但趣味無窮,該游戲既能讓人們體會(huì)玩游戲的快感,也能滿足人們強(qiáng)烈的滿足感,對(duì)于現(xiàn)代高工作量,高壓力的白領(lǐng)一族是一種很好放松的一款游戲。

現(xiàn)代科技飛速發(fā)展,使得各大電子產(chǎn)品開始融入人們的生活,而微電子技術(shù)、計(jì)算機(jī)軟件與應(yīng)用技術(shù)的發(fā)展,加快了電子產(chǎn)品的發(fā)展更新速度,使得人們的日常生活變得更加豐富多彩。而單片機(jī)作為電子產(chǎn)品的核心部件,以其獨(dú)特的構(gòu)造,優(yōu)良的穩(wěn)定性,便宜的價(jià)格在嵌入式領(lǐng)域廣泛運(yùn)用。與以往手機(jī)上的貪吃蛇游戲不同的是:本次設(shè)計(jì),采用單片機(jī)作為基礎(chǔ),LCD12864液晶顯示屏作為顯示器,和揚(yáng)聲器、按鍵一起搭建硬件平臺(tái),再運(yùn)用C語(yǔ)言編寫程序,實(shí)現(xiàn)整個(gè)貪吃蛇游戲。

1.2 國(guó)內(nèi)外研究現(xiàn)狀、水平

在國(guó)內(nèi),我國(guó)在1986年開始對(duì)單片機(jī)就行研究、發(fā)展。此后,單片機(jī)越來越吸引人們的關(guān)注,隨著1987年10月我國(guó)正式成立了國(guó)內(nèi)第一個(gè)全國(guó)性單片機(jī)學(xué)會(huì),頻繁的全國(guó)性單片機(jī)學(xué)術(shù)交流會(huì)與展示會(huì)吸引了更多的人員加入單片機(jī)開發(fā)應(yīng)用的行列。我國(guó)單片機(jī)的應(yīng)用也開始真正的起步了。

隨著單片機(jī)在我國(guó)應(yīng)用的深入,單片機(jī)的普及也得到了廣泛的開展,出版了各類單片機(jī)書刊。全國(guó)各地的單片機(jī)培訓(xùn)基地如雨后的春筍一般地涌出,各地也逐漸成立了當(dāng)?shù)氐膯纹瑱C(jī)分會(huì)。到了1995年,已有北京、上海、深圳、江蘇和天津等20多個(gè)省、市相繼建立了單片機(jī)研究分會(huì),單片機(jī)的應(yīng)用技術(shù)也日趨成熟,改變了以前應(yīng)用單片機(jī)一味地追求總線外接存儲(chǔ)器與I/O的方式(這種方式雖然使用起來比較方便,但并沒有真正地發(fā)揮出單片機(jī)的“單片”特點(diǎn)),開始逐步接受了單片機(jī)應(yīng)該姓“單”的思維模式。尤其從1991年在天津就單片機(jī)召開全國(guó)學(xué)術(shù)交流會(huì)之后,國(guó)內(nèi)也逐步適應(yīng)潮流,開始推廣國(guó)際上流行的單片機(jī)(如摩托羅拉,NEC和飛利浦公司單片機(jī))的應(yīng)用,從而改變了Intel公司單片機(jī)一手遮天的局面。這也

表明了我國(guó)的單片機(jī)應(yīng)用真正得走上了正規(guī)。

至今單片機(jī)在我國(guó)已經(jīng)走過了19個(gè)年頭,雖然時(shí)間不算長(zhǎng),但發(fā)展是很快的。從對(duì)單片機(jī)一無所知,到能獨(dú)立設(shè)計(jì)、自行生產(chǎn)和批量應(yīng)用,這是一個(gè)巨大的飛躍。

而在國(guó)外,Motorola是世界上最大的單片機(jī)廠商,品種全,選擇余地大,新產(chǎn)品多,在8位機(jī)方面有68HC05和升級(jí)產(chǎn)品68HC08,68HC05有30多個(gè)系列200多個(gè)品種,產(chǎn)量超過20億片,8位增強(qiáng)型的單片機(jī)68HC11也有30多個(gè)類型,年產(chǎn)量在1億片以上,升級(jí)的單片機(jī)產(chǎn)品有68HC12,16位單片機(jī)68HC16也擁有十多個(gè)品種.32的位單片機(jī)683xx系列也有幾十個(gè)品種.近年來以PowerPC, Cod fire, M.CORE等作為 CPU,用 DSP 作為輔助模塊集成的單片機(jī)也紛紛推出,目前仍是單片機(jī)的首選品牌Motorola單片機(jī)特點(diǎn)之一是在同樣的速度下所用的時(shí)鐘較Intel 類單片機(jī)低的多因而使得高頻噪聲低,抗干擾能力強(qiáng),更適合用于工控領(lǐng)域以及惡劣環(huán)境.Motorola 8 位單片機(jī)過去策略是掩膜為主,最近推出OTP計(jì)劃以適應(yīng)單片機(jī)的發(fā)展,在32位機(jī)上,M.CORE在性能和功耗上都勝過 ARM7。

1.3 本課題的發(fā)展趨勢(shì)

雖然目前市面上擁有各式各樣的游戲,但是作為比較經(jīng)典的一塊游戲,貪吃蛇的市場(chǎng)價(jià)值還是相當(dāng)大的。原因在于它雖然簡(jiǎn)單,但是很具有誘惑力,能夠讓人愛不釋手。隨著的進(jìn)行,游戲的速度也在不斷加快,能夠給人越來越刺激的感受。另外,這款游戲適合的人群范圍非常廣,大到70、80歲的老人,小到幾歲的小孩都可以玩。這款游戲的優(yōu)勢(shì)在于它簡(jiǎn)單易攜帶,操作性強(qiáng),無論是手機(jī),還是小的游戲機(jī),都能夠很順利的運(yùn)行。而對(duì)于經(jīng)常在外忙碌的人來說,花費(fèi)大量時(shí)間在游戲、娛樂上幾乎是不可能的,大型游戲?qū)λ麄兪切胁煌ǖ?那么像貪吃蛇這樣簡(jiǎn)單易行的小游戲恰好符合他們的需求。

1.4本課題的研究?jī)?nèi)容和達(dá)到的要求

本次設(shè)計(jì)主要研究的內(nèi)容是通過按鍵輸入信息到控制器單片機(jī),再由單片機(jī)控制后面的電路,從而使顯示屏顯示我們需要顯示的游戲界面。需要達(dá)到的設(shè)計(jì)要求是:

①改變貪吃蛇運(yùn)動(dòng)方向的設(shè)計(jì);

②貪吃蛇吃到食物后,自身的變化設(shè)計(jì);

③食物隨機(jī)產(chǎn)生設(shè)計(jì);

④游戲成績(jī)的記錄設(shè)計(jì)。

2? 方案分析與選擇

2.1 系統(tǒng)方案設(shè)計(jì)

根據(jù)系統(tǒng)設(shè)計(jì)的任務(wù)和要求,設(shè)計(jì)框圖如圖2.1所示,圖中控制器(AT89C52)位整個(gè)系統(tǒng)的核心部件,輸入模塊和顯示模塊用來實(shí)現(xiàn)人機(jī)交互的功能,其中,通過鍵盤輸入將需要設(shè)置的參數(shù)和狀態(tài)輸入到單片機(jī)中,并且通過控制器顯示到顯示器上。主要硬件包括STC89C52RC單片機(jī)、時(shí)鐘電路、復(fù)位電路、鍵盤、LCD12864液晶顯示屏、蜂鳴器

圖2.1 系統(tǒng)設(shè)計(jì)框圖

2.2顯示器模塊設(shè)計(jì)方案

由于本次設(shè)計(jì)的是貪吃蛇小游戲,所以必須要將游戲界面呈現(xiàn)出來,那么,具體使用那種顯示器呢?以下給出了三種方案:

方案一:使用七段數(shù)碼管(LED)顯示。雖然數(shù)碼管具有亮度高、工作電壓低、易于集成、驅(qū)動(dòng)簡(jiǎn)單、耐沖擊且性能穩(wěn)定等特點(diǎn),并且它可采用BCD編碼顯示數(shù)字,編程容易,硬件電路調(diào)試簡(jiǎn)單,但是用于顯示,太消耗系統(tǒng)性能,而且不能顯示文字等更多的提示信息,所以不宜選用。

方案二:使用LCD1602:通過電壓對(duì)其顯示區(qū)域進(jìn)行控制,通電就會(huì)顯示,比較方便,LCD1602具有顯示質(zhì)量高、數(shù)字式接口、體積小、重量輕、成本低、功耗低等優(yōu)點(diǎn),但通常用于顯示字母和數(shù)字,不能顯示游戲界面,故不采納。

方案三:使用LCD12864:相比起LCD1602來說,LCD12864功能更加強(qiáng)大,帶有漢字庫(kù),可以顯示漢字和圖形,而且屏幕分辨率較高,用于游戲界面顯示比較好。

綜上三種方案,在本次系統(tǒng)中,我們采用LCD12864液晶顯示屏。

2.3 按鍵輸入模塊設(shè)計(jì)方案

在系統(tǒng)中,我們需要通過按鍵來實(shí)現(xiàn)改變貪吃蛇的運(yùn)動(dòng)方向,以及菜單項(xiàng)的選擇。那么,鍵盤就是整個(gè)系統(tǒng)中不可缺少的一部分。具體有以下兩種方案以供選擇:

方案一:矩陣式鍵盤,這種鍵盤I/O口利用率高,但電路連接復(fù)雜,軟件編

程也比較復(fù)雜,適用于需要大量使用案件的系統(tǒng)。

方案二:獨(dú)立式鍵盤,這種鍵盤每個(gè)按鍵之間是相互獨(dú)立的,每個(gè)按鍵占用一條I/O線,當(dāng)按鍵數(shù)量較多時(shí),I/O口利用率不高,但程序編寫簡(jiǎn)單,適用于所需按鍵較少的場(chǎng)合。

根據(jù)以上兩種方案的描述,再結(jié)合我們的系統(tǒng)設(shè)計(jì),顯而易見,我們需要獨(dú)立式鍵盤,所以,這里我們選擇方案一。

2.4 本課題的技術(shù)指標(biāo)

電源電壓 ≥ 5.0V

②緩沖時(shí)間 ≤0.1s

2.5 本課題的創(chuàng)新

本次設(shè)計(jì)采用51單片機(jī)作為控制器,在傳統(tǒng)貪吃蛇游戲的基礎(chǔ)上,采用LCD12864作為游戲顯示界面,不僅能實(shí)現(xiàn)貪吃蛇游戲的接本操作,而且操作空間更大,可行性更高。

3? 系統(tǒng)硬件設(shè)計(jì)

3.1單片機(jī)的選擇與其性能分析

3.1.1 單片機(jī)概述

單片機(jī)是一種集成電路芯片,它是一種把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。單片機(jī)也稱為單片微型計(jì)算機(jī)(Single Chip Microcomputer)。為了方便使用,它把組成計(jì)算機(jī)的一些主要功能部件:中央處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM、EPROM、E2PROM或FLASH)、定時(shí)/計(jì)數(shù)器和各種輸入/輸出接口電路等都集成在一塊半導(dǎo)體芯片上,構(gòu)成了一個(gè)完整的計(jì)算機(jī)系統(tǒng)。與通用的計(jì)算機(jī)不同,單片機(jī)的指令功能是按照工業(yè)控制的要求設(shè)計(jì),因此它又被稱為微控制器(Microcontroller)。

3.1.2 單片機(jī)STC89C52RC的介紹

STC89C52RC是由STC公司生產(chǎn)的新一代的高速度、抗干擾強(qiáng)、低功耗的單片機(jī),它能夠完全兼容傳統(tǒng)的51單片機(jī)且其容量更大,價(jià)格更加低廉,所以在實(shí)際應(yīng)用中常常使用。其工作頻率一般在0-40MHz之內(nèi),相當(dāng)于一般51單片機(jī)的0-80MHz,但實(shí)際的工作頻率可達(dá)到48MHz左右,用戶的應(yīng)用程序空間在8K字節(jié),片上集成512字節(jié)RAM,同時(shí)該單片機(jī)無需專用的編程器和仿真器,可通過串口直接下載用戶程序。STC89C52RC單片機(jī)的工作模式如下:

①正常工作模式:典型功耗為4mA-7mA;

②空閑模式:典型功耗為2mA。

STC89C52RC單片機(jī)各管腳分配圖如圖3.1所示。

圖3.1 STC89C52RC管腳圖

引腳功能簡(jiǎn)單介紹如下:

1.VCC:供電電壓;

2.GND:接地;

3.P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口。作為輸出端口,每個(gè)管腳可驅(qū)動(dòng)8個(gè)TTL負(fù)載,對(duì)P0口寫“1”時(shí),可以作為高阻抗輸入。

4.P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口的輸出緩沖器能驅(qū)動(dòng)(輸出或者吸收電流方式)4個(gè)TTL輸入。

5.P2口:P2口為一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P2口的輸出緩沖器可驅(qū)動(dòng)(輸出或者吸收電流方式)4個(gè)TTL輸入,當(dāng)P2口寫“1”時(shí),其管腳電位被內(nèi)部上拉電阻拉高,且作為輸入口。作為輸入口使用時(shí),P2口的管腳電位被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。

6.P3口:P3口是一個(gè)帶內(nèi)部上拉電阻的8為雙向I/O端口,其輸出緩沖器可驅(qū)動(dòng)(輸出或者吸收電流方式)4個(gè)TTL輸入。

7.RST:復(fù)位輸入。當(dāng)輸入兩個(gè)連續(xù)機(jī)器周期以上高電平時(shí)為有效,用來完成單片機(jī)的復(fù)位初始化操作。

8.ALE / PROG :當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存低8位地址的輸出脈沖。

9.PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取址期間,每個(gè)機(jī)器周期PSEN兩次有效。但在訪問內(nèi)部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不會(huì)出現(xiàn);

10.EA/VPP:當(dāng)EA保持低電平時(shí),訪問外部ROM;加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),訪問內(nèi)部ROM。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP);

11.XTAL1:內(nèi)部時(shí)鐘工作電路和反向振蕩放大器的輸入端;

12.XTAL2:反向振蕩器的輸入端。

3.1.3 單片機(jī)最小系統(tǒng)的介紹

單片機(jī)最小系統(tǒng),或者稱為單片機(jī)的最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng)。對(duì)51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、晶振電路和復(fù)位電路。

復(fù)位電路:?jiǎn)纹瑱C(jī)中的復(fù)位電路就好像是電腦的重啟部分,當(dāng)電腦在使用過程中出現(xiàn)死機(jī)時(shí),按下電腦的重啟按鈕即可恢復(fù)。單片機(jī)在使用中也一樣,當(dāng)單片機(jī)系統(tǒng)在運(yùn)行過程中受到環(huán)境干擾出現(xiàn)程序出錯(cuò)的時(shí)候,按下復(fù)位按鈕即可使內(nèi)部的程序自動(dòng)從頭開始執(zhí)行。晶振電路:51單片機(jī)最小系統(tǒng)晶振的振蕩頻率直接影響單片機(jī)的處理速度,頻率越大處理速度越快。在51單片機(jī)中,晶振輸

出的脈沖周期為脈沖周期,12個(gè)脈沖周期為機(jī)器周期,單片機(jī)工作時(shí)間的最小值即為該單片機(jī)的機(jī)器周期。單片機(jī)的最小系統(tǒng)如圖3.2所示。

圖3.2 單片機(jī)最小系統(tǒng)的電路圖

3.2 LCD12864簡(jiǎn)介

3.2.1 LCD12864概述

帶中文字庫(kù)的128*64是一種具有2線與3線串行以及4位/8位并行等多種接口方式,其內(nèi)部包含有國(guó)家標(biāo)準(zhǔn)一級(jí)和二級(jí)簡(jiǎn)體的中文字庫(kù)的點(diǎn)陣的圖形液晶顯示模塊;其屏幕分辨率是128*64, 內(nèi)含16*16點(diǎn)漢字8192個(gè),和16*8點(diǎn)ASCII碼字符集128個(gè)。

利用該模塊較為靈活的接口方式與簡(jiǎn)單并且方便的操作指令,可以構(gòu)建全中文的人機(jī)交互圖形的界面。此界面可以顯示8*4行16*16點(diǎn)陣的漢字,也可以完成圖形的顯示,低電壓且低功耗是它的又一獨(dú)特的特點(diǎn)。由此模塊組成的液晶顯示器(LCD)的模塊方案,無論硬件電路結(jié)構(gòu)或顯示程序都要比同種類型的點(diǎn)陣圖形液晶顯示模塊簡(jiǎn)潔得多,并且這個(gè)模塊的價(jià)格也均低于同種類型的點(diǎn)陣圖形液晶模塊。

3.2.2? LCD128*64的基本特性

(1)低電壓(VDD:+3.0——+5.5V)

(2)屏幕分辨率:128*64點(diǎn)

(3)內(nèi)置8192個(gè)16*16點(diǎn)陣漢字的字庫(kù)(繁簡(jiǎn)體可任選)

(4)內(nèi)置16*8點(diǎn)陣字符128個(gè)

(5)2MHZ時(shí)鐘頻率

(6)顯示方式:半透、STN、正顯

(7)驅(qū)動(dòng)方式:1/5BIAS ,1/32DUTY

(8)視角方向:6點(diǎn)

(9)背光方式:側(cè)部為高亮白色LED,功耗僅僅為普通LED的1/5—1/10

(10)通訊方式:并口、串行可任選

(11)內(nèi)置DC-DC轉(zhuǎn)換電路,不需要外加負(fù)壓

(12)不需要片選信號(hào),簡(jiǎn)化軟件的設(shè)計(jì)

(13)儲(chǔ)存溫度: -20℃ — +60℃, 工作溫度: 0℃ — +55℃

  • 有需要資料的可了解一下.docx

相關(guān)推薦

電子產(chǎn)業(yè)圖譜