本次实验为使用51单片机做出一份游戏来。

目的首先是为了应付期末考试,因此此次实验会有部分不完整之处。

**  实验特殊说明:

     此次实验中除用到LCD12864、蓝牙模块外,还会使用蜂鸣器完成启动音乐的播放,以及安卓端的APP的控制(不需要APP的可以在源码中将部分代码注释掉)。

一 实验说明

使用LCD12864完成迷宫游戏的绘制,要求游戏开始时生成迷宫图案,图案中有墙和路,要求入口和出口村子能通行的路。要求玩家从左上角诞生,出口位于右下角,要求使用蓝牙模块完成与单片机的连接,利用自己制作的APP完成对玩家的操控。使用四个独立按键分别控制人在迷宫中“上、下、左、右”行走操作,直至走到出口,游戏胜利。

二 实验要求

  1. 使用LCD12864点阵显示迷宫和人。
  2. 使用蓝牙HC-05实现移动端与单片机的连接。
  3. 使用蜂鸣器实现游戏开始时的背景音乐。
  4. 使用独立按键实现按键对玩家的控制。

三 部分源码

#include <REG52.H>
#include <INTRINS.H>    sbit Beep =  P1^5;
#define LCDPORT P0//数据引脚#define uchar unsigned char
#define uint unsigned intsbit LCD12864_RS  =  P2^6; //RS控制引脚
sbit LCD12864_RW  =  P2^5; //RW控制引脚
sbit LCD12864_EN  =  P2^7; //EN控制引脚
sbit LCD12864_PSB  =  P1^2;  //模式选择引脚,ST7920控制器,1为8位并行接口,0为串行接口sbit wela    =  P2^6;
sbit dula    =  P2^7;
//开场显示
uchar code welcome[] = {"**迷宫**"};
uchar code tip_one[] = {"任意键启动游戏"};//闭场显示
uchar code bye[]={"恭喜逃离"};
uchar code tip_two[]={"任意键重启游戏"};// 对按键进行定义
sbit k1=P3^1;    //定义P31口是k1
sbit k2=P3^0;
sbit k3=P3^2;
sbit k4=P3^3;uint is_Blue=0;//用来记录蓝牙数据
uint numx_up;//记录x轴坐标  player[0][0]/8
uint numy_up;//记录y轴坐标  player[0][1]
uint loca_up=0;//记录当前是x坐标的第几位 (7-player[0][0]%8)
uchar Ordata_up;//用来和数据进行与的值uint numx_down;//记录x轴坐标  player[0][0]/8
uint numy_down;//记录y轴坐标  player[0][1]
uint loca_down=0;//记录当前是x坐标的第几位 (7-player[0][0]%8)
uchar Ordata_down;//用来和数据进行与的值uint ok_move=0;//移动允许
uint direct_t=3;uint is_destination=0;//目的地检测函数,到达目的地 为1,没有 为0;uint is_open=0;//是否开启游戏函数
uint step=0;//用来记录步数,在LED屏上显示
uint is_

