羸彩彩票

深圳市組創微電子有限公司
銷售部:158 1687 4032采購部:0755-8299 4126行政部:0755-8299 4126
咨詢電話
0755-8299 4141

消費電子

客戶成功故事與項目成功案例

游戲機電路板單片機設計


小游戲不僅可以幫助人們緩解日常生活壓力,還可以鍛煉手眼協調能力、應急反應能力,并且小游戲不會占用太多的時間,在學習、工作間隙,可以作為一種放松的方式,例如俄羅斯方塊、貪吃蛇、賽車、打飛機等。本設計是以單片機為控制器完成這些內容,并且對于單片機初學者,也可以完成這項任務,對微控制器控制電路產生興趣,從而提高學習的樂趣。

此次設計采用STC15單片機對整個系統進行控制,利用點陣來顯示游戲的各個不同界面。本系統的時鐘是由單片機內部振蕩器振蕩產生,該實時時鐘同時提供給顯示模塊,完成顯示功能。此款游戲機可以進行俄羅斯方塊、貪吃蛇、賽車、打飛機等游戲,通過鍵盤對游戲進行控制,游戲音效電路會同時播放游戲音樂,使得游戲玩起來更加逼真。

一、游戲機系統結構和硬件設計

本次采用的STC15系列單片機具有以下特點:大容量的片內RAM存儲器,運行速度比普通單片機更快,具有多種工作模式以降低功耗,多路PWM、ADC功能單元輸出,同時還具有6個定時器,方便控制,還可對系統時鐘進行編程輸出。本次設計采用STC15F2K60S2單片機作為控制器,使用內部振蕩器提供的時鐘;利用單片機片內大容量EEPROM完成游戲過程中的FLASH畫面;利用單片機外部中斷構成鍵盤控制游戲;PWM功能實現LED顯示屏的亮度調節。

為了設計和調試方便,該游戲機系統可以采用單片機的最小系統來完成,包括:點陣屏電路、游戲鍵盤電路、游戲音效電路、LED游戲計分電路。游戲機硬件電路圖如圖1所示。

圖1 游戲機硬件電路圖

1.1點陣屏顯示游戲畫面電路

本設計采用點陣顯示,其原理如圖2點陣屏顯示電路所示。為了使顯示的圖像較為清晰,需要兩個88點陣顯示模塊。從圖2中給出了一塊點陣及其連接關系,每個點陣模塊由64個發光二極管組成,且每個發光二極管是放置在行線和列線的交叉點上。當某一列置高電平,對應的行置低電平,則相應的二極管就點亮。通過行列的控制算法,即可完成動態Flsh動畫的顯示。STC15系列單片機的I/O口有四種工作模式:準雙向口、弱上拉、強推挽、強上拉。將I/O口作為輸出時,選擇強推挽模式,每個口的輸出電流可達到20mA,這足以點亮對應行上的發光二極管,無需額外的上拉電阻。因此,可將點陣與單片機的I/O口直接相連,降低了電路的復雜程度,對于初學者而言,硬件更加簡單。

圖2 點陣屏顯示電路

1.2游戲鍵盤設計

在游戲機的設計中,鍵盤是必備的輸入設備。本設計中,鍵盤的作用是在游戲開始時,通過鍵盤選擇對應的游戲界面;在游戲過程中,通過鍵盤對正在進行的游戲進行控制。本游戲機共有五個按鍵,分別是K0與K4。K0為選擇鍵,完成開始、變形、加速等功能;K1與K4為方向鍵,K1為向上鍵,K3為向下鍵,K4為向左鍵,K2為向右鍵。R1與R5為上拉電阻,為I/O口提供必要的驅動。

1.3游戲音效電路設計

在滿足應用的前提下,本設計采用普通的蜂鳴器作為游戲音效的發聲元件。蜂鳴器通常工作電流比較大,需要一個三極管放大電路來驅動它。蜂鳴器正極性接+5V電源,另一端接PNP管的發射極,三極管基極由單片機的P5.5口控制,給游戲提供必要的音樂。

