#include <at89x52.
h>
sfr LCDPort = 0x80;
sbit RS=P2^0;
sbit RW=P2^1;
sbit EN=P2^2;
sbit Busy_Flag=P0^7;
unsigned char *Msg1="Welcome@ECE-VCE!";
unsigned char *Msg2=" [Link] ";
unsigned char *Msg3="This is Template";
unsigned char *Msg4="Design of Driver";
void
void
void
void
void
WriteString(unsigned char *);
LCDData(unsigned char );
LCDCommand(unsigned char);
LCDReady(void);
MSDelay(unsigned int);
void LCDCommand(unsigned char cur_cmd)
{
LCDReady();
RS=0;
RW=0;
LCDPort=cur_cmd;
EN=1;
MSDelay(1);
EN=0;
}
void LCDData(unsigned char cur_data)
{
LCDReady();
RS=1;
RW=0;
LCDPort=cur_data;
EN=1;
MSDelay(1);
EN=0;
}
void LCDReady(void)
{
Busy_Flag=1;
RS=0;
RW=1;
while(Busy_Flag==1)
{
EN=0;
MSDelay(1);
EN=1;
}
}
void MSDelay(unsigned int Times)
{
unsigned int i=0,j=0;
for(i=0;i<Times;i++)
{
for(j=0;j<1269;j++);
}
}
void WriteString(unsigned char *Line)
{
unsigned char i=0;
for(i=0;Line[i]!='\0';i++)
{
LCDData(Line[i]);
}
}
void main(void)
{
LCDPort=0x00;
LCDCommand(0x38);
LCDCommand(0x0E);
LCDCommand(0x01);
LCDCommand(0x06);
while(1)
{
LCDCommand(0x80);
WriteString(Msg1);
LCDCommand(0xC0);
WriteString(Msg2);
MSDelay(100);
LCDCommand(0x80);
WriteString(Msg3);
LCDCommand(0xC0);
WriteString(Msg4);
MSDelay(100);
}
}