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,當蛇頭與身體或者邊界重合時,遊戲結束。
4.1具體元器件清單
4.2硬體電路原理圖與硬體電路模組說明
4.2.1proteus原理圖
本系統在**執行後,即可看到選單,第一層選單有四個選項:貪吃蛇、俄羅斯方塊、電子錶、製作資訊。通過上、下鍵可將黑塊移到不同的選項下,通過確認鍵可進入選項。進入貪吃蛇選項後,可看到第二層選單有四個選項:開始遊戲、地圖設定、難度設定、**開關。進入俄羅斯方塊選項可玩俄羅斯方塊遊戲(尚未完成)。進入電子錶選項,可以看到當前日期和時間,按設定鍵和上下鍵還可以對日期和時間進行調節。進入製作資訊選項,可以看到作者的製作資訊,包括校徽、學院、姓名、班級和學號。
本系統一共有七個按鍵,以下**是按鍵說明書。
[1] 陸錚, 羅嘉. 微控制器c語言下lcd多級選單的一種實現方法[j]. 工礦自動化, 2006, 000(001):50-51.
附:簡易遊戲機proteus**+keil**+說明文件
基於51微控制器的簡易計算器
矩陣鍵盤有16個按鍵,滿足對簡易計算器的計算實現,顯示部分採用lcd1602,第一行顯示計算的數值符號,第二行顯示計算結果。最大能計算7位數 7位數的值,可以計算負數,小數點結果保留有三位,在每次按下計算符號後,接著只能按下數字,再按下符號鍵無效,也就是每次計算只能按乙個計算符號,如輸入錯誤需按n清...
51微控制器簡易可控風扇
include define uint unsigned int define uchar unsigned char sbit k1 p3 1 sbit k2 p3 0 sbit k3 p3 2 sbit k4 p3 3 sbit moto p1 0 定義所需要的引腳 uint key 巨集定義k...
51微控制器
數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...