chetan11
Newbie level 5
The below program is compile correctly and hex file is created.
i m using 4-bit lcd in keil Uvisio2.4, but i m not able to set up the LCD set up.
can any one help me to which port of lcd i.e. d4,d5,d6,d7 to which parameter 8051 in LCD set up box in keil.
I will be very greatly helpful.
#include <REGX51.H>
void init();
void msdelay(unsigned int);
void lcdcmd(unsigned char value);
void lcddata(unsigned char value);
void d1();
void d2();
sbit en = P3^0;
sbit rs = P3^1;
sbit s1 = P3^2;
sbit s2 = P3^3;
char str1[7] = "switch1";
char str2[7] = "switch2";
char str3[10] = "pressed!!!";
int i;
void init()
{
lcdcmd(0x38);
msdelay(10);
lcdcmd(0x0e);
msdelay(10);
lcdcmd(0x06);
msdelay(10);
lcdcmd(0x01);
msdelay(10);
}
void main(){
while(1){
if(s1==0)
d1();
if(s2==0)
d2();
}
}
void d1(){
init();
lcdcmd(0x83);
for(i=0;i<7;i++){
lcddata(str1);
msdelay(1);
}
lcdcmd(0xc3);
for(i=0;i<10;i++){
lcddata(str3);
msdelay(1);
}
return;
}
void d2(){
init();
lcdcmd(0x83);
for(i=0;i<7;i++){
lcddata(str2);
msdelay(1);
}
lcdcmd(0xc3);
for(i=0;i<10;i++){
lcddata(str3);
msdelay(1);
}
return;
}
void lcdcmd(unsigned char value){
P2 = value;
rs=0;
en=1;
msdelay(1);
en=0;
return;
}
void lcddata(unsigned char value){
P2 = value;
rs=1;
en=1;
msdelay(1);
en=0;
return;
}
void msdelay(unsigned int itime){
unsigned int i,jich parameter in ;
for(i=0;i<itime;i++)
for(j=0;j<1275;j++);
}
i m using 4-bit lcd in keil Uvisio2.4, but i m not able to set up the LCD set up.
can any one help me to which port of lcd i.e. d4,d5,d6,d7 to which parameter 8051 in LCD set up box in keil.
I will be very greatly helpful.
#include <REGX51.H>
void init();
void msdelay(unsigned int);
void lcdcmd(unsigned char value);
void lcddata(unsigned char value);
void d1();
void d2();
sbit en = P3^0;
sbit rs = P3^1;
sbit s1 = P3^2;
sbit s2 = P3^3;
char str1[7] = "switch1";
char str2[7] = "switch2";
char str3[10] = "pressed!!!";
int i;
void init()
{
lcdcmd(0x38);
msdelay(10);
lcdcmd(0x0e);
msdelay(10);
lcdcmd(0x06);
msdelay(10);
lcdcmd(0x01);
msdelay(10);
}
void main(){
while(1){
if(s1==0)
d1();
if(s2==0)
d2();
}
}
void d1(){
init();
lcdcmd(0x83);
for(i=0;i<7;i++){
lcddata(str1);
msdelay(1);
}
lcdcmd(0xc3);
for(i=0;i<10;i++){
lcddata(str3);
msdelay(1);
}
return;
}
void d2(){
init();
lcdcmd(0x83);
for(i=0;i<7;i++){
lcddata(str2);
msdelay(1);
}
lcdcmd(0xc3);
for(i=0;i<10;i++){
lcddata(str3);
msdelay(1);
}
return;
}
void lcdcmd(unsigned char value){
P2 = value;
rs=0;
en=1;
msdelay(1);
en=0;
return;
}
void lcddata(unsigned char value){
P2 = value;
rs=1;
en=1;
msdelay(1);
en=0;
return;
}
void msdelay(unsigned int itime){
unsigned int i,jich parameter in ;
for(i=0;i<itime;i++)
for(j=0;j<1275;j++);
}