资料编号:118 下面是相关功能视频演示:
118-基于51单片机推箱子小游戏Proteus仿真(源码+仿真+全套资料)
功能讲解:
采用51单片机作为控制CPU,使用独立按键来控制前后左右,使用LCD液晶来显示游戏画面,通过按键来控制前后左右推箱子动作,并且设置有几种难易模式,可以自动升级,全套资料齐全
下面是部分程序展示:
/*STA0指令读写状态,STA1数据读写状态 判断函数*/
void lcd_enable(){
uchar i;
for(i = 10; i > 0; i--)
if((read_state() & 0x03) == 0x03)
break;
if(i==0)error0=1;/*若i==0,说明错误*/
//else error0=0;
}
/*STA2数据自动读状态 判断函数*/
void atrd_enable(){
uchar i;
for(i = 10; i > 0; i--)
if((read_state() & 0x04) == 0x04)
break;
if(i==0)error1=1;/*若i==0,说明错误*/
//else error1=0;
}
/*STA3数据自动写状态 判断函数*/
void atwr_enable(){
uchar i;
for(i = 10; i > 0; i--)
if((read_state() & 0x08) == 0x08)
break;
if(i==0)error2=1;/*若i==0,说明错误*/
//else error2=0;
}
/*写无参数函数*/
void write_cmd0(uchar cmd){
lcd_enable();
cd=1;
P2=cmd;
wr=0;
wr=1;
}
/*写单参数函数*/
void write_cmd1(uchar data1, uchar cmd){
lcd_enable();
cd=0;
P2=data1;
wr=0;
wr=1;
lcd_enable();
cd=1;
P2=cmd;
wr=0;
wr=1;
}
/*写双参数函数*/
void write_cmd2(uchar data1, uchar data2, uchar cmd){
lcd_enable();
cd=0;
P2=data1;
wr=0;
wr=1;
lcd_enable();
cd=0;
P2=data2;
wr=0;
wr=1;
lcd_enable();
cd=1;
P2=cmd;
wr=0;
wr=1;
}
下面是该资料的分享下载链接: