16 x 2 LCD interfacing with AT89V51RD2 microcontroller
In this tutorial we interface 16x2 LCD with AT89V51RD2 microcontroller. We connect D0-D7 data pins to P1 and RS=P2.0, RW= P2.1, EN=P2.2 of microcontroller.
Connections:
Program:
#include <reg51.h>
sbit Rs=P2^0;
sbit Rw=P2^1;
sbit EN=P2^2;
void lcd_init();
void lcd_data(char);
void lcd_cmd(char);
void delay(int);
void display (char[]);
void main()
{
int j=1;
lcd_init();
display("Smartronics");
lcd_cmd(0xC0);
display("Solutions");
while(j>0)
{
lcd_cmd(0x1C);
}
}
void display(char a[])
{
int i =0;
while(a[i] != 0)
{
lcd_data(a[i]);
i++;
}
}
void lcd_init()
{
lcd_cmd(0x38);
lcd_cmd(0x01);
lcd_cmd(0x06);
lcd_cmd(0x0f);
lcd_cmd(0x80);
lcd_cmd(0x1c);
}
void lcd_data(char d)
{
P1=d;
Rs=1;
Rw=0;
EN=1;
delay(1);
EN=0;
delay(1);
}
void lcd_cmd(char c)
{
P1=c;
Rs=0;
Rw=0;
EN=1;
delay(1);
EN=0;
delay(1);
}
void delay(int t)
{
int i;
for(i=0;i<1275*t;i++);
}
Comments
Post a Comment