【電氣設(shè)計(jì)自動(dòng)化論文】貪吃蛇游戲的設(shè)計(jì)
【電氣設(shè)計(jì)自動(dòng)化論文】貪吃蛇游戲的設(shè)計(jì),電氣設(shè)計(jì),自動(dòng)化,論文,貪吃,游戲,設(shè)計(jì)
本科畢業(yè)論文(設(shè)計(jì))手冊(cè)( 2011 屆) 貪吃蛇游戲的設(shè)計(jì) 學(xué) 院 電子信息工程學(xué)院 專 業(yè)電氣工程及其自動(dòng)化 姓 名 指導(dǎo)教師 職 稱 等 級(jí) 目 錄學(xué)號(hào):附件 42本科畢業(yè)論文(設(shè)計(jì))任務(wù)書…………………………………3本科畢業(yè)論文(設(shè)計(jì))開題報(bào)告………………………………4本科畢業(yè)論文(設(shè)計(jì))中期報(bào)告………………………………6本科畢業(yè)論文(設(shè)計(jì))指導(dǎo)記錄………………………………7本科畢業(yè)論文(設(shè)計(jì))答辯記錄………………………………9本科畢業(yè)論文(設(shè)計(jì))成績(jī)?cè)u(píng)定表……………………………103本科畢業(yè)論文(設(shè)計(jì))任務(wù)書(指導(dǎo)教師、學(xué)生共同簽訂)學(xué)號(hào) 姓名 指導(dǎo)教師題目 貪吃蛇游戲的設(shè)計(jì)題目來源 A.實(shí)驗(yàn) B.實(shí)習(xí) C.工程實(shí)踐 D.社會(huì)調(diào)查 E.教研 F.科研 G.其它類別 A.論文 B.設(shè)計(jì) C.其它 性質(zhì) A. 理論研究 B. 應(yīng)用研究 C. 綜合研究 D.其它一、指導(dǎo)教師責(zé)任。(一)指導(dǎo)教師應(yīng)端正思想,把培養(yǎng)人才放在首位,注重培養(yǎng)學(xué)生的學(xué)習(xí)能力、實(shí)踐能力和創(chuàng)新能力。嚴(yán)格要求學(xué)生,培養(yǎng)學(xué)生科學(xué)嚴(yán)謹(jǐn)?shù)膽B(tài)度和實(shí)事求是的作風(fēng)。(二)指導(dǎo)教師應(yīng)當(dāng)對(duì)學(xué)生進(jìn)行學(xué)術(shù)道德、學(xué)術(shù)規(guī)范教育,對(duì)畢業(yè)論文(設(shè)計(jì))進(jìn)行適當(dāng)指導(dǎo)(不少于 8 次),對(duì)畢業(yè)論文(設(shè)計(jì))是否由其獨(dú)立完成進(jìn)行審查。(三)指導(dǎo)教師在指導(dǎo)畢業(yè)論文(設(shè)計(jì))期間請(qǐng)假應(yīng)事先布置學(xué)生任務(wù),或委托他人代為指導(dǎo)。請(qǐng)假 2 周以上者,須經(jīng)院系批準(zhǔn);請(qǐng)假超過 4 周者,應(yīng)及時(shí)向院(系)申請(qǐng)調(diào)整指導(dǎo)教師。(四)接受并并執(zhí)行院系指導(dǎo)教師遴選和評(píng)價(jià)具體辦法以及學(xué)校、院系相關(guān)考核。二、學(xué)生責(zé)任。(一)學(xué)生應(yīng)按照專業(yè)人才培養(yǎng)方案規(guī)定,參加畢業(yè)論文(設(shè)計(jì))與綜合訓(xùn)練。(二)學(xué)生應(yīng)重視畢業(yè)論文(設(shè)計(jì)),嚴(yán)格遵守學(xué)校、院系相關(guān)制度;按照要求參加院系畢業(yè)論文(設(shè)計(jì))集中指導(dǎo);在校外撰寫畢業(yè)論文(設(shè)計(jì))的,要遵守所在單位的有關(guān)規(guī)章制度。(三)學(xué)生應(yīng)在指導(dǎo)教師指導(dǎo)下,查閱文獻(xiàn)、搜集資料、實(shí)地調(diào)研,撰寫文獻(xiàn)綜述、開題報(bào)告、論文(設(shè)計(jì)說明書)等;經(jīng)常、主動(dòng)向指導(dǎo)教師匯報(bào)論文(設(shè)計(jì))進(jìn)展情況,接受指導(dǎo)。畢業(yè)論文(設(shè)計(jì))完成后,應(yīng)按規(guī)范要求提交材料,并按時(shí)參加答辯。(四)學(xué)生應(yīng)按時(shí)完成各階段任務(wù),保證畢業(yè)論文(設(shè)計(jì))質(zhì)量;應(yīng)恪守學(xué)術(shù)道德和學(xué)術(shù)規(guī)范,在指導(dǎo)教師指導(dǎo)下獨(dú)立完成論文,不得抄襲;嚴(yán)禁弄虛作假、請(qǐng)人代替完成;否則,任何時(shí)候一經(jīng)發(fā)現(xiàn)均取消成績(jī),并追究當(dāng)事人責(zé)任。教師簽名: 學(xué)生簽名: 年 月 日指導(dǎo)小組(教研室)意見:組長(zhǎng)簽名:院(系)意見:負(fù)責(zé)人簽名:4本 科 畢 業(yè) 論 文 ( 設(shè) 計(jì) ) 開 題 報(bào) 告(學(xué)生填寫)學(xué) 號(hào) 姓 名 指 導(dǎo) 教 師題目 貪吃蛇游戲的設(shè)計(jì)課題內(nèi)容:(研究現(xiàn)狀、目標(biāo)、意義等,空白不足可增加頁面)1、研究現(xiàn)狀:時(shí)代在不斷進(jìn)步,人們需要更加人性化的休閑小游戲來放松身心,貪吃蛇小游戲就是在這樣的背景下產(chǎn)生的。2、目標(biāo):通過這些年來所學(xué)的知識(shí)將它剖析出來,使它立體的呈現(xiàn)在面前,真正意義上的了解它的實(shí)質(zhì),明白它的精髓所在。3、意義:這是一次體現(xiàn)我們綜合實(shí)踐能力的機(jī)會(huì),進(jìn)一步鍛煉學(xué)生的動(dòng)手能力。同時(shí),讓學(xué)生完成實(shí)驗(yàn)的過程中,可以考察我們的動(dòng)手能力,獨(dú)立思考的能力,還有自主學(xué)習(xí)的能力,鍛煉相互合作的精神,取長(zhǎng)補(bǔ)短,培養(yǎng)團(tuán)隊(duì)意識(shí),通過鞏固以往的知識(shí),為以后的發(fā)展打下良好的基礎(chǔ)。本次課程設(shè)計(jì)將要求、算法還有源程序單獨(dú)分開,給學(xué)生營(yíng)造獨(dú)立思考問題的條件。在足夠理解要求和算法的前提下,充分了解學(xué)生的要求和算法,再設(shè)計(jì)自己的應(yīng)用。5課題關(guān)鍵問題及難點(diǎn):關(guān)鍵在于以下幾個(gè)方面:1.8*8 點(diǎn)陣的選擇2.保證游戲的流暢性和及時(shí)響應(yīng)性3.游戲的設(shè)計(jì)應(yīng)該接近人性化擬采取的方式、方法及計(jì)劃進(jìn)程安排(主要技術(shù)路線):1、準(zhǔn)備工作1.認(rèn)真詳細(xì)的閱讀任務(wù)書,深刻了解主要的內(nèi)容和要求。2.查閱與貪吃蛇相關(guān)的書籍,了解貪吃蛇的工作原理3.了解歷年全國(guó)大學(xué)生電子競(jìng)賽有關(guān)貪吃蛇的資料。4.根據(jù)控制要求初步確定所使用的元器件。2、 實(shí)施步驟1.明確控制要求,繪制電路連接圖。2.參考文獻(xiàn),檢查電路圖的正確性。3.根據(jù)電路連接圖焊接電路板,制作貪吃蛇模型。4.分析操作流程,繪制程序流程圖。5.編寫程序代碼。6.運(yùn)用電腦軟件初步對(duì)程序進(jìn)行調(diào)試。7.配合貪吃蛇硬件部分,并完善功能,達(dá)到設(shè)計(jì)要求。6參考文獻(xiàn):[1]翟震,張春玲. 用 74HC595 芯片驅(qū)動(dòng) LED 的電路設(shè)計(jì)[J]. 機(jī)床與液壓,2004,NO.12:151-152[2]夏路易、石宗義編著.電路原理圖與電路板設(shè)計(jì)教程[M].北京希望電子出版社,2002[3]王守中,聶元銘.51 單片機(jī)開發(fā)入門與典型實(shí)例(第 2 版)[M].北京:人民郵電出版社,2009.[4]樊永顯,許勇,張向文等.基于 STC89C54RC/RD+單片機(jī)的游戲機(jī)系統(tǒng)設(shè)計(jì)[J].湖南工業(yè)大學(xué)學(xué)報(bào),2007,21(5):66-69.[5]戴仙金,冼進(jìn).51 單片機(jī)及其 C 語言程序開發(fā)實(shí)例[M].北京:清華大學(xué)出版社,2008.[6]P87C51RA2/RB2/RC2/RD2 DATA SHEET[M/OL].2003.[7]劉云,羅永能. 基于 51 單片機(jī)的貪食蛇游戲機(jī)開發(fā)[J]. 福建電腦,2009,第七期:147-148指導(dǎo)教師意見:教師簽名: 年 月 日指導(dǎo)小組(教研室)意見:組長(zhǎng)簽名: 年 月 日本 科 畢 業(yè) 論 文 ( 設(shè) 計(jì) ) 中 期 報(bào) 告(學(xué)生填寫)學(xué) 號(hào) 1108441087 姓 名 指 導(dǎo) 教 師題目 貪吃蛇游戲的設(shè)計(jì)7(簡(jiǎn)述開題以來工作進(jìn)展和成效、存在的問題、下一步計(jì)劃與安排)從選定這個(gè)題目到現(xiàn)在經(jīng)歷了好幾個(gè)月的時(shí)間,在這段時(shí)間內(nèi),從最開始得了解甚少 ,到現(xiàn)在的思路逐漸清晰,了解加深,不可謂收獲不豐。從開題以來,論文基本完成,剩下的需要再稍加修改,程序的編寫,原理圖,PCB 圖,仿真圖都已經(jīng)做出來,實(shí)物圖也可以運(yùn)行了。當(dāng)看到實(shí)物運(yùn)行時(shí),心里那種激動(dòng)是無法言表的,頓時(shí)感覺這些日子來的努力真的都不是白費(fèi)的。現(xiàn)在存在的問題是,論文需要修改,不斷地完善。下一步計(jì)劃是查閱資料,完善論文,然后再檢查該設(shè)計(jì)是否能夠更加完善,軟件編寫能否再使用其他的軟件來是實(shí)現(xiàn)。 ,并逐步完善其功能,使其更人性化。指導(dǎo)教師意見:教師簽名:月 日指導(dǎo)小組(教研室)意見:組長(zhǎng)簽名:月 日8本科畢業(yè)論文(設(shè)計(jì))指導(dǎo)記錄(指導(dǎo)教師、學(xué)生共同填寫)學(xué) 號(hào) 姓 名 指 導(dǎo) 教 師題目 貪吃蛇游戲的設(shè)計(jì)第 1 次指導(dǎo) 時(shí)間:2014.11.5 地點(diǎn):躬行樓實(shí)驗(yàn)室 指導(dǎo)形式:面談指導(dǎo)老師通知畢業(yè)設(shè)計(jì)相關(guān)事宜,包括對(duì)于老師的選擇,畢業(yè)設(shè)計(jì)的方向,選擇等給予一定的指導(dǎo)性意見和建議。第 2 次指導(dǎo) 時(shí)間:2014.11.19 地點(diǎn):躬行樓實(shí)驗(yàn)室 指導(dǎo)形式:面談根據(jù)第一次指導(dǎo),通過老師的建議對(duì)畢業(yè)設(shè)計(jì)題目進(jìn)行選取,在選擇自己有興趣的課題時(shí),還要確定自己要跟的老師,以后就跟那個(gè)老師進(jìn)行畢業(yè)設(shè)計(jì)。第 3 次指導(dǎo) 時(shí)間:2014.12.10 地點(diǎn):躬行樓實(shí)驗(yàn)室 指導(dǎo)形式:面談老師根據(jù)我們每個(gè)人選擇的題目不同,進(jìn)行任務(wù)的布置。明確指出首先要設(shè)計(jì)出原理圖,根據(jù)原理圖畫出其 PCB 圖,按老師的指導(dǎo)完成自己的任務(wù)。第 4 次指導(dǎo) 時(shí)間:2015.1.7 地點(diǎn):躬行樓實(shí)驗(yàn)室 指導(dǎo)形式:面談寫開題報(bào)告。明確對(duì)自己所要設(shè)計(jì)的實(shí)驗(yàn)的要求,知道先做什么再做什么,了解大體方針,不至于連干什么都不清楚。第 5 次指導(dǎo) 時(shí)間:2015.3.11 地點(diǎn):躬行樓實(shí)驗(yàn)室 指導(dǎo)形式:面談經(jīng)過兩個(gè)多月的學(xué)習(xí)與研究,畫出原理圖、仿真圖和 PCB 圖,在編寫程序的過程中遇到了困難,部分的程序基本編寫完成,并確定下次的進(jìn)度是論文的編寫,以及實(shí)物的焊接。第 6 次指導(dǎo) 時(shí)間:2015.3.25 地點(diǎn):博約樓 105 指導(dǎo)形式:面談完成論文初稿的編寫和對(duì)實(shí)物的焊接,并且解決在前階段遺留下來的問題。論文初稿主要是按照模板進(jìn)行編寫,大體的結(jié)構(gòu)要出來,并且準(zhǔn)備下次預(yù)答辯。第 7 次指導(dǎo) 時(shí)間:2015.4.15 地點(diǎn): 指導(dǎo)形式:面談本次主要是進(jìn)行預(yù)答辯,熟悉正式答辯的流程。檢查和畢業(yè)論文相關(guān)是否已經(jīng)基本的完成,包括原理、仿真圖、PCB 圖、論文、實(shí)物。其中這一階段主要根據(jù)老師提出相應(yīng)的問題對(duì)論文的內(nèi)容和論文的格式修改。第 8 次指導(dǎo) 時(shí)間:2015.4.22 地點(diǎn): 指導(dǎo)形式:面談本次主要是進(jìn)行指導(dǎo)答辯,首先是檢查上一階段的任務(wù),論文格式和內(nèi)容的修9改,論文的查重。其次是答辯 PPT 的制作,要多圖少字,直觀簡(jiǎn)潔。學(xué)生簽名: 教師簽名: 本科生畢業(yè)論文(設(shè)計(jì))答辯記錄學(xué)號(hào) 姓名 指導(dǎo)教師題目答辯組成員10組長(zhǎng) 職稱 職務(wù)成員 職稱 成員 職稱成員 職稱 成員 職稱成員 職稱 成員 職稱答 辯 秘 書 答辯時(shí)間 月 日 時(shí)陳述、提問及回答情況記錄:答辯秘書簽名: 答辯組長(zhǎng)簽名: 年 月 日本科生畢業(yè)論文(設(shè)計(jì))成績(jī)?cè)u(píng)定表學(xué)號(hào) 5 姓名 指導(dǎo)教師題目11內(nèi)容提要及指導(dǎo)教師意見評(píng)分:(百分制) 指導(dǎo)教師簽名: 年 月 日12評(píng)閱教師評(píng)閱意見評(píng)分:(百分制) 評(píng)閱教師簽名: 年 月 日答辯小組答辯意見評(píng)分:(百分制) 組長(zhǎng)簽名: 年 月 日答辯委員會(huì)意見總評(píng)分?jǐn)?shù):(百分制) 論文等級(jí):(五級(jí)制) 評(píng)定人簽名: 負(fù)責(zé)人簽名: ﹡總評(píng)成績(jī)=指導(dǎo)教師評(píng)分*25%+評(píng)閱教師評(píng)分*25%+答辯小組評(píng)分*50% 本科畢業(yè)論文(設(shè)計(jì))(2015 屆)貪吃蛇游戲的設(shè)計(jì)院 系 電子信息工程學(xué)院 專 業(yè) 電氣工程及其自動(dòng)化 姓 名 指導(dǎo)教師 副教授 年 4 月學(xué)號(hào):I摘 要本篇論文主要是設(shè)計(jì)并且著手致力于實(shí)現(xiàn)一種基于 51 單片機(jī)的經(jīng)典的貪吃蛇游戲,主要是研究該游戲的硬件電路和軟件編程的設(shè)計(jì),同時(shí)也簡(jiǎn)單介紹了應(yīng)該如何使用Proteus 軟件進(jìn)行仿真。借助仿真軟件進(jìn)行實(shí)驗(yàn)測(cè)試,可以基本實(shí)現(xiàn)游戲一些簡(jiǎn)單的基本功能。直至現(xiàn)在,大家都知道且明白了 51 系列的單片機(jī)技術(shù)相對(duì)而言比較成熟,功能也十分強(qiáng)大,應(yīng)用較為廣泛。將單片機(jī)作為本設(shè)計(jì)的控制核心,能夠使硬件電路大大地簡(jiǎn)化,用軟件來編程控制單片機(jī),來加以實(shí)現(xiàn)硬件電路的功能,可以降低能耗,同時(shí)也節(jié)約成本。選用 C 語言編程,比較方便靈活,極大地加快了軟件開發(fā)的速度,使開發(fā)周期縮短了,同時(shí)方便移植。本篇論文比較詳細(xì)的的介紹了各種硬件的基本特性,貪吃蛇游戲?qū)崿F(xiàn)的基本功能與詳細(xì)設(shè)計(jì),軟件設(shè)計(jì)的具體說明,每一個(gè)模塊的細(xì)節(jié)要求,還有一些功能模塊的程序流程圖和關(guān)鍵部分代碼的詳細(xì)講解等。關(guān)鍵詞:Proteus 軟件仿真;51 單片機(jī);Keil;貪吃蛇;LED 點(diǎn)陣屏IIAbstractThis paper is mainly committed to the design and begin a 51 microcontroller based on the classic Snake game, is to study the hardware circuit design and software programming of the game, but also a brief introduction to how to use Proteus simulation software . With simulation software experimental tests, the basic realization of the game can be some simple basic functions. Until now, we all know and understand the 51 series of single-chip technology is relatively mature, the function is also very powerful, is widely used. The microcontroller as control core of this design, enabling greatly simplify the hardware circuit with microcontroller programming control software, hardware circuitry to be functional, you can reduce energy consumption, but also cost savings. Selection of the C programming language, more convenient and flexible, which greatly accelerated the pace of software development, shorten the development cycle, while convenient for transplant. This paper a more detailed introduction to the basic characteristics of various hardware realization of the basic functions of the Snake game with detailed design, software design, specify the details of the requirements of each module, there are some functional modules of the program flow chart and explain in detail the critical parts of the code and so on.Keywords:Proteus software simulation;51 microcontroller;Keil;Snake;LED lattice;III目 錄摘 要 .IAbstractII目錄 Ⅲ1 緒論 .11.1 研究背景及意義 .11.2 單片機(jī)發(fā)展?fàn)顩r .11.3 LED 發(fā)展?fàn)顩r .31.4 設(shè)計(jì)特點(diǎn) 32 系統(tǒng)總體設(shè)計(jì) 42.1 設(shè)計(jì)要求 .42.2 系統(tǒng)設(shè)計(jì)方案 42.2.1 硬件設(shè)計(jì) 42.2.2 軟件設(shè)計(jì) 43 系統(tǒng)硬件設(shè)計(jì) .53.18*8LED 點(diǎn)陣的原理說明 .53.2 LED 陣列驅(qū)動(dòng)電路 .54 系統(tǒng)軟件設(shè)計(jì) .64.1 系統(tǒng)主要模塊介紹 .64.1.1 主函數(shù)模塊 .64.1.2 按鍵模塊 .74.1.3 蛇運(yùn)動(dòng)控制模塊 .74.2 主程序工作流程 .74.3 游戲設(shè)計(jì)思想 84.4 LED 點(diǎn)陣初始化 .94.5 貪吃蛇的移動(dòng) 94.6 食物的隨機(jī)出現(xiàn) 95 聯(lián)調(diào)與測(cè)試 10IV5.1 軟件調(diào)試 105.2 硬件調(diào)試 11結(jié)論與展望 .13致謝 14參考文獻(xiàn) 15附錄 A:系統(tǒng)原理圖 .16附錄 B:系統(tǒng) PCB 圖 .17附錄 C:系統(tǒng)仿真圖 .18附錄 D:系統(tǒng)實(shí)物圖 .18附錄 E:系統(tǒng)源程序 .2011 緒論1.1 研究背景及意義時(shí)代在不斷的進(jìn)步,人們的生活節(jié)奏也因此不斷加快,越來越多的人加入了經(jīng)濟(jì)化全球化的世界。人們不再只需要保持自己的小世界,加班、旅游已逐漸代替了人們的正常工作,成為我們必然的公務(wù)。同時(shí),我們可以供隨時(shí)隨地的休閑娛樂,因而休閑類的小游戲已經(jīng)逐漸成為生活的必需品,漸漸得變得無所不在,滲入我們?nèi)粘I畹母鱾€(gè)部分。貪食蛇這款經(jīng)典的小游戲具有可塑性強(qiáng)、簡(jiǎn)單易行、通俗易懂、操作方便、娛樂性強(qiáng)等特點(diǎn),因此引來了不少人們的青睞。這款小游戲牢牢地把握住了人們追求娛樂的心理,看起來很簡(jiǎn)單,但真正接觸的時(shí)候毫無違和感,甚至?xí)杏X到其樂無窮,在人們不斷尋求探索更多的開心和樂趣下,游戲的到來給了追逐快樂的人,和現(xiàn)代人滿意的成功后,在巨大的壓力之下是一種很好的放松工具。當(dāng)今的世界,科技在不斷地發(fā)展,尤其是微電子技術(shù)方面,計(jì)算機(jī)軟件技術(shù)和其應(yīng)用技術(shù)的發(fā)展,將人們的生活變得多姿多彩,不在單調(diào)無趣。單片作為微型計(jì)算機(jī)大家族中不可或缺的一員,微型計(jì)算機(jī)以其良好的穩(wěn)定性,獨(dú)特的構(gòu)造,較低的成本在嵌入式領(lǐng)域中得到了廣泛應(yīng)用。我希望可以通過這些年來所學(xué)的知識(shí)將它剖析出來,使它立體的呈現(xiàn)在面前,真正意義上的了解它的實(shí)質(zhì),明白它的精髓所在。在編程方面,能力不強(qiáng)的我,更應(yīng)該努力地借助這次機(jī)會(huì),通過研究,從實(shí)踐中提升自己的編程能力。故而,我選定了這個(gè)比較有意思的課題。1.2 單片機(jī)發(fā)展?fàn)顩r單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)(MCU)。它是在一塊半導(dǎo)體硅片上集成了振蕩器電路、中央處理單元、隨機(jī)存取存儲(chǔ)器、只讀存儲(chǔ)器、可編程定時(shí)器/計(jì)數(shù)器、并/ 串行I/O接口等,有的還包含了A/D轉(zhuǎn)換器??傃灾粋€(gè)巴掌大小的單片機(jī),具有一臺(tái)計(jì)算機(jī)的所有屬性,直接相當(dāng)于一臺(tái)微型計(jì)算機(jī)。由于使用單片機(jī)時(shí)其通常在測(cè)控系統(tǒng)的核心部分并嵌入其中。所以,單片機(jī)也被稱作為嵌入式控制器EMCU (Embedded MicroController Unit)。單片機(jī)擁有集成度高、體積小、重量輕、處理功能強(qiáng)、電源簡(jiǎn)單、低功耗、可靠性高、價(jià)格低廉、運(yùn)算速度快、易擴(kuò)展、易于使用、抗干擾能力強(qiáng)等特點(diǎn)。因此,在工業(yè)控制、通信系統(tǒng)等涉及到的一些領(lǐng)域,基本是到處都可以見到單片機(jī)的蹤影,其技術(shù)的開發(fā)和高水平的應(yīng)用已逐漸變成一個(gè)國(guó)家工業(yè)化成就取得高低的關(guān)鍵。早在 1974 年,世界上第一塊單片機(jī)被美國(guó)的仙童公司研究生產(chǎn)出來,歷經(jīng)短短數(shù)幾十年的光陰,單片機(jī)便與日俱增,成批地涌現(xiàn)出來。截至現(xiàn)在,4 位、8 位、16 位單片機(jī)都已經(jīng)被研究出現(xiàn)了,甚至 32 位的超大規(guī)模集成電路單的片機(jī)也已經(jīng)問世了,其性能也2在不斷的升高,不斷被改善。在國(guó)內(nèi)的單片機(jī),起步雖然比較晚,但其潛力已經(jīng)受到越來越多人的關(guān)注,特別是在工業(yè)控制、自動(dòng)化儀器儀表、計(jì)算機(jī)系統(tǒng)接口、智能化外設(shè)等應(yīng)用領(lǐng)域發(fā)展較為快速。單片機(jī)的應(yīng)用,對(duì)于產(chǎn)品的升級(jí),還有機(jī)電一體化都有重要的意義。在工業(yè)控制中的應(yīng)用也十分廣泛,例如,用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng),各種報(bào)警系統(tǒng),工廠流水線的智能化管芯片理與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成的二級(jí)控制系統(tǒng)等。單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。在通信行業(yè),這種應(yīng)用顯得更加廣泛,手機(jī)從最初的只能實(shí)現(xiàn)基本通話,沒有其他任何功能,到現(xiàn)在任何一部手機(jī)都擁有各種強(qiáng)大的功能,含有各種不同的應(yīng)用,單片機(jī)的功效被發(fā)揮的淋漓盡致。可以用手機(jī)來聽音樂,玩游戲,攝影等等,而手機(jī)游戲上貪吃蛇游戲就可以利用單片機(jī) 來實(shí)現(xiàn)。即使最新型 MCS-51 單片機(jī)各種基本的內(nèi)核核心擴(kuò)張和持續(xù)改進(jìn),但是 51 系列的單片機(jī)的應(yīng)用依舊是我們國(guó)家的主流模式??v觀幾十年的單片機(jī)發(fā)展歷程,它的未來將向高性能,高速度,低電壓,低價(jià)格和閃存的方向發(fā)展。我們可以預(yù)見的是,單片機(jī)的未來將變得更加強(qiáng)大、集成度更高、可靠性更高、功耗更低、使用更方便,總之,它的未來是無可限量的。1.3 LED 發(fā)展?fàn)顩rLED,也就是發(fā)光二極管的英文縮寫,是一種固態(tài)的,能夠直接地把電轉(zhuǎn)變成光的半導(dǎo)體電子元件。這種電子元件最早出現(xiàn)在 1962 年,剛開始的時(shí)候只能發(fā)出低光度的紅光,之后慢慢地發(fā)展出其他的單色光,到現(xiàn)在,能發(fā)出的光已經(jīng)遍及可見光、紅外線還有紫外線,光度也得到了較大地提高。而其用途從最開始的作為指示燈、顯示板等,到現(xiàn)在被廣泛地應(yīng)用于顯示器、電視機(jī)采光裝飾和照明等。它由含鎵(Ga)、砷(As)、磷(P)、氮 (N )等的化合物制成。半導(dǎo)體晶片由兩部分組成,一部分是 P 型半導(dǎo)體,在它里面空穴占主導(dǎo)地位,另一端是 N 型半導(dǎo)體, 在這邊主要是電子。 但這兩種半導(dǎo)體連接起來的時(shí)候, 它們之間就形成一個(gè)“ P-N”結(jié)。當(dāng)電流通過導(dǎo)線作用于這個(gè)晶片的時(shí)候,電子就會(huì)被推向 P 區(qū),在 P 區(qū)里 電子跟空穴復(fù)合,然后就會(huì)以光子的形式發(fā)出能量,這就是 LED 發(fā)光的原理。 半導(dǎo)體照明具有綠色環(huán)保的特點(diǎn),使用壽命長(zhǎng),效率高,節(jié)能,抗惡劣環(huán)境,結(jié)構(gòu)簡(jiǎn)單 ,體積小,重量輕,響應(yīng)速度快, 工作電壓低,安全性好的特點(diǎn)。因此,LED 成為白熾燈、日光燈和節(jié)能燈后的第四代照明電光源,同時(shí)也被稱為 21 世紀(jì)綠色光源。由于 LED 具有單向?qū)щ娦裕虼怂荒芡粋€(gè)方向?qū)?,這種現(xiàn)象被稱為正向偏置,也叫正向偏壓。LED 的優(yōu)點(diǎn)是:節(jié)能、壽命長(zhǎng)、防水、不易破損、低功耗、開關(guān)具有高速度、微型、高可靠性、光束集中等。它的不足是:顯色性較差、需要專門的驅(qū)動(dòng)電路、起始的成本較高等,因此,傳統(tǒng)的照明也相對(duì)存在一些不足。近年來白光 LED 的發(fā)光效率有了顯著提高。31.4 設(shè)計(jì)特點(diǎn)以下是課程設(shè)計(jì)的主要特點(diǎn):1.功能定義,顧名思義是很重要的,尤其是對(duì)于讀程序的人來說,它顯得更為重要,在不斷地修改和完善該程序的過程中,也能清楚地明白程序中各個(gè)模塊的所起到的作用,從而大大地提高了程序的可讀性。2.主要從 main()函數(shù)的功能入手。Main()函數(shù)的主要功能是啟動(dòng) C 源程序編譯,主要從 main()函數(shù)開始讀函數(shù),可以將其他功能的函數(shù)理解的更加透徹。3.在源程序列表的第一幀,來分析程序所要達(dá)到的功能,選擇合適的數(shù)據(jù)結(jié)構(gòu),然后在模塊化程序,根據(jù)模塊的功能更加簡(jiǎn)單合理地編寫函數(shù)。4.我也學(xué)到了很多的庫(kù)函數(shù)的作用,如很多對(duì)字符串進(jìn)行處理的函數(shù),還有一些基本的功能我都有了一定的理解。5.它是獨(dú)立于特定的 C 語言教科書,重點(diǎn)是C 語言的基本特征,以“不變“應(yīng)“萬變“,C 語言覆蓋的重要基礎(chǔ)知識(shí)的實(shí)際運(yùn)用,我們需要熟練地掌握 C 語言。6.根據(jù)實(shí)際出發(fā),本設(shè)計(jì)可以覆蓋所學(xué)的知識(shí)點(diǎn),而且它比較能夠滿足工程的實(shí)際需求。再者,本次設(shè)計(jì)能夠激發(fā)我們學(xué)習(xí)的熱情,調(diào)動(dòng)學(xué)習(xí)的積極性,可以根據(jù)實(shí)際編程的要求,提升實(shí)際分析問題的能力和編程能力,而且還可以使我們逐步養(yǎng)成良好的編程習(xí)慣。7.提供綜合實(shí)踐能力的的課程設(shè)計(jì),以進(jìn)一步鍛煉學(xué)生。同時(shí),讓學(xué)生完成實(shí)驗(yàn)的過程中,可以鍛煉相互合作的精神,取長(zhǎng)補(bǔ)短,培養(yǎng)團(tuán)隊(duì)意識(shí)。8.通過觀察網(wǎng)絡(luò)實(shí)例,循序漸進(jìn)地幫助學(xué)生完成畢業(yè)設(shè)計(jì)。本次課程設(shè)計(jì)將要求、算法還有源程序單獨(dú)分開,給學(xué)生營(yíng)造獨(dú)立思考問題的條件。在足夠理解要求和算法的前提下,充分了解學(xué)生的要求和算法,再設(shè)計(jì)自己的應(yīng)用。同時(shí),我也獲得了很多寶貴的經(jīng)驗(yàn):1) 在設(shè)計(jì)之前,要確保對(duì)所設(shè)計(jì)的主題和內(nèi)容有一個(gè)系統(tǒng)的認(rèn)識(shí),了解設(shè)計(jì)的主題和內(nèi)容包含哪些資源。2) 對(duì)于設(shè)計(jì)程序而言,在采用什么編程語言這方面并不是特別重要,核心在于思路要清晰和軟件流程圖要完整。所以,第一步是要搞清楚設(shè)計(jì)原理與思路,然后再畫出軟件流程圖,按這樣的步驟,設(shè)計(jì)起來就比較方便快捷了。2 系統(tǒng)總體設(shè)計(jì)2.1 設(shè)計(jì)要求作為最為經(jīng)典和最具有代表性的休閑小游戲之一的貪吃蛇,其玩法準(zhǔn)則是:玩家想要控制蛇移動(dòng)的方向,必須熟練地掌握上、下、左、右四個(gè)方向鍵,在一個(gè)個(gè)的小方格上吃掉出現(xiàn)的食物。蛇每吃完一次食物后,蛇身變相應(yīng)地增長(zhǎng)一節(jié),一節(jié)即為一個(gè)單位距離,蛇在游動(dòng)時(shí),碰到蛇身或者是屏幕框,都表示該游戲結(jié)束。42.2 系統(tǒng)設(shè)計(jì)方案2.2.1 硬件設(shè)計(jì)系統(tǒng)采用的硬件設(shè)備主要包括51系列單片機(jī),8*8點(diǎn)陣屏等。本次課程設(shè)計(jì)單片機(jī)選擇的是由飛利浦公司生產(chǎn)的低功耗高性能的CMOS型8位單片機(jī)。之所以選擇它,是因?yàn)樗鼡碛袃?nèi)置的一次性可編程只讀存儲(chǔ)器的64K 字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)和1K 字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),它能夠滿足游戲?qū)Υ鎯?chǔ)空間的要求。8*8點(diǎn)陣屏選擇的是ARK-SZ411288K,它能夠直接與CPU相連接。2.2.2 軟件設(shè)計(jì)軟件方面主要為匯編語言、C 語言、嵌入式操作系統(tǒng)。采用 C 語言編寫的程序能夠很容易地在不同類型的計(jì)算機(jī)之間進(jìn)行移植 [1]。在以后的發(fā)展中,各類型號(hào)的單片機(jī)種類會(huì)進(jìn)一步增加,而開發(fā)工具和過程會(huì)逐步趨向于統(tǒng)一,軟件和硬件差別會(huì)更加難以區(qū)分 [2]。本設(shè)計(jì)使用 uVision3 進(jìn)行程序軟件編譯。只要看一下編譯后生成的匯編代碼,就能夠體會(huì)到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解 [3]。用 uVision3 軟件編寫程序時(shí),由于 uVision3 一般只能修改語法上的錯(cuò)誤,不好檢查算法上的問題,而且如果直接下到單片機(jī)里,會(huì)因?yàn)殡娐钒宓南拗贫沟谜{(diào)試不方便,所以,在這里,本設(shè)計(jì)選擇使用 Proteus 軟件進(jìn)行電路的仿真。它運(yùn)行與 Windows 操作系統(tǒng)上,可以繪制電路原理圖,仿真、分析各種模擬器件和集成電路,支持主流單片機(jī)系統(tǒng)和多種外圍芯片的仿真,提供軟件調(diào)試功能,支持第三方的軟件編譯和調(diào)試環(huán)境 [4]。3 系統(tǒng)硬件設(shè)計(jì)3.1 8*8LED 點(diǎn)陣的原理說明ARK-SZ411288K 是本次課程設(shè)計(jì)所選用的點(diǎn)陣顯示模塊。它是一個(gè) 8*8 的點(diǎn)陣顯示模塊,總共由 64 個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管都處于行線和列線的交點(diǎn)上。當(dāng)相對(duì)應(yīng)的某一列置 1 電平,某一行置 0 電平,則位置所對(duì)應(yīng)的二極管就變亮。值得一說的是,ARK-SZ411288K 能夠與 CPU 直接連接,再根據(jù)其引腳說明,將其各個(gè)引腳與相對(duì)應(yīng)的 I/O 口相連。 3.2 LED 陣列驅(qū)動(dòng)電路至少需要 10~20mA 的電流才能正向地點(diǎn)亮一顆 LED,如果通過的電流不足夠大,那么 LED 所發(fā)出的光就比較暗。而無論是 89C51 單片機(jī)的 I/O 口,或是 TTL、CMOS 的輸出,高輸出電流并不是很高,才不過 1~2 毫安,故而,很難直接地對(duì) LED 高態(tài)驅(qū)動(dòng)。5在這種時(shí)候,我們就需要增加額外的輔助驅(qū)動(dòng)電路,本次課程設(shè)計(jì)選用的是 74HC595,采用 74HC595 芯片來驅(qū)動(dòng) LED 可以有以下幾個(gè)優(yōu)點(diǎn):速度快,功耗小,LED 的數(shù)量隨意。既能夠控制 LED 的共陰極顯示器,也可以控制 LED 的共陽極顯示器,同時(shí),還可以通過軟件來控制 LED 的亮度,并且在需要的時(shí)候,能夠關(guān)斷顯示,從而降低功耗,還能夠隨時(shí)喚醒顯示。采用 74HC595 設(shè)計(jì)的電路,軟硬件設(shè)計(jì)都相對(duì)比較簡(jiǎn)單,而且功耗較低,驅(qū)動(dòng)能力較強(qiáng),所占用的 I/O 口線較少,成本較低,是一種應(yīng)用十分靈活的設(shè)計(jì)方案。系統(tǒng)采用的硬件設(shè)備主要包括51系列單片機(jī),8*8點(diǎn)陣屏等。51系列單片機(jī)采用了飛利浦(PHILIPS )公司生產(chǎn)的型號(hào)為 P87C51RD2的低功耗高性能的CMOS型8位單片機(jī)。選擇它是因?yàn)?,它?nèi)置了 64K bytes的OTP只讀程序存儲(chǔ)器(RAM)和1K bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器( RAM),能滿足游戲?qū)Υ鎯?chǔ)空間的要求。另外配備了32個(gè)可編程的I/O端口,3個(gè)16位定時(shí)器 /計(jì)數(shù)器,一個(gè)7中斷源4優(yōu)先級(jí)嵌套中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片振蕩器及時(shí)鐘電路 [5]74HC595 里含有串/并出移位寄存器和三態(tài)輸出鎖存器。寄存器和鎖存器有著各自的時(shí)鐘輸入(SCLK 和 SLCK),它們有效電平都是上升沿。當(dāng) SCLK 由低電平跳向高電平時(shí),串行輸入數(shù)據(jù)(SDA)移入寄存器;當(dāng) SLCK 由低電平跳變?yōu)楦唠娖綍r(shí),鎖存器將寄存器的數(shù)據(jù)置入。清除端(CLR) 的低電平只對(duì)寄存器復(fù)位 (QS 為低電平),而對(duì)鎖存器無影響。當(dāng)輸出允許控制(EN)為高電平時(shí), 并行輸出(Q0 ~Q7) 為高阻態(tài),而串行輸出(QS)不受影響。74HC595 最多需要 5 根控制線,即 SDA、SCLK、SLCK 、CLR 和 EN。其中,CLR 能夠直接接到高電平,并且用軟件可以實(shí)現(xiàn)寄存器的清零;若是不需要用軟件改變亮度,則 EN 可以直接接到低電平,使用硬件來改變亮度。將余的三根線與單片機(jī)的 I/O口相連,能夠控制 LED。數(shù)據(jù) SDA 口送入 74HC595,在每個(gè) SCLK 的上升沿,SDA 口上的數(shù)據(jù)移入寄存器,在 SCLK 的第 9 個(gè)上升沿,數(shù)據(jù)開始從 QS 移出。如果把第二個(gè) 74HC595 的 SDA 和第一個(gè) 74HC595 的 QS 連接,數(shù)據(jù)移動(dòng)到第二個(gè) 74HC595 中,按照此方法,逐次接下去,能夠接任意多個(gè)。所有的數(shù)據(jù)發(fā)送完畢后,給 SLCK 一個(gè)上升沿,將寄存器中的數(shù)據(jù)送入鎖存器中。如果 EN 為低電平,數(shù)據(jù)即從并口 Q0~Q7 輸出,把 Q0~Q7 與 LED 的 8段相接,LED 就可以實(shí)現(xiàn)顯示了。要想軟件改變 LED 的亮度,只需改變 EN 的占空比就行了 [6]。其中,點(diǎn)陣的亮度可以使用改變輸入電壓來改變 [7]。4 系統(tǒng)軟件設(shè)計(jì)4.1 系統(tǒng)主要模塊介紹貪吃蛇操作過程中有多種狀態(tài),采用宏定義,使各種狀態(tài)一目了然,思路清晰。同時(shí)再編寫代碼時(shí),采用匈牙利命名規(guī)則命名宏,變量,函數(shù)名,方便閱讀修改 [8]。64.1.1 主函數(shù)模塊作為程序運(yùn)行時(shí)縮影一般的存在,主函數(shù)是一個(gè)無限在循環(huán)的程序。它所需要完成的是對(duì)一系列硬件軟件的初始化,并且利用定時(shí)中斷來控制游戲的時(shí)鐘,還要調(diào)用其他模塊以完成按鍵的處理和蛇的運(yùn)動(dòng)。4.1.2 按鍵模塊按鍵模塊包括兩個(gè)部分:按鍵檢測(cè)模塊和按鍵處理模塊。按鍵檢測(cè)模塊初始化按鍵對(duì)應(yīng)的管腳,利用查詢方式檢測(cè)按鍵對(duì)應(yīng)的變量值改變。按鍵處理模塊針對(duì)不同狀態(tài)下,對(duì)按鍵做出不同的處理。4.1.3 蛇運(yùn)動(dòng)控制模塊該模塊負(fù)責(zé)控制蛇的運(yùn)動(dòng)和狀態(tài),包括在剛開始游戲時(shí)對(duì)蛇進(jìn)行初始化,蛇運(yùn)動(dòng)時(shí)對(duì)蛇移動(dòng)的處理,蛇吃掉出現(xiàn)的食物后的處理。4.2 主程序工作流程系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計(jì)的。按軟件的功能來分,可分為執(zhí)行軟件和監(jiān)控軟件。執(zhí)行軟件可以完成各種實(shí)質(zhì)性的功能,如測(cè)量、計(jì)算、顯示。打印、輸出、控制等;監(jiān)控軟件是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色。在軟件設(shè)計(jì)上,通常要考慮如下幾個(gè)方面問題:1.根據(jù)軟件的功能要求,將系統(tǒng)軟件分為幾個(gè)相對(duì)獨(dú)立的部分。整體結(jié)構(gòu)設(shè)計(jì)合理,明確,軟件開發(fā)簡(jiǎn)單,還有合理的工作流程。2.每個(gè)功能程序要實(shí)現(xiàn)模塊化、子程序化。不僅方便調(diào)試,連接,也能方便移植和修改。3.編寫應(yīng)用軟件之前,要先繪制出程序流程圖。4.要合理分配系統(tǒng)資源。C 語言是一種結(jié)構(gòu)化的高級(jí)語言,其優(yōu)點(diǎn)是可讀性好,移植容易 [9],是普遍使用的一種計(jì)算機(jī)語言。具體的實(shí)施步驟為:1.明確控制要求,繪制電路原理圖。2.參考相關(guān)文獻(xiàn),檢查電路圖是否正確。3.根據(jù)電路原理圖焊接電路板,嘗試制作貪吃蛇模型。4.分析操作流程,繪制程序流程圖。5.編寫程序代碼,不斷改善。6.運(yùn)用已學(xué)軟件,對(duì)程序進(jìn)行初步調(diào)試。7.配合貪吃蛇硬件部分,并努力完善其功能,以達(dá)到設(shè)計(jì)要求。主程序工作流程如圖 1 所示:7L E D 初始化開始定時(shí)器初始化程序主體部分有中斷發(fā)生嗎 ? 調(diào)用中斷服務(wù)程序蛇是否碰壁或舌頭是否跟蛇身相碰游戲結(jié)束NNYY圖 1 貪吃蛇流程圖系統(tǒng)上電后,首先初始化 LED,然后初始化定時(shí)器,同時(shí)啟動(dòng)定時(shí)器,再然后執(zhí)行程序主體邏輯,程序主體邏輯經(jīng)過一遍執(zhí)行后,立即檢查有無中斷發(fā)生。該游戲的中斷源有兩個(gè),一個(gè)是定時(shí)器中斷驅(qū)動(dòng)蛇自動(dòng)向前,另一個(gè)是用戶通過控制按鍵來控制貪吃蛇移動(dòng)的中斷,二者中任意一個(gè)中斷的發(fā)生都能夠使蛇的當(dāng)前狀態(tài)發(fā)生改變。如果沒有中斷產(chǎn)生,主程序則繼續(xù)判斷蛇身是否相撞或者蛇頭是否碰到主屏幕;只要滿足以上所說任意條件,則表示結(jié)束游戲,不然游戲繼續(xù)執(zhí)行主體循環(huán)。該程序的入口地址是 Main()函數(shù),從執(zhí)行程序的功能開始,將各個(gè)模塊串聯(lián)起來,以實(shí)現(xiàn)游戲的各種功能。首先完成軟件硬件的初始化任務(wù)然后進(jìn)入一個(gè)循環(huán),反復(fù)檢測(cè)有無按鍵、處理按鍵、處理蛇運(yùn)動(dòng)、處理時(shí)鐘節(jié)拍這四件事情 [10]。84.3 游戲設(shè)計(jì)思想按設(shè)計(jì)要求可以得出,游戲的核心是解決 LED 顯示屏的顯示和蛇身的運(yùn)動(dòng)處理的問題。將貪吃蛇的每一節(jié)蛇身大小定義為一個(gè)單位矩陣,食物大小與一節(jié)蛇身大小相同,也是一個(gè)單位矩陣。當(dāng)蛇開始運(yùn)動(dòng)時(shí),需要解決以下幾個(gè)問題:1.蛇身的運(yùn)動(dòng)處理。用戶每按下一個(gè)鍵,蛇身都將開始進(jìn)行柔體運(yùn)動(dòng)。所謂的柔體運(yùn)動(dòng),就是指蛇的運(yùn)動(dòng)并不與整條蛇的運(yùn)動(dòng)方向一致,而是指在每個(gè)時(shí)鐘到來時(shí),由蛇頭帶動(dòng)每一個(gè)點(diǎn)陣的方向向下一個(gè)點(diǎn)陣傳播,然后自己向新的方向運(yùn)動(dòng)一步。運(yùn)動(dòng)之后,下一個(gè)點(diǎn)陣就得到了上一個(gè)點(diǎn)陣的方向,然后按照上一個(gè)方向運(yùn)動(dòng)同樣的一步。因此,它能夠立即填補(bǔ)上一點(diǎn)的位置,如此類推。在實(shí)際設(shè)計(jì)蛇運(yùn)動(dòng)的時(shí)候,我們需要把貪吃蛇蛇尾的那個(gè)點(diǎn)陣給去掉,然后在蛇頭的新方向上放一個(gè)點(diǎn)陣。所以,一個(gè)函數(shù)的定義是用來更新一個(gè)點(diǎn)的坐標(biāo),只要確定蛇頭或蛇尾的坐標(biāo)還有其運(yùn)動(dòng)的方向,我們就可以調(diào)用此函數(shù)來更新蛇頭或蛇尾的坐標(biāo)。與此同時(shí),調(diào)用有關(guān)的顯示函數(shù)來達(dá)到對(duì)蛇運(yùn)動(dòng)處理的效果。2.在吃到食物后對(duì)蛇的處理。蛇頭和食物坐標(biāo)相同時(shí),則表示貪吃蛇吃到食物。如果吃到了食物,那么就在蛇頭的位置加上一個(gè)單位點(diǎn)陣,同時(shí)需要立即再更新下一個(gè)食物的坐標(biāo)。3.隨機(jī)放置新的食物。貪吃蛇吃掉食物后,我們通過更新食物的坐標(biāo)來產(chǎn)生新的食物。在放置食物時(shí),我們需要調(diào)用一個(gè)判斷函數(shù)來判斷產(chǎn)生的新食物的坐標(biāo)與蛇身是否重疊,如果重疊了,那么則需要重新放置,然后再重新判斷,直到產(chǎn)生的新的食物和蛇身坐標(biāo)不相互重疊為止。4.死亡處理。蛇在運(yùn)動(dòng)時(shí),如果蛇頭碰到顯示屏邊框或是蛇身,那就表示游戲結(jié)束了。4.4 LED 點(diǎn)陣初始化初始化 LED 點(diǎn)陣,就是把點(diǎn)陣內(nèi)所含有的全部信息清除,讓其沒有任何信息,內(nèi)部變空,然后在事先所指定的位置處顯示蛇的初始位置和食物的初始位置。初始化程序如下:void Init(){for (i = 3; i #define uchar unsigned char#define SNAKE 20 //最大長(zhǎng)度#define TIME 50 //顯示延時(shí)時(shí)間#define SPEED 40 //速度控制//#define keyenable 1sbit keyenable=P3^6; //方向使能/*sbit keyx=P0^1; //左右sbit keyy=P0^2; //上下 *///sbit up=P0^0;sbit up=P3^1; //downsbit down=P3^3;sbit right=P3^4;sbit left=P3^2;uchar x[SNAKE+1];uchar y[SNAKE+1]; uchar time,n,i,e; //延時(shí)時(shí)間,當(dāng)前蛇長(zhǎng),通用循環(huán)變量,當(dāng)前速度char addx,addy; //位移偏移量/********************延時(shí)程序*********************/void delay(char MS){char us,usn;while(MS!=0){usn = 0;while(usn!=0){us=0xff;while (us!=0){us--;};usn--;}MS--;}}/*******************************************判斷碰撞*******************************************/bit knock(){bit k;k=0;if(x[1]7||y[1]7)k=1; //撞墻for(i=2;i1;i--){x[i]=x[i-1];y[i]=y[i-1];} //x[n-1]=x[2];y[n-1]=y[2];x[1]=x[2]+addx;y[1]=y[2]+addy; //移動(dòng)}}} 本科畢業(yè)論文(設(shè)計(jì))手冊(cè)( 2011 屆) 貪吃蛇游戲的設(shè)計(jì) 學(xué) 院 電子信息工程學(xué)院 專 業(yè)電氣工程及其自動(dòng)化 姓 名 指導(dǎo)教師 職 稱 等 級(jí) 目 錄學(xué)號(hào):附件 42本科畢業(yè)論文(設(shè)計(jì))任務(wù)書…………………………………3本科畢業(yè)論文(設(shè)計(jì))開題報(bào)告………………………………4本科畢業(yè)論文(設(shè)計(jì))中期報(bào)告………………………………6本科畢業(yè)論文(設(shè)計(jì))指導(dǎo)記錄………………………………7本科畢業(yè)論文(設(shè)計(jì))答辯記錄………………………………9本科畢業(yè)論文(設(shè)計(jì))成績(jī)?cè)u(píng)定表……………………………103本科畢業(yè)論文(設(shè)計(jì))任務(wù)書(指導(dǎo)教師、學(xué)生共同簽訂)學(xué)號(hào) 姓名 指導(dǎo)教師題目 貪吃蛇游戲的設(shè)計(jì)題目來源 A.實(shí)驗(yàn) B.實(shí)習(xí) C.工程實(shí)踐 D.社會(huì)調(diào)查 E.教研 F.科研 G.其它類別 A.論文 B.設(shè)計(jì) C.其它 性質(zhì) A. 理論研究 B. 應(yīng)用研究 C. 綜合研究 D.其它一、指導(dǎo)教師責(zé)任。(一)指導(dǎo)教師應(yīng)端正思想,把培養(yǎng)人才放在首位,注重培養(yǎng)學(xué)生的學(xué)習(xí)能力、實(shí)踐能力和創(chuàng)新能力。嚴(yán)格要求學(xué)生,培養(yǎng)學(xué)生科學(xué)嚴(yán)謹(jǐn)?shù)膽B(tài)度和實(shí)事求是的作風(fēng)。(二)指導(dǎo)教師應(yīng)當(dāng)對(duì)學(xué)生進(jìn)行學(xué)術(shù)道德、學(xué)術(shù)規(guī)范教育,對(duì)畢業(yè)論文(設(shè)計(jì))進(jìn)行適當(dāng)指導(dǎo)(不少于 8 次),對(duì)畢業(yè)論文(設(shè)計(jì))是否由其獨(dú)立完成進(jìn)行審查。(三)指導(dǎo)教師在指導(dǎo)畢業(yè)論文(設(shè)計(jì))期間請(qǐng)假應(yīng)事先布置學(xué)生任務(wù),或委托他人代為指導(dǎo)。請(qǐng)假 2 周以上者,須經(jīng)院系批準(zhǔn);請(qǐng)假超過 4 周者,應(yīng)及時(shí)向院(系)申請(qǐng)調(diào)整指導(dǎo)教師。(四)接受并并執(zhí)行院系指導(dǎo)教師遴選和評(píng)價(jià)具體辦法以及學(xué)校、院系相關(guān)考核。二、學(xué)生責(zé)任。(一)學(xué)生應(yīng)按照專業(yè)人才培養(yǎng)方案規(guī)定,參加畢業(yè)論文(設(shè)計(jì))與綜合訓(xùn)練。(二)學(xué)生應(yīng)重視畢業(yè)論文(設(shè)計(jì)),嚴(yán)格遵守學(xué)校、院系相關(guān)制度;按照要求參加院系畢業(yè)論文(設(shè)計(jì))集中指導(dǎo);在校外撰寫畢業(yè)論文(設(shè)計(jì))的,要遵守所在單位的有關(guān)規(guī)章制度。(三)學(xué)生應(yīng)在指導(dǎo)教師指導(dǎo)下,查閱文獻(xiàn)、搜集資料、實(shí)地調(diào)研,撰寫文獻(xiàn)綜述、開題報(bào)告、論文(設(shè)計(jì)說明書)等;經(jīng)常、主動(dòng)向指導(dǎo)教師匯報(bào)論文(設(shè)計(jì))進(jìn)展情況,接受指導(dǎo)。畢業(yè)論文(設(shè)計(jì))完成后,應(yīng)按規(guī)范要求提交材料,并按時(shí)參加答辯。(四)學(xué)生應(yīng)按時(shí)完成各階段任務(wù),保證畢業(yè)論文(設(shè)計(jì))質(zhì)量;應(yīng)恪守學(xué)術(shù)道德和學(xué)術(shù)規(guī)范,在指導(dǎo)教師指導(dǎo)下獨(dú)立完成論文,不得抄襲;嚴(yán)禁弄虛作假、請(qǐng)人代替完成;否則,任何時(shí)候一經(jīng)發(fā)現(xiàn)均取消成績(jī),并追究當(dāng)事人責(zé)任。教師簽名: 學(xué)生簽名: 年 月 日指導(dǎo)小組(教研室)意見:組長(zhǎng)簽名:院(系)意見:負(fù)責(zé)人簽名:4本 科 畢 業(yè) 論 文 ( 設(shè) 計(jì) ) 開 題 報(bào) 告(學(xué)生填寫)學(xué) 號(hào) 姓 名 指 導(dǎo) 教 師題目 貪吃蛇游戲的設(shè)計(jì)課題內(nèi)容:(研究現(xiàn)狀、目標(biāo)、意義等,空白不足可增加頁面)1、研究現(xiàn)狀:時(shí)代在不斷進(jìn)步,人們需要更加人性化的休閑小游戲來放松身心,貪吃蛇小游戲就是在這樣的背景下產(chǎn)生的。2、目標(biāo):通過這些年來所學(xué)的知識(shí)將它剖析出來,使它立體的呈現(xiàn)在面前,真正意義上的了解它的實(shí)質(zhì),明白它的精髓所在。3、意義:這是一次體現(xiàn)我們綜合實(shí)踐能力的機(jī)會(huì),進(jìn)一步鍛煉學(xué)生的動(dòng)手能力。同時(shí),讓學(xué)生完成實(shí)驗(yàn)的過程中,可以考察我們的動(dòng)手能力,獨(dú)立思考的能力,還有自主學(xué)習(xí)的能力,鍛煉相互合作的精神,取長(zhǎng)補(bǔ)短,培養(yǎng)團(tuán)隊(duì)意識(shí),通過鞏固以往的知識(shí),為以后的發(fā)展打下良好的基礎(chǔ)。本次課程設(shè)計(jì)將要求、算法還有源程序單獨(dú)分開,給學(xué)生營(yíng)造獨(dú)立思考問題的條件。在足夠理解要求和算法的前提下,充分了解學(xué)生的要求和算法,再設(shè)計(jì)自己的應(yīng)用。5課題關(guān)鍵問題及難點(diǎn):關(guān)鍵在于以下幾個(gè)方面:1.8*8 點(diǎn)陣的選擇2.保證游戲的流暢性和及時(shí)響應(yīng)性3.游戲的設(shè)計(jì)應(yīng)該接近人性化擬采取的方式、方法及計(jì)劃進(jìn)程安排(主要技術(shù)路線):1、準(zhǔn)備工作1.認(rèn)真詳細(xì)的閱讀任務(wù)書,深刻了解主要的內(nèi)容和要求。2.查閱與貪吃蛇相關(guān)的書籍,了解貪吃蛇的工作原理3.了解歷年全國(guó)大學(xué)生電子競(jìng)賽有關(guān)貪吃蛇的資料。4.根據(jù)控制要求初步確定所使用的元器件。2、 實(shí)施步驟1.明確控制要求,繪制電路連接圖。2.參考文獻(xiàn),檢查電路圖的正確性。3.根據(jù)電路連接圖焊接電路板,制作貪吃蛇模型。4.分析操作流程,繪制程序流程圖。5.編寫程序代碼。6.運(yùn)用電腦軟件初步對(duì)程序進(jìn)行調(diào)試。7.配合貪吃蛇硬件部分,并完善功能,達(dá)到設(shè)計(jì)要求。6參考文獻(xiàn):[1]翟震,張春玲. 用 74HC595 芯片驅(qū)動(dòng) LED 的電路設(shè)計(jì)[J]. 機(jī)床與液壓,2004,NO.12:151-152[2]夏路易、石宗義編著.電路原理圖與電路板設(shè)計(jì)教程[M].北京希望電子出版社,2002[3]王守中,聶元銘.51 單片機(jī)開發(fā)入門與典型實(shí)例(第 2 版)[M].北京:人民郵電出版社,2009.[4]樊永顯,許勇,張向文等.基于 STC89C54RC/RD+單片機(jī)的游戲機(jī)系統(tǒng)設(shè)計(jì)[J].湖南工業(yè)大學(xué)學(xué)報(bào),2007,21(5):66-69.[5]戴仙金,冼進(jìn).51 單片機(jī)及其 C 語言程序開發(fā)實(shí)例[M].北京:清華大學(xué)出版社,2008.[6]P87C51RA2/RB2/RC2/RD2 DATA SHEET[M/OL].2003.[7]劉云,羅永能. 基于 51 單片機(jī)的貪食蛇游戲機(jī)開發(fā)[J]. 福建電腦,2009,第七期:147-148指導(dǎo)教師意見:教師簽名: 年 月 日指導(dǎo)小組(教研室)意見:組長(zhǎng)簽名: 年 月 日本 科 畢 業(yè) 論 文 ( 設(shè) 計(jì) ) 中 期 報(bào) 告(學(xué)生填寫)學(xué) 號(hào) 1108441087 姓 名 指 導(dǎo) 教 師題目 貪吃蛇游戲的設(shè)計(jì)7(簡(jiǎn)述開題以來工作進(jìn)展和成效、存在的問題、下一步計(jì)劃與安排)從選定這個(gè)題目到現(xiàn)在經(jīng)歷了好幾個(gè)月的時(shí)間,在這段時(shí)間內(nèi),從最開始得了解甚少 ,到現(xiàn)在的思路逐漸清晰,了解加深,不可謂收獲不豐。從開題以來,論文基本完成,剩下的需要再稍加修改,程序的編寫,原理圖,PCB 圖,仿真圖都已經(jīng)做出來,實(shí)物圖也可以運(yùn)行了。當(dāng)看到實(shí)物運(yùn)行時(shí),心里那種激動(dòng)是無法言表的,頓時(shí)感覺這些日子來的努力真的都不是白費(fèi)的?,F(xiàn)在存在的問題是,論文需要修改,不斷地完善。下一步計(jì)劃是查閱資料,完善論文,然后再檢查該設(shè)計(jì)是否能夠更加完善,軟件編寫能否再使用其他的軟件來是實(shí)現(xiàn)。 ,并逐步完善其功能,使其更人性化。指導(dǎo)教師意見:教師簽名:月 日指導(dǎo)小組(教研室)意見:組長(zhǎng)簽名:月 日8本科畢業(yè)論文(設(shè)計(jì))指導(dǎo)記錄(指導(dǎo)教師、學(xué)生共同填寫)學(xué) 號(hào) 姓 名 指 導(dǎo) 教 師題目 貪吃蛇游戲的設(shè)計(jì)第 1 次指導(dǎo) 時(shí)間:2014.11.5 地點(diǎn):躬行樓實(shí)驗(yàn)室 指導(dǎo)形式:面談指導(dǎo)老師通知畢業(yè)設(shè)計(jì)相關(guān)事宜,包括對(duì)于老師的選擇,畢業(yè)設(shè)計(jì)的方向,選擇等給予一定的指導(dǎo)性意見和建議。第 2 次指導(dǎo) 時(shí)間:2014.11.19 地點(diǎn):躬行樓實(shí)驗(yàn)室 指導(dǎo)形式:面談根據(jù)第一次指導(dǎo),通過老師的建議對(duì)畢業(yè)設(shè)計(jì)題目進(jìn)行選取,在選擇自己有興趣的課題時(shí),還要確定自己要跟的老師,以后就跟那個(gè)老師進(jìn)行畢業(yè)設(shè)計(jì)。第 3 次指導(dǎo) 時(shí)間:2014.12.10 地點(diǎn):躬行樓實(shí)驗(yàn)室 指導(dǎo)形式:面談老師根據(jù)我們每個(gè)人選擇的題目不同,進(jìn)行任務(wù)的布置。明確指出首先要設(shè)計(jì)出原理圖,根據(jù)原理圖畫出其 PCB 圖,按老師的指導(dǎo)完成自己的任務(wù)。第 4 次指導(dǎo) 時(shí)間:2015.1.7 地點(diǎn):躬行樓實(shí)驗(yàn)室 指導(dǎo)形式:面談寫開題報(bào)告。明確對(duì)自己所要設(shè)計(jì)的實(shí)驗(yàn)的要求,知道先做什么再做什么,了解大體方針,不至于連干什么都不清楚。第 5 次指導(dǎo) 時(shí)間:2015.3.11 地點(diǎn):躬行樓實(shí)驗(yàn)室 指導(dǎo)形式:面談經(jīng)過兩個(gè)多月的學(xué)習(xí)與研究,畫出原理圖、仿真圖和 PCB 圖,在編寫程序的過程中遇到了困難,部分的程序基本編寫完成,并確定下次的進(jìn)度是論文的編寫,以及實(shí)物的焊接。第 6 次指導(dǎo) 時(shí)間:2015.3.25 地點(diǎn):博約樓 105 指導(dǎo)形式:面談完成論文初稿的編寫和對(duì)實(shí)物的焊接,并且解決在前階段遺留下來的問題。論文初稿主要是按照模板進(jìn)行編寫,大體的結(jié)構(gòu)要出來,并且準(zhǔn)備下次預(yù)答辯。第 7 次指導(dǎo) 時(shí)間:2015.4.15 地點(diǎn): 指導(dǎo)形式:面談本次主要是進(jìn)行預(yù)答辯,熟悉正式答辯的流程。檢查和畢業(yè)論文相關(guān)是否已經(jīng)基本的完成,包括原理、仿真圖、PCB 圖、論文、實(shí)物。其中這一階段主要根據(jù)老師提出相應(yīng)的問題對(duì)論文的內(nèi)容和論文的格式修改。第 8 次指導(dǎo) 時(shí)間:2015.4.22 地點(diǎn): 指導(dǎo)形式:面談本次主要是進(jìn)行指導(dǎo)答辯,首先是檢查上一階段的任務(wù),論文格式和內(nèi)容的修9改,論文的查重。其次是答辯 PPT 的制作,要多圖少字,直觀簡(jiǎn)潔。學(xué)生簽名: 教師簽名: 本科生畢業(yè)論文(設(shè)計(jì))答辯記錄學(xué)號(hào) 姓名 指導(dǎo)教師題目答辯組成員10組長(zhǎng) 職稱 職務(wù)成員 職稱 成員 職稱成員 職稱 成員 職稱成員 職稱 成員 職稱答 辯 秘 書 答辯時(shí)間 月 日 時(shí)陳述、提問及回答情況記錄:答辯秘書簽名: 答辯組長(zhǎng)簽名: 年 月 日本科生畢業(yè)論文(設(shè)計(jì))成績(jī)?cè)u(píng)定表學(xué)號(hào) 5 姓名 指導(dǎo)教師題目11內(nèi)容提要及指導(dǎo)教師意見評(píng)分:(百分制) 指導(dǎo)教師簽名: 年 月 日12評(píng)閱教師評(píng)閱意見評(píng)分:(百分制) 評(píng)閱教師簽名: 年 月 日答辯小組答辯意見評(píng)分:(百分制) 組長(zhǎng)簽名: 年 月 日答辯委員會(huì)意見總評(píng)分?jǐn)?shù):(百分制) 論文等級(jí):(五級(jí)制) 評(píng)定人簽名: 負(fù)責(zé)人簽名: ﹡總評(píng)成績(jī)=指導(dǎo)教師評(píng)分*25%+評(píng)閱教師評(píng)分*25%+答辯小組評(píng)分*50%
收藏
編號(hào):596319
類型:共享資源
大?。?span id="ievbyqtbdd" class="font-tahoma">9.63MB
格式:ZIP
上傳時(shí)間:2019-07-01
20
積分
- 關(guān) 鍵 詞:
-
電氣設(shè)計(jì)
自動(dòng)化
論文
貪吃
游戲
設(shè)計(jì)
- 資源描述:
-
【電氣設(shè)計(jì)自動(dòng)化論文】貪吃蛇游戲的設(shè)計(jì),電氣設(shè)計(jì),自動(dòng)化,論文,貪吃,游戲,設(shè)計(jì)
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。