[8]
Example Initialization Program
8-bit Initialization:
/**********************************************************/
void command(char i)
{
P1 = i; //put data on o
utput Port
D_I =0; //D/I=LOW : sen
d instruction
R_W =0; //R/W=LOW : Wri
te
E = 1;
Delay(1); //enable pulse
width >= 300ns
E = 0; //Clock enable:
falling edge
}
/**********************************************************/
void write(char i)
{
P1 = i; //put data on o
utput Port
D_I =1; //D/I=LOW : sen
d data
R_W =0; //R/W=LOW : Wri
te
E = 1;
Delay(1); //enable pulse
width >= 300ns
E = 0; //Clock enable:
falling edge
}
/**********************************************************/
void init()
{
E = 0;
Delay(100); //Wait >15 msec
after power is applied
command(0x30); //command 0x30
= Wake up
Delay(30); //must wait 5ms
, busy flag not available
command(0x30); //command 0x30
= Wake up #2
Delay(10); //must wait 160
us, busy flag not available
command(0x30); //command 0x30
= Wake up #3
Delay(10); //must wait 160
us, busy flag not available
command(0x38); //Function set:
8-bit/2-line
command(0x10); //Set cursor
command(0x0c); //Display ON; C
ursor ON
command(0x06); //Entry mode se
t
}
/**********************************************************/