Thursday, 5 March 2015

LCD AT89C52

#include<reg52.h>
sfr ldata=0xA0;
sbit rs=P3^0;
sbit en=P3^1;
sbit rw=P3^2;
void msdelay(unsigned int);
void lcdcmd(unsigned char);
void lcddata(unsigned char);
void main()
{
lcdcmd(0x38);
msdelay(50);
lcdcmd(0x0E);
msdelay(50);
lcdcmd(0x01);
msdelay(50);
lcdcmd(0x06);
msdelay(50);
lcdcmd(0x86);
msdelay(50);
lcddata('S');
msdelay(50);
lcddata('h');
msdelay(50);
lcddata('i');
msdelay(50);
}
void lcdcmd(unsigned char value)
{
ldata=value;
en=1;
rs=0;
rw=0;
msdelay(5);
en=0;
}
void lcddata(unsigned char value)
{
ldata=value;
en=1;
rs=1;
rw=0;
msdelay(5);
en=0;
}
void msdelay(unsigned int item)
{
unsigned int i,j;
for(i=0;i<=item;i++)
for(j=0;j<1275;j++);
}

No comments:

Post a Comment