#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define LCD_D P3
sbit RS=P2^2;
sbit RW=P2^1;
sbit E=P2^0;
char code tab1[]={'w','e','l','c','o','m','e',0x00};//welcome
char code tab2[]={0x04,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,//年
0x0f,0x09,0x0f,0x09,0x0f,0x09,0x09,0x11,//月
0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00,//日
0x01,0x1f,0x15,0x17,0x1d,0x15,0x1d,0x00,//時
0x04,0x0c,0x0a,0x11,0x1e,0x0a,0x0a,0x00,//分
0x02,0x04,0x04,0x1f,0x0e,0x15,0x04,0x00,
0x04,0x04,0x0e,0x15,0x02,0x04,0x08,0x10,0x00
};
char code tab[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
void delay(uchar N)
{uchar i; while(N--) for(i=0;i<250;i++);}
void write_cmd(uchar cmd)
{LCD_D=cmd;RS=0;RW=0;E=0;delay(15);E=1;}
void write_byte(uchar dat)
{LCD_D=dat;RS=1;RW=0;E=0;delay(15);E=1;}
void main()
{int a=16;
uchar i;SP=0x70;E=1;
write_cmd(0x01);
write_cmd(0x38);
write_cmd(0x0F);
write_cmd(0x06);
write_cmd(0x40);
for(i=0;i<56;i++){write_byte(tab2[i]);}
i=0;write_cmd(0x80);
while(tab1[i]!=0x00){write_byte(tab1[i]);i++;}
write_cmd(0xc0);
for(i=0;i<7;i++){write_byte(tab[i]);}
for(i=0;i=10;i++)
{
while(a--)
{write_cmd(0x1c);delay(10);}}
while(1);}
|