LCD programming for 8051 in KEiL
#include<REGX51.h>
#define en_dly 20
#define lcd_input P2
#define rs P3_3
#define en P3_2
void delay(unsigned char time)
{
unsigned int i,j;
for(i=0;i<time;i++)
for(j=0;j<1000;j++);
}
void lcd_cmd(unsigned char CMD)
{
//lcd_input=CMD>>4;
lcd_input=CMD;
rs=0;en=1;
delay(en_dly);
en=0;
//lcd_input=CMD;
// lcd_input=CMD<<4;
//rs=0;en=1;
// delay(en_dly);
// en=0;
}
void lcd_data(unsigned char dat)
{
//lcd_input=dat>>4;
lcd_input=dat;
rs=1;en=1;
delay(89);
en=0;
//lcd_input=dat;
// lcd_input=dat<<4;
//rs=1;en=1;
//delay(en_dly);
// en=0;
}
void lcd_init(void)
{
lcd_cmd(0x02);
// lcd_cmd(0x28);
lcd_cmd(0x38);
lcd_cmd(0x0e);
lcd_cmd(0x06);
//lcd_cmd(0x0C);
lcd_cmd(0x01);
}
void display(char *name)
{
while(*name!=0)
{
lcd_data(*name);
name++;
}
}
void main()
{
unsigned char i=0;
unsigned char m_1[]=" *****";
unsigned char m_2[]=" Hello";
unsigned char m_3[]=" world****";
lcd_init();
while(1)
{
lcd_cmd(0x01);lcd_cmd(0x80);
display(m_1);
delay(100);
lcd_cmd(0xC0);
display(m_2);
lcd_cmd(0x01);lcd_cmd(0x80);
display(m_3);
delay(100);
lcd_cmd(0xc0);
for(i=0;i<9;i++)
{
lcd_data(i+48);
delay(89);
}
lcd_cmd(0x01);lcd_cmd(0x80);
for(i=10;i<20;i++)
{
lcd_data(i+48);
delay(89);
}
}
}
#define en_dly 20
#define lcd_input P2
#define rs P3_3
#define en P3_2
void delay(unsigned char time)
{
unsigned int i,j;
for(i=0;i<time;i++)
for(j=0;j<1000;j++);
}
void lcd_cmd(unsigned char CMD)
{
//lcd_input=CMD>>4;
lcd_input=CMD;
rs=0;en=1;
delay(en_dly);
en=0;
//lcd_input=CMD;
// lcd_input=CMD<<4;
//rs=0;en=1;
// delay(en_dly);
// en=0;
}
void lcd_data(unsigned char dat)
{
//lcd_input=dat>>4;
lcd_input=dat;
rs=1;en=1;
delay(89);
en=0;
//lcd_input=dat;
// lcd_input=dat<<4;
//rs=1;en=1;
//delay(en_dly);
// en=0;
}
void lcd_init(void)
{
lcd_cmd(0x02);
// lcd_cmd(0x28);
lcd_cmd(0x38);
lcd_cmd(0x0e);
lcd_cmd(0x06);
//lcd_cmd(0x0C);
lcd_cmd(0x01);
}
void display(char *name)
{
while(*name!=0)
{
lcd_data(*name);
name++;
}
}
void main()
{
unsigned char i=0;
unsigned char m_1[]=" *****";
unsigned char m_2[]=" Hello";
unsigned char m_3[]=" world****";
lcd_init();
while(1)
{
lcd_cmd(0x01);lcd_cmd(0x80);
display(m_1);
delay(100);
lcd_cmd(0xC0);
display(m_2);
lcd_cmd(0x01);lcd_cmd(0x80);
display(m_3);
delay(100);
lcd_cmd(0xc0);
for(i=0;i<9;i++)
{
lcd_data(i+48);
delay(89);
}
lcd_cmd(0x01);lcd_cmd(0x80);
for(i=10;i<20;i++)
{
lcd_data(i+48);
delay(89);
}
}
}
Comments
Post a Comment