資源簡介
半年前發過一個版本,有一些人看了后找我交流一些問題,從而使我再次看程序的時候發現以前的有很多毛病。
于是重寫了代碼,加了游戲地圖選擇,開機動畫,加了protues仿真,弄了許多的優化。
這里面有我做51單片機+12864液晶的貪吃蛇游戲機的全部詳細資料。
代碼注釋詳盡,思路清晰。
仿真和實物都有做過,保證游戲沒有重大BUG。
響應OPEN精神0資源分發出來。
主要包含
1. 帶字庫和不帶字庫12864液晶的基本操作以及動畫顯示。涉及到得資料和軟件都放里面了。
2. 51單片機菜單的實現,貪吃蛇游戲的實現以及protues仿真。
最后,如果你看這個東西的時候發現有錯誤或者哪個地方有更好的實現方法,希望告訴我··
湖北工業大學 08電氣2班 何求知
QQ:381286393

代碼片段和文件信息
#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個文件信息
評論
共有 條評論