【单片机开发】基于stm32的掌上游戏机设计(终章)

(一)背景介绍

OK到目前位置这个掌机的代码算是,写完了,美中不足的是在玩俄罗斯方块的时候得把其他任务注释掉,不然空间不够。

(二)软件设计

最后就是main函数了

#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "gui.h"
#include "Picture.h"
#include  "music.h"
#include "24cxx.h"
#include "FILE.h"
#include  "SNAKE.h"
#include "BOX.h"
int main(void)
{
    u8 key,ps2value;
    uart_init(9600);
    delay_init();//Delay init.
	OnUart_GPIO();
	 
    KEY_Init();
	LCD_Init();	   //液晶屏初始化
    LCD_Clear(BLACK); //清屏低功耗
 /**************************************************************************
	功能:初始化界面,按下一键自动进入
	作者:杨越
    时间:2019/5/14
	***************************************************************/	
	
  while(1)
{	

        
	


	key=0;
	while(key!=1)
	{
		key=KEY_Scan();	
	}
	

    music1();

		
	
	
	delay_ms(10);
    Fullscreen_showimage(gImage_WHU);
	delay_ms(300);
	LCD_Clear(WHITE); 
	 
	GUI_DrawFont32(30, 30,BLACK, WHITE, "自",0);
	GUI_DrawFont32(62, 30,BLACK, WHITE, "强",0);
    delay_ms(100);
    LCD_Clear(WHITE);	
	GUI_DrawFont32(30, 30,BLACK, WHITE, "弘",0);
	GUI_DrawFont32(62, 30,BLACK, WHITE, "毅",0);
    delay_ms(100);

	LCD_Clear(WHITE);
	GUI_DrawFont32(30, 30,BLACK, WHITE, "求",0);
	GUI_DrawFont32(62, 30,BLACK, WHITE, "是",0);
    delay_ms(100);

	LCD_Clear(WHITE);
    GUI_DrawFont32(30, 30,BLACK, WHITE, "拓",0);
	GUI_DrawFont32(62, 30,BLACK, WHITE, "新",0);
	delay_ms(100);

    LCD_Clear(WHITE);	
	Gui_StrCenter(0, 0,RED, WHITE, "终有一天",16,0);
	Gui_StrCenter(0, 16,RED, WHITE, "我们都会成为",16,0);
	Gui_StrCenter(0, 32,RED, WHITE, "那个最好的自己",16,0);
	delay_ms(100);
    LCD_Clear(WHITE);
	Gui_StrCenter(0, 0,YELLOW, WHITE, "欢迎使用",16,0);
	Gui_StrCenter(0, 18,YELLOW, WHITE, "傻妞牌手机",16,0);
    delay_ms(500);
    /**************************************************************************
	功能:菜单显示界面
	作者:杨越
    时间:2019/5/14
	***************************************************************/
	LCD_Clear(WHITE);
	LCD_ShowNum(0,0,1,1,16);
	LCD_ShowNum(0,16,2,1,16);
	LCD_ShowNum(0,32,3,1,16);
	LCD_ShowNum(0,48,4,1,16);
	LCD_ShowNum(0,64,5,1,16);
	LCD_ShowNum(0,80,6,1,16);
	LCD_ShowNum(0,96,7,1,16);
	LCD_ShowNum(0,108,8,1,16);
	
	
	Show_Str(8, 0, BLACK,WHITE,"拨号",16,0);
	Show_Str(8, 16, BLACK,WHITE,"文件管理",16,0);
	Show_Str(8, 32, BLACK,WHITE,"发送短信",16,0);
    Show_Str(8, 48, BLACK,WHITE,"查看短信",16,0);
	Show_Str(8, 64, BLACK,WHITE,"音乐播放",16,0);
	Show_Str(8, 80, BLACK,WHITE,"贪吃蛇" ,16,0);
    Show_Str(8, 96, BLACK,WHITE,"俄罗斯方块" ,16,0);
	Show_Str(8, 108, BLACK,WHITE,"体感游戏" ,16,0);
	
key=0;
while(key==0)
{
	key=KEY_Scan();
} 
	switch(key)
  {
	  case 1: printf("尚未开发");break;
//	  case 2: FILE_TASK();break;
	  case 3: printf("尚未开发");break;
	  case 4: printf("尚未开发");break;	  
	  case 5: MUSIC_TASK();break;
//	  case 6: SNAKE_TASK();break;
	  case 7: BOX_TASK();break;
      case 8: printf("尚未开发");break;
	  case 9: printf("尚未开发");break;
	 
	 default : printf("瞎搞");break;
}	
	
}

}

(三).掌上游戏机使用说明

1)打开电源
2)在矩阵键盘按1开机
3)开机完成后在用矩阵键盘选择
4)开始愉快的玩耍吧

如果想要源码,我已经打包好放在我的资源
STM32掌上游戏机源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

与光同程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值