资源简介
半年前发过一个版本,有一些人看了后找我交流一些问题,从而使我再次看程序的时候发现以前的有很多毛病。
于是重写了代码,加了游戏地图选择,开机动画,加了protues仿真,弄了许多的优化。
这里面有我做51单片机+12864液晶的贪吃蛇游戏机的全部详细资料。
代码注释详尽,思路清晰。
仿真和实物都有做过,保证游戏没有重大BUG。
响应OPEN精神0资源分发出来。
主要包含
1. 带字库和不带字库12864液晶的基本操作以及动画显示。涉及到得资料和软件都放里面了。
2. 51单片机菜单的实现,贪吃蛇游戏的实现以及protues仿真。
最后,如果你看这个东西的时候发现有错误或者哪个地方有更好的实现方法,希望告诉我··
湖北工业大学 08电气2班 何求知
QQ:381286393
![](http://www.nz998.com/pic/64919.jpg)
代码片段和文件信息
#include <12864.h>
void delay_ms(unsigned int z)
{
unsigned int ij;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void initial_lcd()
{
cs1=0; cs2=0;
write_lcd_com(0x3e);
write_lcd_com(0xb8);
write_lcd_com(0xc0);
write_lcd_com(0x40);
write_lcd_com(0x3f);
}
void clear_lcd()
{
unsigned char ij;
cs1=0;cs2=0;
for(i=0;i<8;i++)
{
set_lcd_xy(i0);
for(j=0;j<64;j++)
write_lcd_dat(0x00);
}
}
void write_lcd_com(unsigned char com)
{
unsigned char he;
do
{
he=check_lcd_busy();
}
while(he==0x80);
lcd_di=0;
lcd_rw=0;
P1=com;
lcd_en=1;
lcd_en=0;
}
void write_lcd_dat(unsigned char dat)
{
unsigned char he;
do
{
he=check_lcd_busy();
}
while(he==0x80);
lcd_di=1;
lcd_rw=0;
P1=dat;
lcd_en=1;
lcd_en=0;
}
unsigned char check_lcd_busy()
{
unsigned char he;
P1=0xff;
lcd_di=0;
lcd_rw=1;
lcd_en=1;
he=P1;
lcd_en=0;
he=he&(0x80);
// return(he);
return(0x00);
}
unsigned char read_lcd_dat()
{
unsigned char save;
unsigned char he;
do
{
he=check_lcd_busy();
}
while(he==0x80);
lcd_di=1;
lcd_rw=1;
lcd_en=1;
save=P1;
lcd_en=0;
return(save);
}
void set_lcd_xy(unsigned char xunsigned char y)
{
write_lcd_com(0xb8+x);
write_lcd_com(0x40+y);
}
void draw_lcd_point(unsigned char xunsigned char yunsigned char dat)
{
unsigned char he;
set_lcd_xy(xy);
he=read_lcd_dat();
he=read_lcd_dat();
set_lcd_xy(xy);
write_lcd_dat(dat+he);
}
void write_lcd_hanzi(unsigned char xunsigned char yunsigned char code *dat)
{
unsigned char i=0j=0;
for(i=0;i<2;i++)
{
set_lcd_xy(x+iy);
for(j=0;j<16;j++)
write_lcd_dat(dat[16*i+j]);
}
}
void write_lcd_shuzi(unsigned char xunsigned char yunsigned char code *dat)
{
unsigned char i=0j=0;
for(i=0;i<2;i++)
{
set_lcd_xy(x+iy);
for(j=0;j<8;j++)
write_lcd_dat(dat[8*i+j]);
}
}
void draw_lcd_picture(unsigned char code *dat)
{
unsigned char ij;
for(i=0;i<8;i++)
{
cs1=0;
cs2=1;
set_lcd_xy(i0);
for(j=0;j<64;j++)
write_lcd_dat(~dat[i*128+j]);
cs1=1;
cs2=0;
set_lcd_xy(i0);
for(j=64;j<128;j++)
write_lcd_dat(~dat[i*128+j]);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 86974 2011-05-26 15:03 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\Last Loaded 贪吃蛇.DBK
文件 2258 2011-06-08 07:43 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\12864.c
文件 925 2011-05-26 09:25 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\12864.h
文件 6366 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\12864.LST
文件 10274 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\12864.OBJ
文件 389 2011-04-19 22:29 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\elsfk_game.c
文件 21 2011-04-19 22:23 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\elsfk_game.h
文件 1660 2011-05-22 11:44 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\elsfk_game.LST
文件 2747 2011-05-22 11:44 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\elsfk_game.OBJ
文件 19 2011-06-08 07:49 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\ExtDll.iex
文件 4915 2011-06-08 07:50 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\menu.c
文件 180 2011-05-22 12:20 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\menu.h
文件 13324 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\menu.LST
文件 19492 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\menu.OBJ
文件 12384 2011-05-22 16:55 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\resource.h
文件 6376 2009-05-07 14:37 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\STARTUP.A51
文件 14048 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\STARTUP.LST
文件 749 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\STARTUP.OBJ
文件 13305 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\tcs_game.c
文件 0 2011-05-30 08:02 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\tcs_game.h
文件 31667 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\tcs_game.LST
文件 33624 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\tcs_game.OBJ
文件 16299 2011-05-30 07:57 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\tcs_resource.h
文件 52647 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\youxiji
文件 28068 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\youxiji.hex
文件 90 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\youxiji.lnp
文件 53734 2011-06-08 07:47 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\youxiji.M51
文件 1387 2011-06-08 07:50 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\youxiji.plg
文件 61730 2011-06-08 07:50 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\youxiji.uvopt
文件 13749 2011-05-25 08:00 51单片机+12864液晶贪吃蛇游戏机(完美版)\仿真(液晶用不带字库)\tanchishe\youxiji.uvproj
............此处省略261个文件信息
相关资源
- 贪吃蛇源代码.fla
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 贪吃蛇游戏设计(汇编语言)
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- 51单片机频率计(很简单)
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
- 基于51单片机的模数转换与数模转换
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 8051单片机教程第二十七课:单片机几
- 8051单片机教程第二十六课:矩阵式键
- 适用于STC单片机和51单片机的SX1262驱动
- 基于51单片机的计算器(C51编写,有
- 51单片机大量源码
- Scratch 贪吃蛇 素材及代码
- Scratch 贪吃蛇 小游戏源码
评论
共有 条评论