【Proteus仿真】【51单片机】贪吃蛇游戏-LCD12864

发布时间:2023年12月17日


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使LCD12864液晶,按键等。
主要功能:
系统运行后,LCD12864液晶显示游戏界面,可通过K1-K4键控制蛇的运行方向;每当吃到实物得分加1;当蛇撞墙或撞身时,游戏结束,可按下复位键开始。


二、软件设计

/*
作者:嗨小易(QQVIP群2:570487280)

*/


#include <REG52.H>
#include <stdlib.h>
#include "ampire.h"
#include "Snake.h"
#include "Game.h"

int main()
{
    EA = 1;      //开启总中断
    ET1 = 1;     //开启定时器1中断
    TMOD = 0x10; //使用定时器1
    TH1 = 0xff;  //高8位置0xff
    TL1 = 0;     //低8位置0,
    TR1 = 1;     //开启定时器

    food_initate();      //食物位置的初始化
    initate();           //显示器的初始化
    print_gamemessage(); //打印游戏中的基本信息
    initate_snake();     //蛇属性的初始化
    while (1)
    {
        srand(TL1); //播种        TL1变化范围为(0~0xff)
    
        snake_controll(); //蛇的控制
        snake_movee();    //蛇的移动

        food_touch(); //判断蛇是否吃掉食物

        snake_printf(); //显示蛇

        if (game_over()) //游戏结束条件判断
        {
            break;
        }
        score_display(); //打印目前所得的分数
        food_display();  //显示食物
        delay(50);       //延迟50ms
        snack_clear();   //蛇尾清除
    }
    while (1)
    {
    }
}

//中断,重置定时器
void timerl() interrupt 3
{
    TR1 = 0;    //关闭定时器
    TH1 = 0xff; //重置定时器的高位和低位
    TL1 = 0;
    TR1 = 1; //开启定时器
}



三、实验现象

B站演示视频:https://space.bilibili.com/444388619
在这里插入图片描述
在这里插入图片描述

联系作者

视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

文章来源:https://blog.csdn.net/Hello_Muyi/article/details/134970046
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。