资源简介
此实验详解见博客:https://blog.csdn.net/weixin_40874586/article/details/87939748
资源包括:实验源代码,实验报告及实验录屏
代码片段和文件信息
#include
#include
sbit Beep = P1^5;
#define LCDPORT P0//数据引脚
#define uchar unsigned char
#define uint unsigned int
sbit 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_stopMusic=0;
unsigned char n=0; //n为节拍常数变量
unsigned char code music_tab[] ={
0xff
0x390x300x330x300x300x200x300x200x330x200x390x200x330x10
0x300x100x330x200x300x300x400x300x330x200x390x200x400x200x00
};
void int0() interrupt 1 //采用中断0 控制节拍
{ TH0=0xd8;
TL0=0xef;
n--;
}
void delay_Sound (unsigned char m) //控制频率延时
{
unsigned i=3*m;
while(--i);
}
void delayMs_Sound(unsigned char a) //豪秒延时子程序
{
while(--a); //采用while(--a) 不要采用while(a--);
}
void LCD12864_Init(void); //LCD12864初始化函数
void LCD12864_WriteInfomation(unsigned char ucDatabit bComOrData); //向LCD12864写入数据,bComOrData为1时写入的是数据,0时写入的是命令
void LCD12864_CheckBusy(void);//忙检测函数
void LCD12864_DisplayImage(unsigned char code *ucImageuint direction);
void Delay(unsigned int uiCount);
void ronghe();//融合函数
void OpenGame();
void ClearScreen();
void main();
void LEDDisplayTheEnd();
void delay_1(uint i);
void UsartInit();
void Sound()
{
unsigned char pm; //m为频率常数变量
unsigned char i=0;
TMOD&=0x0f;
TMOD|=0x01;
TH0=0xd8;
TL0=0xef;
IE=0x82;
TR0=0;
play:
while(1)
{
a: p=music_tab[i];
if(p==0x00) { i=0 delayMs_Sound(1000); goto play;} //如果碰到结束符延时1秒回到开始再来一遍
else if(p==0xff) { i=i+1;delayMs_Sound(100)TR0=0; goto a;} //若碰到休止符延时100ms继续取下一音符
else {m=music_tab[i++] n=music_tab[i++];} //取频率常数 和 节拍常数
TR0=1; //开定时器1
while(n!=0) Beep=~Beepdelay_Sound(m); //等待节拍完成 通过P1口输出音频(可多声道哦!)
TR0=0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 26629 2019-02-26 18:31 迷宫.c
文件 41173629 2019-01-16 14:07 迷宫.mp4
文件 4301840 2019-02-26 18:35 迷宫实验.doc
- 上一篇:全国区县shp数据
- 下一篇:智能优化算法及程序、试题
相关资源
- 基于51单片机的汽车尾灯控制系统
- 《嵌入式实时操作系统uCOS-II》邵贝贝
- FPGA嵌入式项目开发三位一体实战精讲
- 嵌入式实时操作系统small RTOS51原理及
- 研发嵌入式CPU+VxWorks+IEC61850模式资料
- 嵌入式面试宝典
- 嵌入式系统软硬件协同设计实战指南
- 基于Stm32的嵌入式WebServer例程
- Windows CE嵌入式开发标准教程(修订版
- Windows CE 6.0嵌入式高级编程(中文版)
- AD软件51单片机常见的库PCB封装.zip
- 嵌入式系统导论CPS方法
- 新编MCS-51单片机应用设计(清晰最新
- 基于stm32的智能路灯控制
- 嵌入式系统可靠性设计.pdf
- 51 单片机 计算器 简单加减乘除
- stm32智能安防系统
- 来了!PSIM一键自动生成嵌入式代码技
- 基于51单片机的太阳能手机充电系统
- 基于S3C2410嵌入式keil开发实验与实践教
- 3维立体旋转LED显示屏
- 四川大学嵌入式系统往年试题
- 嵌入式实时操作系统uC/OS III
- 华清远见内部高清文档资料
- 计算机三级嵌入式资料
- RK1808_正式发布文件.rar
- 基于stc89c51单片机的红外报警系统设计
- 嵌入式系统软件工程:方法、实用技
- 基于51单片机GSM模块短信的家庭火灾报
- ARM板中的samba服务器的移植
评论
共有 条评论