
// somewhere at beginning:
#define LCD_RS  P3_6
#define LCD_E   P3_7
#define LCD_BUS P1

// ...

// LCD initialization
void LCD_INT(void) 
{
// set strobe to default state
// (after MCU reset/power-up, all pins are high !)
LCD_E = 0;

// setup interface
LCD_RS = 0;
LCD_E = 1;        // select command register
LCD_BUS = 0x38;   // 8-bit bus, 2 lines, 5x7 dots
LCD_E = 0;        // strobe command
LCDDelay40us();   // wait for at least 40us
// Note: some vendors recommend to repeat
// setup interface sequence at least 3 times
// with 5ms pauses)

// now I recommend to do total reset of LCD:
//LCD_RS = 0;
LCD_E = 1;        // select command register
LCD_BUS = 0x01;   // clear display and move cursor and DRAM pointer to start position
LCD_E = 0;        // strobe command
LCDDelay1700us(); // wait for at least 1.7ms

// visual setup
//LCD_RS = 0;
LCD_E = 1;        // select command register
LCD_BUS = 0x0e;   // display on, cursor on, flash off
LCD_E = 0;        // strobe command
LCDDelay40us();   // wait for at least 40us

//LCD_RS = 0;
LCD_E = 1;        // select command register
LCD_BUS = 0x06;   // cursor scroll direction to right
LCD_E = 0;        // strobe command
LCDDelay40us();   // wait for at least 40us
}

// LCD data write
void LCD_WR_DAT(void) 
{
LCD_RS = 1;
LCD_E = 1;        // select data memory
//LCD_BUS = 0xXX; // has already wrote in your case
LCD_E = 0;        // strobe data
LCDDelay40us();   // wait for at least 40us
}