贪吃蛇游戏机,用的是洋桃家的板子
效果演示传送门:【零基础项目】STM32贪吃蛇游戏机_哔哩哔哩_bilibili
单片机源程序如下:- /*********************************************************************************************
- 模板制作: 杜洋工作室/洋桃电子
- 出品:
- 程序名:
- 编写时间: 201年月日
- 硬件支持: STM32F103C8 外部晶振8MHz RCC函数设置主频72MHz
- 修改日志:
- 1-
-
-
- 说明:
- # 本模板加载了STM32F103内部的RCC时钟设置,并加入了利用滴答定时器的延时函数。
- # 可根据自己的需要增加或删减。
- *********************************************************************************************/
- #include "stm32f10x.h" //STM32头文件
- #include "sys.h"
- #include "delay.h"
- #include "led.h"
- #include "i2c.h"
- #include "oled0561.h"
- #include "rtc.h"
- #include "key.h"
- #include "lm75a.h"
- #include "touch_key.h"
- #include "snake.h"
- #include "food.h"
- #include "menu.h"
- int main (void){//主程序
- u8 buffer[3];
- delay_ms(100); //上电时等待其他器件就绪
- RCC_Configuration(); //时钟设置
- LED_Init();//LED初始化
- RTC_Config(); //实时时钟初始化
- I2C_Configuration();//I2C初始化
- KEY_Init();//按键初始化
- LM75A_GetTemp(buffer); //读取LM75A的温度数据
- OLED0561_Init(); //OLED初始化
- OLED_DISPLAY_LIT(100);//亮度设置
-
-
- while(1)
- {
- if(form==0)
- {
- UI();
- }
- if(form==1)
- {
- snake_body_move();
- snake_head_move();
- snake_die();
-
- food_creat();
- game_over();
- delay_ms(500);
- }
- if(form==2)
- {
- game_over();
- delay_s(2);
- form=0;
- health=1;
- OLED_DISPLAY_CLEAR();
- }
-
- }
- }
- //}
- /*
- 【变量定义】
- u32 a; //定义32位无符号变量a
- u16 a; //定义16位无符号变量a
- u8 a; //定义8位无符号变量a
- vu32 a; //定义易变的32位无符号变量a
- vu16 a; //定义易变的 16位无符号变量a
- vu8 a; //定义易变的 8位无符号变量a
- uc32 a; //定义只读的32位无符号变量a
- uc16 a; //定义只读 的16位无符号变量a
- uc8 a; //定义只读 的8位无符号变量a
- #define ONE 1 //宏定义
- delay_us(1); //延时1微秒
- delay_ms(1); //延时1毫秒
- delay_s(1); //延时1秒
- */
复制代码
程序下载:
基于STM32的贪吃蛇游戏机.7z
(201.95 KB, 下载次数: 35)
|