You are on page 1of 4

/*Program to display simple text on Graphics LCD*/

#include<reg51.h>
#include<intrins.h>
#define dport P2
sbit
sbit
sbit
sbit
sbit

rs=P1^0;
rw=P1^1;
en=P1^2;
cs1=P1^3;
cs2=P1^4;

unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned

char
char
char
char
char
char
char
char
char

c,z=0;
ar0[]={124,126,19,19,126,124,0,0};
ar1[]={65,127,127,73,127,54,0,0};
ar2[]={28,62,99,65,65,99,34,0};
ar3[]={65,127,127,65,99,62,28,0};
ar4[]={65,127,127,73,93,65,99,0,};
ar5[]={ 65,127,127,73,29,1,3,0};
ar6[]={ 28,62,99,65,81,115,114,0};
ar7[]={127,127,8,8,127,127,0,0};

unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned
unsigned

char
char
char
char
char
char
char
char

ar00[]={126,17,17,17,126};
ar11[]={127,73,73,73,54};
ar22[]={62,65,65,65,34};
ar33[]={127,65,65,34,28};
ar44[]={127,73,73,73,65};
ar55[]={127,9,9,1,1};
ar66[]={62,65,65,81,50};
ar77[]={127,8,8,8,127};

//A,8x8
//B,8x8
//C,8x8
//D,8x8
//E,8x8
//F,8x8
//G,8x8
//H,8x8
//A,5x7
//B,5x7
//C,5x7
//D,5x7
//E,5x7
//F,5x7
//G,5x7
//H,5x7

void ctrloff()
{
rs=0;
rw=0;
en=0;
cs1=0;
cs2=0;
}
//Display on function
void displayon()
{
ctrloff();
dport=0x3f;
cs1=1;cs2=1;
rw=0;rs=0;
en=1;
_nop_();
en=0;
}
void setcolumn(unsigned char y)
{
if(y<64)
{
ctrloff();
c=y;
dport=0x40|(y&63);
cs1=1;cs2=0;

//0x40 represents Column 0

rs=0;
rw=0;
en=1;
_nop_();
en=0;
}
else
{
c=y;
dport=0x40|((y-64)&63);
cs2=1;cs1=0;
rs=0;
rw=0;
en=1;
_nop_();
en=0;

//0x40 represents Column 0

}
}
void setpage(unsigned char x)
{
ctrloff();
dport= 0xb8|x;
//0xb8 represents Page 0
cs1=1;
cs2=1;
rs=0;
rw=0;
en=1;
_nop_();
en=0;
}
void lcddata(unsigned char *value,unsigned int limit)
{
unsigned int i;
for(i=0;i<limit;i++)
{
if(c<64)
{
dport=value[i];
cs1=1;cs2=0;
rs=1;
rw=0;
en=1;
_nop_();
en=0;
c++;
}
else
{
setcolumn(c);
dport=value[i];
cs2=1;cs1=0;
rs=1;
rw=0;
en=1;
_nop_();
en=0;
c++;

}
if(c>127)
return;
}
}
void clrlcd()
{
unsigned char i,j;
for (i=0;i < 8;i++)
{
setpage(i);
setcolumn(0);
for (j= 0 ;j < 128; j++)
lcddata(&z,1);
}
}
void main()
{
clrlcd();
while(1)
{
displayon();
setpage(0);
setcolumn(0);
lcddata(&ar0,8);
setpage(1);
setcolumn(0);
lcddata(&ar1,8);
setpage(2);
setcolumn(0);
lcddata(&ar2,8);
setpage(3);
setcolumn(0);
lcddata(&ar3,8);
setpage(4);
setcolumn(0);
lcddata(&ar4,8);
setpage(5);
setcolumn(0);
lcddata(&ar5,8);
setpage(6);
setcolumn(0);
lcddata(&ar6,8);
setpage(7);
setcolumn(0);
lcddata(&ar7,8);
setpage(0);
setcolumn(64);
lcddata(&ar00,5);

setpage(1);
setcolumn(64);
lcddata(&ar11,5);
setpage(2);
setcolumn(64);
lcddata(&ar22,5);
setpage(3);
setcolumn(64);
lcddata(&ar33,5);
setpage(4);
setcolumn(64);
lcddata(&ar44,5);
setpage(5);
setcolumn(64);
lcddata(&ar55,5);
setpage(6);
setcolumn(64);
lcddata(&ar66,5);
setpage(7);
setcolumn(64);
lcddata(&ar77,5);
}
}

You might also like