聚豐項目 > 基于STM32的打地鼠游戲設計
本作品是在stm32開發板上開發了我們常見得一款游戲——打地鼠,用了一塊7寸的電容觸摸屏作為顯示和操作界面,用STM32作為主控平臺,并在游戲中加入了各種音效,可以作為非常有趣味的一個學習項目。
1413909
分享1413909
團隊成員
薛海瑞 學生
本作品主要包括的硬件主要有STM32開發板,MP3音頻播放模塊,7寸帶觸摸功能的液晶屏,分別負責任務調度及控制,音頻解碼及播放,界面顯示及人機交互。下面分別進行介紹:
1.STM32主控板
主控版采用的芯片型號為STM32F401,使用高性能的ARM? Cortex?-M3 32位的RISC內核,工作頻率為72MHz,內置高速存儲器(高達128K字節的閃存和20K字節的SRAM),豐富的增強I/O端口和聯接到兩條APB總線的外設。所有型號的器件都包含2個12位的ADC、3個通用16位定時器和1個PWM定時器,還包含標準和先進的通信接口:多達2個I2C接口和SPI接口、3個USART接口、一個USB接口和一個CAN接口。
這里我們用到了stm32的spi接口與音頻模塊進行通信,單片機先讀取SD卡中的mp3音頻文件,然后通過 SPI 口向 VS1053音頻模塊不停的輸入音頻數據, 它就會自動幫我們解碼了,然后從輸出通道輸出游戲的背景音樂。
主控芯片原理圖如下:
2.音頻解碼模塊
解碼芯片用的是VS1053,VS1053 是繼 VS1003 后荷蘭 VLSI 公司出品的又一款高性能解碼芯片。該芯片可以實現MP3/OGG/WMA/FLAC/WAV/AAC/MIDI 等音頻格式的解碼,同時還可以支持 ADPCM/OGG 等 格式的編碼,性能相對以往的 VS1003 提升不少。VS1053 擁有一個高性能的 DSP 處理器核 VS_DSP,16K 的指令 RAM,0.5K 的數據 RAM,通過 SPI 控制,具有 8 個可用的通用 IO 口和 一個串口,芯片內部還帶了一個可變采樣率的立體聲 ADC(支持咪頭/咪頭+線路/2 線路)、一 個高性能立體聲 DAC 及音頻耳機放大器。
VS1053 通過 SPI 接口來接受輸入的音頻數據流,它可以是一個系統的從機,也可以作為獨 立的主機。這里我們只把它當成從機使用。
電路原理圖如下:
3.7寸液晶串口屏
本作品的顯示界面用了一塊7寸的HMI串口液晶屏,這種串口屏具有界面設計簡單,交互性好,使用方便的特點,且它使用usart進行與主控版進行通信,便于控制部分與顯示部分獨立進行調試,也便于通信協議的制定,本作品便是利用這一優點進行了設計。
界面設計如下圖所示:
本作品的軟件部分主要分兩部分,一部分即為主控這邊的音頻文件讀取與播放并且與串口屏的通信,另一部分即為串口屏圖形界面的設計,所以下面分兩部分進行介紹。
1.stm32主控程序說明
stm32先初始化相應的系統時鐘,spi通信端口及usart通信口,然后根據串口屏發來的命令播放相應的背景音樂,串口屏依據不同的情況發送不同的命令到單片機,使其切換不同的音效。
流程圖如下:
2.串口屏界面設計
界面設計時主要結合了串口屏的特點,充分利用了串口屏實現各種控件的便利性,再結合屏幕要實現的人機交互的具體功能,比如游戲中背景圖片的切換,游戲效果的展現等,按如下流程設計了一套游戲界面。
luckypp: jzsdvjssandfjf
回復
lml9910: 怎樣聯系您呢?想進一步咨詢合作
回復
mjin545: 游戲里面用的什么開發語言?
回復
電子一小時: 厲害
回復
snollp: 不錯,厲害
回復
鑫朗動漫: 我做兒童游戲機的,請聯系我QQ765078860.英雄有用武之地。
回復
歐陽佳展: 哈哈,這個用的不是正點原子的開發板嗎
回復
zts329547875: HMI串口液晶屏,貴不貴呀
回復
蘇眉12: 可以看一下程序嗎
回復
微風涼: 怎么聯系你呢?
回復
末等先生: 你好 可以聯系嘛
回復