找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2322|回复: 1
收起左侧

STM32贪吃蛇游戏机程序分享

[复制链接]
ID:891306 发表于 2021-5-30 21:44 | 显示全部楼层 |阅读模式
贪吃蛇游戏机,用的是洋桃家的板子

效果演示传送门:【零基础项目】STM32贪吃蛇游戏机_哔哩哔哩_bilibili

单片机源程序如下:
  1. /*********************************************************************************************
  2. 模板制作:  杜洋工作室/洋桃电子
  3. 出品:               
  4. 程序名:       
  5. 编写时间:        201年月日
  6. 硬件支持:        STM32F103C8   外部晶振8MHz RCC函数设置主频72MHz   

  7. 修改日志:  
  8. 1-       
  9.        
  10.                                                        
  11. 说明:
  12. # 本模板加载了STM32F103内部的RCC时钟设置,并加入了利用滴答定时器的延时函数。
  13. # 可根据自己的需要增加或删减。

  14. *********************************************************************************************/
  15. #include "stm32f10x.h" //STM32头文件
  16. #include "sys.h"
  17. #include "delay.h"
  18. #include "led.h"
  19. #include "i2c.h"
  20. #include "oled0561.h"
  21. #include "rtc.h"
  22. #include "key.h"
  23. #include "lm75a.h"
  24. #include "touch_key.h"
  25. #include "snake.h"
  26. #include "food.h"
  27. #include "menu.h"


  28. int main (void){//主程序
  29.         u8 buffer[3];
  30.         delay_ms(100); //上电时等待其他器件就绪
  31.         RCC_Configuration(); //时钟设置
  32.         LED_Init();//LED初始化
  33.         RTC_Config(); //实时时钟初始化
  34.         I2C_Configuration();//I2C初始化
  35.         KEY_Init();//按键初始化
  36.         LM75A_GetTemp(buffer); //读取LM75A的温度数据
  37.         OLED0561_Init(); //OLED初始化
  38.         OLED_DISPLAY_LIT(100);//亮度设置
  39.                
  40.        
  41.         while(1)
  42. {
  43.         if(form==0)
  44.         {
  45.                 UI();
  46.         }
  47.         if(form==1)
  48.         {
  49.                 snake_body_move();
  50.                 snake_head_move();
  51.                 snake_die();
  52.                
  53.                 food_creat();
  54.                 game_over();
  55.                 delay_ms(500);
  56.         }
  57.         if(form==2)
  58.         {
  59.                 game_over();
  60.                 delay_s(2);
  61.                 form=0;
  62.                 health=1;
  63.                 OLED_DISPLAY_CLEAR();
  64.         }
  65.        

  66. }
  67. }

  68. //}


  69. /*

  70. 【变量定义】
  71. u32     a; //定义32位无符号变量a
  72. u16     a; //定义16位无符号变量a
  73. u8     a; //定义8位无符号变量a
  74. vu32     a; //定义易变的32位无符号变量a
  75. vu16     a; //定义易变的 16位无符号变量a
  76. vu8     a; //定义易变的 8位无符号变量a
  77. uc32     a; //定义只读的32位无符号变量a
  78. uc16     a; //定义只读 的16位无符号变量a
  79. uc8     a; //定义只读 的8位无符号变量a

  80. #define ONE  1   //宏定义

  81. delay_us(1); //延时1微秒
  82. delay_ms(1); //延时1毫秒
  83. delay_s(1); //延时1秒
  84. */
复制代码


程序下载: 基于STM32的贪吃蛇游戏机.7z (201.95 KB, 下载次数: 35)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:623139 发表于 2021-5-31 09:14 | 显示全部楼层
非常感谢,构建这个电路图的说明书吗?谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表