天天看點

基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機

基于51單片機的簡易遊戲機

目錄

  • 基于51單片機的簡易遊戲機
    • 一、緒論
    • 二、設計方案
    • 三、系統原理框圖及子產品的作用
    • 四、硬體設計及說明
    • 五、實際的程式流程圖,寫清楚程式子產品的功能
    • 六、系統使用說明
    • 七、運作仿真
    • 八、綜合設計心得體會(收獲,感想,建議和看法等)
    • 九、參考文獻

一、緒論

1.2課程設計的任務及設計要求

簡易遊戲機

(1)液晶顯示制作人姓名、學号,院,班級及校徽等資訊和圖檔;

(2)多個遊戲選項(》1):貪吃蛇遊戲、俄羅斯方塊等;

(3)具有簡單電子表功能,可顯示年、月、日、星期、時、分、秒等(根據實際顯示方式的不同,可選擇部分或全部功能);

(4)具有電子表的校準功能;

(5)擴充功能:自定義其它功能,要求具有一定難度、創新性和綜合性;

1.4設計實際所實作的功能

到目前,我所設計的簡易遊戲機實際所實作的功能有:

(1)貪吃蛇遊戲:有地圖設定、難度設定、音樂開關(音樂開關尚未完成)。

(2)俄羅斯方塊(尚未完成)。

(3)電子表:可實時讀取計算機時間,顯示年、月、日、星期、時、分、秒。同時可對年、月、日、星期、時、分、秒進行調整。

(4)制作資訊顯示:顯示制作人姓名、學号,院,班級及校徽等資訊和圖檔。

二、設計方案

2.1總體設計方案

2.2.1 硬體部分

硬體采用AT89C55,單片機的P0口接上拉電阻作LCD12864的資料口,單片機的P2接各種按鍵,單片機的P3口中P3.4、P3.5、P3.6用來與DS1302通信,其餘用來與LCD12864的通信。

2.2.2 軟體部分之菜單

菜單采用四個按鍵進行操作,分别是:上、下、确認、取消。将菜單中所有出現的可能情況進行編号,編寫按鍵掃描函數、然後對于不同的按鍵操作,産生不同的情況,進行不同的操作。在menu.h中聲名了各種菜單中需要的函數,包括: 按鍵掃描函數, 選擇函數,反白函數,遊戲結束函數,菜單跳轉函數等。這是一種一種用C語言實作的LCD 多級嵌套菜單結構。該結構緊湊、性能穩定可靠。[1]

2.2.3 軟體部分之LCD12864

LCD12864是整個系統的顯示核心,在12864.h中聲明了各種關于LCD12864的函數,包括:延時函數、初始化函數、清屏函數、寫資料函數、寫位元組函數、測忙函數、設定液晶坐标函數、寫字函數、寫數字函數等。

2.2.4軟體部分之貪吃蛇遊戲

在貪吃蛇遊戲中,采用結構體來描述蛇,利用循環數組實作循環隊列。采用定時器0工作在方式2,8位自動裝初值,隻計數不中斷,用來産生随機數,即食物。采用定時器1工作在方式1,16位,10ms中斷一次掃描鍵盤。首先是顯示出貪吃蛇的邊界,然後顯示出蛇,再産生随機數(食物),如果産生的随機數剛好是邊界和蛇,就重新産生,直到随機數不是邊界和蛇本身,然後把食物顯示出來。然後進入按鍵掃描的while循環中,隻有按下傳回鍵或遊戲結束時才傳回菜單。在while循環中,根據不同的難度,進行不同的延時,即難度越大,蛇移動越快。通過按鍵掃描确定蛇頭下一個點的位置,及移動方向,當蛇頭與食物重合時,食物重新産生,得分+1,當蛇頭與身體或者邊界重合時,遊戲結束。

三、系統原理框圖及子產品的作用

基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機

四、硬體設計及說明

4.1具體元器件清單

基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機
基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機

4.2硬體電路原理圖與硬體電路子產品說明

4.2.1Proteus原理圖

基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機

五、實際的程式流程圖,寫清楚程式子產品的功能

基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機

六、系統使用說明

本系統在仿真運作後,即可看到菜單,第一層菜單有四個選項:貪吃蛇、俄羅斯方塊、電子表、制作資訊。通過上、下鍵可将黑塊移到不同的選項下,通過确認鍵可進入選項。進入貪吃蛇選項後,可看到第二層菜單有四個選項:開始遊戲、地圖設定、難度設定、音樂開關。進入俄羅斯方塊選項可玩俄羅斯方塊遊戲(尚未完成)。進入電子表選項,可以看到目前日期和時間,按設定鍵和上下鍵還可以對日期和時間進行調節。進入制作資訊選項,可以看到作者的制作資訊,包括校徽、學院、姓名、班級和學号。

本系統一共有七個按鍵,以下表格是按鍵說明書。

基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機

七、運作仿真

基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機
基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機
基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機
基于51單片機的簡易遊戲機基于51單片機的簡易遊戲機

八、綜合設計心得體會(收獲,感想,建議和看法等)

九、參考文獻

[1] 陸铮, 羅嘉. 單片機C語言下LCD多級菜單的一種實作方法[J]. 工礦自動化, 2006, 000(001):50-51.

附:簡易遊戲機Proteus仿真+Keil代碼+說明文檔

https://download.csdn.net/download/alongiii/14935529

繼續閱讀