摘 要:文章設(shè)計(jì)了一款新穎的以單片機(jī)為控制核心的貪食蛇游戲系統(tǒng)。所設(shè)計(jì)的貪食蛇能完成移動(dòng)、吃食物和擺放游戲自動(dòng)輸出的食物,使之默認(rèn)出現(xiàn)3節(jié)蛇身,吃到每個(gè)隨機(jī)點(diǎn)數(shù)而得分等功能。硬件設(shè)計(jì)包括LED模塊、鍵盤模塊、供電模塊驅(qū)動(dòng)模塊和下載模塊。軟件采用C語言編程,方便靈活,大大加快了軟件開發(fā)速度,縮短了開發(fā)周期,并且便于移植。為提高開發(fā)效率和硬件穩(wěn)定性,采用了功能強(qiáng)大的硬件仿真軟件Proteus,依托該軟件提供的仿真環(huán)境搭配Keil作為軟件開發(fā)調(diào)試環(huán)境進(jìn)行仿真調(diào)試成功。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);系統(tǒng);貪吃蛇
目前,科技的發(fā)展,尤其是微電子、計(jì)算機(jī)軟件和應(yīng)用技術(shù),使人們的日常生活變得豐富多彩。單片機(jī)(單片機(jī))作為微電腦家庭成員,其結(jié)構(gòu)獨(dú)特、穩(wěn)定性好、價(jià)格低廉,在嵌入式領(lǐng)域得到廣泛應(yīng)用[1-2]。本文利用計(jì)算機(jī)上傳統(tǒng)的蛇游戲設(shè)計(jì),利用Proteus仿真軟件、硬件、8×8點(diǎn)矩陣的單片機(jī)、按鍵和其他硬件平臺(tái),C語言編程,實(shí)現(xiàn)了便攜式蛇游戲。
1 本游戲基本功能
將蛇游戲的8×8點(diǎn)矩陣,系統(tǒng)與MCU C語言軟件設(shè)計(jì),系統(tǒng)通過LED點(diǎn)陣屏幕作為載波顯示數(shù)據(jù),有4個(gè)輸入表示4個(gè)控制鍵(上下左右)。部分系統(tǒng)硬件是AT89C52單片機(jī),8×8點(diǎn)矩陣屏幕,4個(gè)鍵,軟件部分用C語言編寫,在keil環(huán)境中運(yùn)行游戲以及隔墻,在游戲結(jié)束時(shí)自動(dòng)重置。
具體要求:(1)4個(gè)按鈕用來控制蛇的方向,并且設(shè)置墻壁。(2)當(dāng)蛇碰到墻壁和自己的身體時(shí)死亡。(3)如果蛇死亡了,則表示Game Over,系統(tǒng)將會(huì)自動(dòng)復(fù)位[3]。
2 系統(tǒng)設(shè)計(jì)方案
硬件運(yùn)用了單片機(jī)技術(shù)和C程序設(shè)計(jì)技術(shù),通過點(diǎn)陣顯示屏來顯示。軟件采用C語言編程,方便靈活。設(shè)計(jì)蛇的理念和原則:通過點(diǎn)陣屏幕點(diǎn)亮一個(gè)點(diǎn),然后照亮另一個(gè)點(diǎn),形成了“蛇”,為蛇晶格屏幕上選擇一個(gè)點(diǎn)食物,通過手動(dòng)按鈕蛇,并確定是否搶上。找到食物,吞下食物,蛇會(huì)生長(zhǎng),直到蛇咬它的尾巴或撞到墻上,然后再開始。系統(tǒng)的結(jié)構(gòu)框圖如圖1所示,基本結(jié)構(gòu)可以區(qū)分為三大部分[4-5]。
3 系統(tǒng)硬件電路設(shè)計(jì)
3.1 單片機(jī)最小系統(tǒng)模塊
單片機(jī)的最小系統(tǒng)是一個(gè)可以正常工作的系統(tǒng),它可以有最小的組件和一個(gè)單片機(jī)。根據(jù)52單片機(jī)的要求,最小系統(tǒng)包括單片機(jī)、復(fù)位電路和晶體振動(dòng)電路。單片機(jī)接口主要用于PC機(jī)和其他外部設(shè)備的連接[6-8]。
復(fù)位電路:?jiǎn)纹瑱C(jī)的復(fù)位時(shí)間直接受非極性電容C4的影響,容量大小一般為10~30 μF,設(shè)計(jì)采用10 μF,52單片機(jī)常見的復(fù)位模式為自動(dòng)復(fù)位和按鍵復(fù)位。這個(gè)設(shè)計(jì)中使用的重置模式是按鍵復(fù)位。
晶體振蕩器電路:該設(shè)計(jì)中使用的晶體振蕩器的尺寸為12 MHz。其目的是能夠達(dá)到單片機(jī)最快的處理速度。
3.2 點(diǎn)陣屏模塊
LED點(diǎn)陣屏通過LED組成,以燈珠亮滅來顯示程序的運(yùn)行情況,是模塊化的顯示組件,本設(shè)計(jì)采用8×8共陽紅色點(diǎn)陣顯示屏,用來顯示貪吃蛇的游戲畫面。8×8點(diǎn)陣屏模塊如圖2所示。
3.3 按鍵模塊
4個(gè)按鍵控制蛇的游走方向(上下左右)的功能簡(jiǎn)介明了。獨(dú)立鍵盤電路如圖3所示。
貪吃蛇是一款經(jīng)典的小游戲,玩家使用方向鍵控制一條很短(游戲剛開始)的蛇,通過不斷地吃豆豆,蛇身會(huì)逐漸加長(zhǎng),當(dāng)蛇撞到身體或墻壁時(shí)游戲結(jié)束。
3.4 系統(tǒng)制作與調(diào)試
按照原理圖在板子上進(jìn)行搭建,在制作的過程中先把元器件放到正確的位置,再進(jìn)行焊接,調(diào)試時(shí)利用電壓表對(duì)晶振兩端和C4兩端的電壓進(jìn)行測(cè)量,按下復(fù)位按鈕,電壓發(fā)生變化并且指示燈亮,說明能夠正常復(fù)位。
硬件全部制作調(diào)試好以后,本次設(shè)計(jì)基本完工。從開始的一堆散件,到焊接完成,直到最后板子的正常使用,總結(jié)有如下幾點(diǎn)經(jīng)驗(yàn)[9-10]。
(1)元器件的擺放按照原理圖設(shè)計(jì)來放,不會(huì)出現(xiàn)亂序。(2)焊接的時(shí)候要一個(gè)點(diǎn)一個(gè)點(diǎn)地焊,要求焊實(shí)且焊點(diǎn)飽滿。(3)在接通電源之前,可以用萬用表檢查電源正負(fù)極有沒有短路或者斷路,保證系統(tǒng)有穩(wěn)定的供電,并且還要看元件有沒有接錯(cuò)或者接反,是否有焊錯(cuò)、漏焊、虛焊等現(xiàn)象。(4)在調(diào)試的過程中程序不可能一次就成功,必須在調(diào)試中慢慢修改,可以先仿真調(diào)試,再下載到單片機(jī)中,這樣避免了不必要的麻煩。
[參考文獻(xiàn)]
[1]方大千.實(shí)用電子控制電路[M].北京:國(guó)際工業(yè)出版社,2003.
[2]李朝青,劉艷玲.單片機(jī)原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2013.
[3]楊將新,李軍華,劉東駿,等.單片機(jī)程序設(shè)計(jì)及應(yīng)用從基礎(chǔ)到實(shí)踐[M].北京:電子工業(yè)出版社,2006.
[4]雷思孝,馮育長(zhǎng).單片機(jī)系統(tǒng)設(shè)計(jì)及工程應(yīng)用[M].北京:電子工業(yè)出版社,2005.
[5]李倩.電子產(chǎn)品生產(chǎn)工藝[M].北京:中國(guó)鐵道出版社,2015.
[6]于京,張景璐.51單片機(jī)C程序設(shè)計(jì)與應(yīng)用案例[M].北京:中國(guó)電力出版社,2006.
[7]王港元.電子電工實(shí)踐指導(dǎo)[M].3版.南昌:江西科學(xué)技術(shù)出版社,2003.
[8]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.
[9]高吉祥,徐欣,吳帥.基本技能訓(xùn)練與單元電路設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.
[10]孫裕晶,沙玲.實(shí)用控制系統(tǒng)設(shè)計(jì)教程[M].長(zhǎng)春:吉林大學(xué)出版社,2000.