貪吃蛇游戲機,用的是洋桃家的板子
效果演示傳送門:【零基礎項目】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)
2021-5-31 00:34 上傳
點擊文件名下載附件
|