1.4游戲計分電路設計

游戲計分電路采用三位七段數碼管來實現。三位一體的七段數碼管顯示電路有段碼地址和位碼地址。控制數碼管顯示不同的字符。這樣,要顯示三位數字,就必須通過采用動態掃描實現方式。簡單地說就是在不同的位上顯示不同的數碼,然后快速完成顯示,為了使人能夠看見上面的數字,必須重復多次。這樣就通過人眼視覺暫留效應及數碼管余輝特性,可以觀察到數碼管上的三位數字了。三位數碼管的段碼與點陣屏的行數據口相連,供游戲計分使用。

游戲機控制板方案設計

二、游戲機系統軟件設計

2.1軟件設計流程

由于系統較為復雜,所以需要進行模塊化設計,以便于后續的調試驗證。將不同的游戲分開,用不同的函數實現,然后在主函數里進行選擇。

2.2主程序的設計

程序按照結構化程序設計,所有功能都通過子程序調用完成。主程序完成功能包括設計游戲GUI,構建游戲界面基本模型,達到畫面平移效果,利用LED點陣底層驅動逐點掃描,使顯示亮度均勻,用軟件PWM分層掃描畫面,形成游戲畫面對比度使顯示屏亮度可調。在主程序中設置全局變量,掃描鍵盤的輸入、控制游戲速度、游戲計分、游戲生命、音效開關、顯示屏默認亮度等。

2.3俄羅斯方塊游戲軟件設計

俄羅斯方塊游戲的規則是在限定的空間范圍內,各種形狀的方塊組合依次往下掉落,在方塊的掉落過程中,玩家通過控制按鍵,控制方塊的下落形狀,盡可能的使落下的方塊和已經在下面的方塊緊密結合,不留空隙。當方格在下降過程中遇到其它方格的阻擋,將會在當前位置停留下來。當某橫向的一層全部被方塊占滿時,此層的方塊將會全部消失。通過按鍵控制方塊的合理擺放位置,使方塊填滿一行而自行消失,這樣就可以得分,它是俄羅斯方塊的主要玩點及玩法。

依據上述規則,程序設計思路如下。先利用函數staticvoidRandBox隨機裝載一個方塊,下落時間到達后,當前方塊向下方向移動一個單位,然后讀取鍵盤按鍵值。如果按下了移動鍵,判斷能否左移或右移,如果可以,則方塊向左或右移動一個單位。如果為變形鍵,則根據函數tmpbuf[i]=blocks[tmpid][3-i]按規定對當前方塊進行變形。方塊每下落一個單元后,都要判斷是否死亡,是否規定的樓層已填滿。根據函數staticvoidRowFull{uint8p,k;uint8tmps=0;for(p=0;p<16;p++)}檢測是否滿行并進行相應處理。如滿行則消行,同時分數將會作相應的變化;若規定范圍內堆滿方塊則游戲結束,顯示游戲分數。

2.4貪吃蛇游戲軟件設計

貪吃蛇游戲的規則是蛇在一定的空間內以一定的速度向前跑動,在蛇跑動的過程中,可以通過按鍵控制蛇頭的方向,使蛇吃到食物。要是蛇吃到食物,那么蛇的長度就會長大一個單位,同時得分也會增加。如果蛇頭碰到墻或是碰到自己身體的任一部分,游戲就結束。

設計貪吃蛇游戲的基本思路是先為貪吃蛇制作一塊蛇身作為一個游戲點,即一個基本點陣。利用函數staticvoidCreate_Food隨機加載蛇的食物。用定時器1定時1s,當1s的定時時間達到時,蛇向前跑一個單位。設計蛇的運動過程,需要注意以下幾點:(1)運動處理。根據用戶按鍵的按鍵值進行柔體傳動,可以通過按下選擇鍵使蛇的運動加速;(2)吃到食物的處理。如果吃到食物,則置食物標志位為0,蛇身體長大一個游戲點;(3)放置新的食物。判斷食物標志位,若食物標志位為0,那么就要放置食物。放置食物的過程,還需要判斷新的食物是否和蛇身重疊。如果重疊,則需要重新放置并且再次判斷,直到新的食物與蛇身不重疊為止;(4)死亡處理。蛇跑動的過程中,若碰到墻或自己的身體,則游戲結束,顯示游戲分數。

