Codes:
////////////////////////////////////////////////////////////////////////////////
DELAY AND OTHER FUNCTIONS WITH HEADER IS WRITTEN ONLY ONE TIME FOR ALL THE CODE HERE
///////////////////////////////////////////////////////////////////////////////
#include"header_fprog.h"
#define rs PORTBbits.RB5
#define rw PORTBbits.RB6
#define en PORTBbits.RB7
#define sw PORTCbits.RC0
#define ldata PORTD
void delay(int tm)
{
int i, j;
for(i=0;i<500;i++)
for(j=0;j<tm;j++);
}
void lcdcmd(unsigned char cmd)
{
ldata=cmd;
rs=0;
rw=0;
en=1;
delay(10);
en=0;
}
void lcddata(unsigned char dat)
{
ldata=dat;
rs=1;
rw=0;
en=1;
delay(10);
en=0;
}
///////////////////////////////////////////////////////////
Program 1
//////////////////////////////////////////////////////////
void main()
{
unsigned char s[]="Two side";
unsigned char g[]="Tutorial";
int a, b;
TRISB=0x00;
TRISD=0x00;
lcdcmd(0x38);
delay(5);
lcdcmd(0x0e);
delay(5);
lcdcmd(0x01);
delay(5);
lcdcmd(0x06);
delay(5);
lcdcmd(0x82);
delay(5);
for(a=0;a<8;a++)
{
lcddata(s[a]);
delay(10);
}
lcdcmd(0xC2);
delay(5);
for(b=0;b<6;b++)
{
lcddata(g[b]);
delay(10);
}
}
///////////////////////////////////////////////////////////
Program 2
//////////////////////////////////////////////////////////
void main()
{
unsigned char s[]="Two Side";
unsigned char g[]="Tutorial";
int a, b;
TRISB=0x00;
TRISD=0x00;
lcdcmd(0x38);
delay(5);
lcdcmd(0x0e);
delay(5);
lcdcmd(0x01);
delay(5);
lcdcmd(0x06);
delay(5);
while(1)
{
if(sw==1)
{
lcdcmd(0x01);
delay(5);
lcdcmd(0x82);
delay(5);
for(a=0;a<8;a++)
{
lcddata(s[a]);
delay(10);
}
lcdcmd(0xC2);
delay(5);
for(b=0;b<6;b++)
{
lcddata(g[b]);
delay(10);
}
}
else
{
lcdcmd(0x01);
delay(5);
lcdcmd(0x80);
delay(5);
for(a=0;a<8;a++)
{
lcddata(s[a]);
delay(10);
}
for(b=0;b<6;b++)
{
lcddata(g[b]);
delay(10);
}
}
}
}
Read More : - LED Code