void LCD_STROBE(void)
{
EN = 1;
__delay_us(0.5);
EN = 0;
}
////////////////////////////////////////////////////////////////////
void data(unsigned char c)
{
RS=1;
__delay_us(40); PORTD = ( c >> 4 );LCD_STROBE();
PORTD = ( c );LCD_STROBE();
}
//////////////////////////////////////////////////////////////////
void cmd(unsigned char c)
{
RS=0;
__delay_us(40); PORTD = ( c >> 4 );LCD_STROBE();
PORTD = ( c );LCD_STROBE();
}
/////////////////////////////////////////////////////////////////
void clear(void)
{
cmd(0x01);
__delay_ms(2);
}
/////////////////////////////////////////////////////////////////
void lcd_init()
{ __delay_ms(20);
cmd(0x30);
__delay_us(200);
cmd(0x30);
__delay_us(200);
cmd(0x30);
cmd(0x28 ); // Function set (4-bit interface, 2 lines, 5*7Pixels)
cmd(0x28 ); // Function set (4-bit interface, 2 lines, 5*7Pixels)
cmd(0x28 ); // Function set (4-bit interface, 2 lines, 5*7Pixels)
cmd(0x0c); // Make cursorinvisible
clear();
clear(); // Clear screen
cmd(0x6); // Set entry Mode
}