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