Note that you'll need to configure the IM pins for 8-bit interface:

//************* Reset LCD Driver ****************//
LCD_nRESET = 1;
delayms(1); // Delay 1ms
LCD_nRESET = 0;
delayms(10); // Delay 10ms // This delay time is necessary
LCD_nRESET = 1;
delayms(120); // Delay 120 ms

//Start initial Sequence
       write_cmd(0x01); //software reset
       delay(5);
       write_cmd(0x28); // display off
//------------power control------------------------------
       write_cmd(0xc0); //power control
       write_data16(0x00,0x26);
       write_cmd(0xc1); //power control
       write_data16(0x00,0x11);
       write_cmd(0xc5); //vcom control
       write_data16(0x00,0x5c);//35
       write_data16(0x00,0x4c);//3E
       write_cmd(0xc7); //vcom control
       write_data16(0x00,0x94);
//------------memory access control------------------------
       write_cmd(0x36); // memory access control
       write_data16(0x00,0x48); //0048 my,mx,mv,ml,BGR,mh,0.0
       write_cmd(0x3a); // pixel format set
       write_data16(0x00,0x55);//16bit /pixel
//----------------- frame rate------------------------------
       write_cmd(0xb1); // frame rate
       write_data16(0x00,0x00);
       write_data16(0x00,0x1B); //70
//----------------Gamma---------------------------------
       write_cmd(0xf2); // 3Gamma Function Disable
       write_data16(0x00,0x08);
       write_cmd(0x26);
       write_data16(0x00,0x01); // gamma set 4 gamma curve 01/02/04/08
           write_cmd(0xE0); //positive gamma correction
           write_data16(0x00,0x1f);
           write_data16(0x00,0x1a);
           write_data16(0x00,0x18);
           write_data16(0x00,0x0a);
           write_data16(0x00,0x0f);
           write_data16(0x00,0x06);
           write_data16(0x00,0x45);
           write_data16(0x00,0x87);
           write_data16(0x00,0x32);
           write_data16(0x00,0x0a);
           write_data16(0x00,0x07);
           write_data16(0x00,0x02);
           write_data16(0x00,0x07);
           write_data16(0x00,0x05);
           write_data16(0x00,0x00);
           write_cmd(0xE1); //negamma correction
           write_data16(0x00,0x00);
           write_data16(0x00,0x25);
           write_data16(0x00,0x27);
           write_data16(0x00,0x05);
           write_data16(0x00,0x10);
           write_data16(0x00,0x09);
           write_data16(0x00,0x3a);
           write_data16(0x00,0x78);
           write_data16(0x00,0x4d);
           write_data16(0x00,0x05);
           write_data16(0x00,0x18);
           write_data16(0x00,0x0d);
           write_data16(0x00,0x38);
           write_data16(0x00,0x3a);
           write_data16(0x00,0x1f);
//--------------ddram ---------------------
       write_cmd(0x2a); // column set
       write_data16(0x00,0x00);
       write_data16(0x00,0x00);
       write_data16(0x00,0x00);
       write_data16(0x00,0xEF);
       write_cmd(0x2b); // page address set
       write_data16(0x00,0x00);
       write_data16(0x00,0x00);
       write_data16(0x00,0x01);
       write_data16(0x00,0x3F);
       // write_cmd(0x34); // tearing effect off
       //write_cmd(0x35); // tearing effect on
       //write_cmd(0xb4); // display inversion
       //write_data16(0x00,0x00);
       write_cmd(0xb7); //entry mode set
       write_data16(0x00,0x07);
//-----------------display---------------------
       write_cmd(0xb6); // display function control
       write_data16(0x00,0x0a);
       write_data16(0x00,0x82);
       write_data16(0x00,0x27);
       write_data16(0x00,0x00);
       write_cmd(0x11); //sleep out
       delay(100);
       write_cmd(0x29); // display on
       delay(100);
       write_cmd(0x2c); //memory write
       delay(200);

//Please add code °•write_cmd(0x2C);°¶to access the GRAM before to display picture.

void EnterSleep()
{
       write_cmd(0x28); //display off
       write_cmd(0x10);//enter standby mode
}
void Exitsleep()
{
       write_cmd(0x11); //standby out
       delay(60);
       write_cmd(0x29);//display on
}