#include <reg52.h>
#include "common.h"
char n=0;
uchar i=0,xx=0,ys;
uchar ss=57,mm=59,hh=16,rr=3,yy=6,nn=2012;
uchar code nyr[]=" 2012-06-03";
uchar code hms[]=" 16:59:57";
uchar code msg1[]=" Yes, I show you what real love can do!";
uchar code msg2[]=" O_o ^_^ - -|| (^_^)Y ^o^ (+_+)? ::>_<::";
uchar code zx1[]="Motor is running";
uchar code zx2[]="dir: left";
uchar code zx3[]="dir: right";
uchar code zx4[]="Motor is working";
uchar code zx5[]=" It's slow!";
void main()
{
TCON=0x01;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
IP=0x03;
IE=0x83;
TR0=1;
while(1)
{
lcd_init();
write_cmd(0x80+0x00);
while(nyr[i]!='\0')
{
write_dat(nyr[i++]);
}
i=0;
write_cmd(0x80+0x40);
while(hms[i]!='\0')
{
write_dat(hms[i++]);
}
while(n==0)
{
i=0;
write_cmd(0x80+0x00);
while(nyr[i]!='\0')
{
write_dat(nyr[i++]);
}
i=0;
write_cmd(0x80+0x40);
mh();
shij(10,ss);
shij(7,mm);
shij(4,hh);
riq(11,rr);
riq(8,yy);
}
if(n==1)
{
lcd_init();
write_cmd(0x80+0x00);
while(msg1[i]!='\0')
{
write_dat(msg1[i++]);
}
i=0;
write_cmd(0x80+0x40);
while(msg2[i]!='\0')
{
write_dat(msg2[i++]);
}
while(n==1)
{
write_cmd(0x1c);
delay(20000);
}
}
if(n==2)
{
lcd_init();
k1=1;
k2=1;
k3=1;
if(k1==1&&k2==1&&k3==1)
{
lcd_init();
i=0;
write_cmd(0x80+0x00);
while(zx4[i]!='\0')
{
write_dat(zx4[i++]);
}
i=0;
write_cmd(0x80+0x40);
while(zx1[i]!='\0')
{
write_dat(zx1[i++]);
}
while(k1==1&&k2==1&&k3==1)
{
P1=0x01;
delay(5000);
P1=0x02;
delay(5000);
P1=0x04;
delay(5000);
P1=0x08;
delay(5000);
}
}
if(k1==0&&k2==1&&k3==1)
{
lcd_init();
i=0;
write_cmd(0x80+0x00);
while(zx1[i]!='\0')
{
write_dat(zx1[i++]);
}
i=0;
write_cmd(0x80+0x40);
while(zx3[i]!='\0')
{
write_dat(zx3[i++]);
}
while(k1==0&&k2==1&&k3==1)
{
P1=0x08;
delay(500);
P1=0x04;
delay(500);
P1=0x02;
delay(500);
P1=0x01;
delay(500);
}
}
if(k1==1&&k2==0&&k3==1)
{
lcd_init();
i=0;
write_cmd(0x80+0x00);
while(zx1[i]!='\0')
{
write_dat(zx1[i++]);
}
i=0;
write_cmd(0x80+0x40);
while(zx2[i]!='\0')
{
write_dat(zx2[i++]);
}
while(k1==1&&k2==0&&k3==1)
{
P1=0x01;
delay(500);
P1=0x02;
delay(500);
P1=0x04;
delay(500);
P1=0x08;
delay(500);
}
}
if(k1==1&&k2==1&&k3==0)
{
lcd_init();
i=0;
write_cmd(0x80+0x00);
while(zx1[i]!='\0')
{
write_dat(zx1[i++]);
}
i=0;
write_cmd(0x80+0x40);
while(zx5[i]!='\0')
{
write_dat(zx5[i++]);
}
while(k1==1&&k2==1&&k3==0)
{
P1=0x08;
delay(1000);
P1=0x04;
delay(1000);
P1=0x02;
delay(1000);
P1=0x01;
delay(1000);
}
}
}
}
}
void ISR_INT0() interrupt 0
{
n++;
if(n==3)
n=0;
}
void ISR_T0() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
xx++;
if(xx==20)
{
ss++;
xx=0;
if(ss==60)
{
ss=0;
mm++;
}
if(mm==60)
{
mm=0;
hh++;
}
if(hh==24)
{
hh=0;
rr++;
}
if(rr==30)
{
rr=0;
yy++;
}
if(yy==12)
{
yy=0;
nn++;
}
if(nn==2014)
nn=2012;
}
}