#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^6;
sbit RW=P2^5;
sbit E=P2^7;
uchar tab1[]="zxcvbnm";
uchar tab2[]="12345678903728";
uint a;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
void write_com(uchar com)
{ E=0;
RW=0;
RS=0;
P0=com;
delay(10);
E=1;
delay(10);
E=0;
}
void write_data(uchar dat)
{
delay(100);
E=0;
RW=0;
RS=1;
P0=dat;
delay(10);
E=1;
delay(10);
E=0;
}
void lcd1602_init()
{
E=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void display()
{
write_com(0x80+0x00);
for(a=0;a<7;a++)
{
write_data(tab1[a]);
}
write_com(0x80+0x40);
for(a=0;a<14;a++)
{
write_data(tab2[a]);
}
write_com(0x07);
while(1)
{
write_com(0x80);
for(a=0;a<7;a++)
{
write_data(tab1[a]);
delay(200);
}
}
}
void main()
{
lcd1602_init();
while(1)
{
display();
}
}