聚丰项目 > 基于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: 可以看一下程序吗
回复
微风凉: 怎么联系你呢?
回复
末等先生: 你好 可以联系嘛
回复