you can see my incomplete tutorial, it will give you some useful information
LCD Interfacing : TheCollegeRoad, easy pay .. rapid delivery
code for 8051, will also work for your environment
#include <REGX51.H>
#define DATA P2
#define EN P3_0
#define RW P3_1
#define RS P3_2
//#define SCL P3_3
//#define SDA P3_4
sbit rd=P3^3;
sbit wr=P3^4;
sbit intr=P3^5;
#define byte1 144
#define byte2 0
#define byte3 145
void lcd_ini(void);
void delay (int);
void wr_comm();
void wr_data();
void anding (int);
void wait (void);
int unit;
int tenth;
int hundred;
char tosend;
int datas=0;
int inch_count;
char u,t,h;
char ax,bx,cx;
int cm_count;
int x_0=0,x_1=0,x_2=0,x_3=0,x_4=0,x_5=0,x_6=0,x_7=0;
int y_0=0,y_1=0,y_2=0,y_3=0,y_4=0,y_5=0,y_6=0,y_7=0;
int z_0=0,z_1=0,z_2=0,z_3=0,z_4=0,z_5=0,z_6=0,z_7=0;
void main (void)
{int temp=0, temp2=0;
P0=0; P1=0xFF; P2=0; P3=0;
//______________________________adc
intr=1;
rd=1;
wr=1;
//_______________________________
lcd_ini(); //LCD
DATA= 'T';
wr_data();
DATA= 'E';
wr_data();
DATA= 'M';
wr_data();
DATA= 'P';
wr_data();
DATA= '*';
wr_data();
//anding(byte1);
//*************************************************************
//lcd_display_character((char)ax+48, LINE2, 7) ;
//lcd_display_character((char)bx+48, LINE2, 6) ;
//lcd_display_character((char)h+48, LINE2, 5) ;
//*************************************************************
while(1)
{
wr=0;
wr=1;
while(intr==1);
rd=0;
inch_count=P1;
rd=1;
//datas=convert(dat_count);
t=inch_count/10;
u=inch_count-(u*10);
h=inch_count/100;
cx=inch_count-(h*100);
bx=cx/10;
ax=cx%10;
DATA= 'T';
wr_data();
DATA= 'E';
wr_data();
DATA= 'M';
wr_data();
DATA= 'P';
wr_data();
DATA= '=';
wr_data();
tosend=(char)h+48;
DATA= tosend;
wr_data();
tosend=(char)bx+48;
DATA= tosend;
wr_data();
tosend=(char)ax+48;
DATA= tosend;
wr_data();
DATA= ' ';
wr_data();
DATA= ' ';
wr_data();
DATA= ' ';
wr_data();
DATA= ' ';
wr_data();
DATA= ' ';
wr_data();
DATA= ' ';
wr_data();
DATA= ' ';
wr_data();
DATA= ' ';
wr_data();
//delay(100);
}
}
void lcd_ini(void)
{
DATA=0x38;
wr_comm();
//delay(1000);
DATA=0x0E;
wr_comm();
//delay(1000);
DATA=0x01;
wr_comm();
//delay(1000);
DATA=0x06;
wr_comm();
//delay(1000);
DATA=0x01;
wr_comm();
}
void wr_comm()
{RS=0;
RW=0;
EN=1;
EN=0;
delay(150);
}
void wr_data()
{RS=1;
RW=0;
EN=1;
EN=0;
delay(150);
}
void delay (int time)
{
int i;
time = time * 1;
for(i=0; i<time; i++)
{}
}
void anding (int byte)
{x_7=(byte)&(128);
x_6=(byte)&(64);
x_5=(byte)&(32);
x_4=(byte)&(16);
x_3=(byte)&(8);
x_2=(byte)&(4);
x_1=(byte)&(2);
x_0=(byte)&(1);
}
void wait (void)
{int p;
for(p=0;p<=100;p++)
{}
}
TheCollegeRoad, easy pay .. rapid delivery