【嵌入式】用51单片机完成迷宫游戏相关推荐

  1. 【嵌入式】51单片机+1602+dht11显示温湿度

    51单片机+1602+dht11显示温湿度例程代码如下: /*****************************************************************联系:请勿 ...

  2. 51单片机+LCD12864液晶显示的俄罗斯方块游戏,Proteus仿真、AD原理图、代码、论文等

    设计要求 (1)利用51单片机,设计一款俄罗斯方块游戏,完成硬件电路的开发和程序的编写调试: (2)采用LCD12864液晶作为游戏运行界面: (3)利用按键输入灵活控制方块的移动与变形: (4)能够 ...

  3. 基于51单片机的贪吃蛇游戏设计

    1绪 论 1.1本课题研究的背景及意义 随着当今社会的发展,人们的生活节奏变得越来越快,人们开始逐渐的融入全球化的世界.人们已经不再局限于一小块天地,加班,出差已经占据了现代人生活的绝大部分.这个时候 ...

  4. 嵌入式开发之路,从51单片机开始

    关注.星标公众号,直达精彩内容 来源:技术让梦想更伟大 作者:李肖遥 嵌入式开发入门之路 我相信很多朋友第一次接触的单片机应该就是51单片机,8位的mcu,丰富的教程,可以做很多小玩意,让初学者基本掌 ...

  5. 51单片机系列(三)51 单片机游戏设计 —— 双人对战小游戏(石头剪刀布)

    本博客51单片机实训系列,旨在记录本人在大学上单片机技术这门课时所做的课程实训内容,并与大家分享基于51单片的课程作业,如果作业中的某些细节和代码能给大家一点启发那就更好了,希望大家能用51单片机做出 ...

  6. 51单片机迷宫小车的设计

    51单片机迷宫小车的设计 前言 本次迷宫小车设计,使用C51进行编程,实现小车的功能.本次完成的小车功能可分为两大模块,分别是硬件功能和软件功能. 总共有两部分来写,分别为: 硬件功能上实现了小车的底 ...

  7. 基于51单片机和OLED屏幕的贪吃蛇游戏

    本文章在于利用51单片机和OLED屏幕实现一个简易的贪吃蛇游戏 所用的51单片机为普中51系列,OLED屏幕属中景园电子,具体实物均可以在某宝购买 OLED模块: 关于OLED模块的相关函数及其.h和 ...

  8. 如何学习嵌入式系统(硬件篇),含51单片机学习资料

    学习嵌入式之前我们需要了解什么是嵌入式. (官方说法)嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用 ...

  9. 基于51单片机推箱子小游戏Proteus仿真

    资料编号:118   下面是相关功能视频演示: 118-基于51单片机推箱子小游戏Proteus仿真(源码+仿真+全套资料) 功能讲解: 采用51单片机作为控制CPU,使用独立按键来控制前后左右,使用 ...

  10. 嵌入式入门之51单片机

    前言 本篇文章属于学习笔记,来源于B站教学视频,相关代码工程请从源地址自行下载.这位Up讲解得很好,适合同学们一起学习,在这里推荐给大家.本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益 ...

最新文章

  1. 零基础全方位学习java的方法
  2. boost.asio包装类st_asio_wrapper开发教程(2014.5.23更新)(一)-----转
  3. 浅析商城网站建设需要注意哪些细节内容呢?
  4. laravel 验证器怎么验证json对象_Postman使用tv4进行JSON Schema结构验证和断言
  5. 基于改进的RPCA人脸识别算法
  6. c++17(18)-重载I/O运算符
  7. python爬取b站用户_用Python爬取bilibili全站用户信息
  8. 存储函数和存储过程的区别
  9. 更新整理本人所有博文中提供的代码与工具(C++,2013.08)
  10. 无限滚动加载最佳实践
  11. ModuleNotFoundError: No module named ‘sklearn‘ 解决办法
  12. 小程序影藏溢出的gif_Win10即将推出GIF录制编辑工具,不再需要第三方软件了
  13. sqlite的系统表sqlite_master
  14. paip.java 以及JavaScript (js) 的关系以及区别
  15. mysql vs0215_0215 docker环境
  16. coreos 安装 mysql_在CoreOS下部署WordPress实例教程
  17. 垃圾分类小程序拍照识别垃圾分类微信小程序开发源码
  18. 机器学习(6)——凸优化理论(一)
  19. 关于类的符号输入过程第二篇
  20. 题目1026 c语言,1026 程序运行时间——C/C++实现

热门文章

  1. 观察者模式,看完还不懂我吃电脑
  2. [附源码]SSM计算机毕业设计咖啡销售管理系统-JAVA
  3. js怎样设置td中input的css样式,js动态平添的行中td的样式不起作用
  4. 计算机的潜意识----从机器学习谈起
  5. 利用Python写个开心消消乐小游戏,并没有想象中的复杂
  6. 刚哥谈架构 (五) 谈谈数据库架构
  7. 【心善渊Selenium3.0基础】— 7、Selenium中使用XPath定位
  8. CSS 相对/绝对(relative/absolute)定位系列(四)——张鑫旭
  9. 有哪些鲜为人知但异常强大的网站工具?
  10. 《等你下课》让我们一起一步一步搭建RocketMQ可视化管理控制台