2.5賽車游戲軟件設計

賽車的規則是賽車在一定的時間內向前跑動,在跑動的時候前面出現其他賽車,玩家可以控制賽車速度,并且左、右移動賽車位置前進,躲避其他賽車。隨著賽車前進的距離,得分也會相應增加。游戲中,如果賽車撞到其他賽車,游戲結束。

設計賽車游戲的基本思路是先利用函數voidRAC_Game設計賽車結構圖形,設置一個全局變量RAC_flag,其類型定義為無符號字符型,用于記錄賽車位置和賽車移動方向等信息。接下來用定時器2定時1s,當1s的定時時間到后,賽車和其它賽車同時向前跑動一個單位。通過函數實現賽車隨即產生,當按選擇鍵時,汽車加速(0.2s/單位),同時按左、右鍵躲避其它賽車前進,游戲分數相應增加。賽車跑動過程中,若撞到其他賽車則游戲結束,并顯示游戲得分。

2.6打飛機游戲軟件設計

打飛機的規則是飛機上方隨機出現一個單位點陣的方塊,用戶通過控制左、右鍵及選擇鍵(射擊),對隨機出現的方塊進行射擊,當擊中時方塊消除,同時分數增加。如果飛機撞到方塊,那么游戲結束。

設計打飛機游戲基本設計思路是先利用函數staticvoidShot_Game_Init繪制飛機圖形,同時初始化顯示畫面,然后隨機出現射擊方塊。每方塊對應一個游戲點,即一個基本點陣。設置一個全局變量Shot_flag,其類型定義為無符號字符型,用于記錄飛機位置、方塊位置、產生彈道等信息。接著對隨機出現的方塊進行射擊,被擊中后的方塊消失,游戲分數增加。方塊每隔1s下降一個單位。若飛機撞到方塊,游戲結束,并顯示游戲分數。

結論

由于電路控制部分相對簡單,可以采用ST15單片機的最小系統來完成,完成起來難度不大。但是需要注意點陣屏的管腳與行、列的對應關系,三極管、蜂鳴器注意方向即可。軟件方面,由于系統比較龐大,需要分開完成,即在主程序框架搭建好以后,可以先完成俄羅斯方塊游戲的調試,然后再加其它的小游戲到系統里面。

本設計對采用STC15F2K60S2單片機,制作俄羅斯方塊、貪吃蛇、賽車、打飛機游戲的硬件原理圖及軟件邏輯進行了分析,并完成了該款游戲機的制作。本游戲機硬件電路簡單,軟件程序編程邏輯清晰,便于初學者完成系統的制作,是單片機初學者動手練習單片機的有利工具。

以上就是我們深圳市組創微電子有限公司為您介紹的游戲機開發示例。如果您有游戲方案開發需求,可以放心交給我們。我們代理多種單片機、語音芯片、雙模藍牙IC、wifi芯片。品牌有松翰單片機、應廣單片機、杰理藍牙、安凱藍牙、全志、瑞昱(realtek)。我們的技術服務范圍有:PCB設計、單片機開發、藍牙方案、軟硬件定制開發、APP開發、小程序開發、微信公眾號開發等。還可以承接智能電子產品方案設計、生活電器開發、美容儀器研發、物聯網平臺應用、智能家居控制系統、TWS耳機、藍牙耳機音箱開發、兒童益智玩具方案開發、電子教育產品方案設計等。

注:部分圖片內容來源于網絡,如有侵權,請聯系刪除。