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

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

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

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

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

虛擬商品不可退

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

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

1緒 論

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

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

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

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

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

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

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

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

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

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

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

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

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

①改變貪吃蛇運動方向的設(shè)計;

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

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

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

2? 方案分析與選擇

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

電源電壓 ≥ 5.0V

②緩沖時間 ≤0.1s

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

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

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

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

3.1.1 單片機(jī)概述

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

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

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

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

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

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

圖3.1 STC89C52RC管腳圖

引腳功能簡單介紹如下:

1.VCC:供電電壓;

2.GND:接地;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.2 LCD12864簡介

3.2.1 LCD12864概述

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

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

3.2.2? LCD128*64的基本特性

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

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

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

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

(5)2MHZ時鐘頻率

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

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

(8)視角方向:6點

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

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

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

(12)不需要片選信號,簡化軟件的設(shè)計

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

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

相關(guān)推薦

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