8051 INTERFACING WITH 16X2 LCD

PROGRAMS:
#include<reg52.h>
sbit en=P3^0; //setting P3.0 as enable pin
sbit rs=P3^1; //setting P3.2 as register selection
void delay(unsigned int ms) //delay function
{
unsigned int i,j;
for(i=0;i<=ms;i++)
for(j=0;j<=1275;j++);
}
void lcdcmd(unsigned char cmd) //function for lcd_cmd
{
P2=cmd;
rs=0;
en=1;
delay(5);
en=0;
}
void lcddata(unsigned char mess)//function to get char
{
P2=mess;
rs=1;
en=1;
delay(5);
en=0;
}
void initlcd() //lcd intialization
{
lcdcmd(0x38); //cmd for 8bit mode,2line
lcdcmd(0x01); //lcd clear
lcdcmd(0x06); //entry mode on lcd
lcdcmd(0x0e); //cursor on
lcdcmd(0x0c); //display cursor off
}
void main()
{
initlcd();
while(1) //infinite loop
{
lcdcmd(0x01); //clear display of lcd
lcdcmd(0x83); //setting lcd cursor 3rd position
delay(100); //calling delay
lcdcmd(0x01);
lcdcmd(0x83);
lcddata('E');
lcddata('C');
lcddata('E');
delay(100);
}}
Comments
Post a Comment