LCD display with ILI9341 driver on Arduino

Friends, I have a TFT with 2.2SP ili9341 (even that has nid69ita) working on nano and I can make it work with the sketch below (using 22k resistors instead of using cd4050). I tried to use the librarie suggested by chisco and pinout suggested by nid69ita and then the TheCoolest and none of them worked. Can anyone help me?

/*==========================================================================
The LCD connection is the same as Nokia LCD5110 and  is a?? Bit Pant Demo??
Just for ElecFreaks TFT01-2.2SP, which use SPI serial port and 240x320 pixel.
The driver is ILI9341.
 
by Elecfreaks
==========================================================================*/ 
#include "pins_arduino.h"
//USAR O PINO 8 DO TFT PARA DETERMINAR O BRILHO DO DISPLAY
#define LCD_WR    9   //SCL -     PINO 7 DO TFT
#define LCD_RS   10   //SDA -     PINO 6 DO TFT
#define LCD_DC   11   //A0 -      PINO 5 DO TFT
#define LCD_REST 12   //RESET -   PINO 4 DO TFT
#define LCD_CS   13   //CSE     - PINO 3 DO TFT

volatile uint8_t *P_SCK, *P_MOSI, *P_DC, *P_RST, *P_CS;
volatile uint8_t B_SCK, B_MOSI, B_DC, B_RST, B_CS;
 
void LCD_Writ_Bus(char data)
{
  *P_CS &= ~B_CS;
  for (unsigned char c=0; c<8; c++)
  {
	if (data & 0x80)
		*P_MOSI |= B_MOSI;
	else
		*P_MOSI &= ~B_MOSI;
	data = data<<1;
	*P_SCK &= ~B_SCK;
	asm ("nop");
	*P_SCK |= B_SCK;
  }
  *P_CS |= B_CS;
}
 
void LCD_Write_COM(char VL)  
{   
  digitalWrite(LCD_DC,LOW);
  LCD_Writ_Bus(VL);
}
 
void LCD_Write_DATA(char VL)    
{
  digitalWrite(LCD_DC,HIGH);
  LCD_Writ_Bus(VL);
}
 
void Address_set(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2)
{
   LCD_Write_COM(0x2a);
   LCD_Write_DATA(x1>>8);
   LCD_Write_DATA(x1);
   LCD_Write_DATA(x2>>8);
   LCD_Write_DATA(x2);
 
   LCD_Write_COM(0x2b);
   LCD_Write_DATA(y1>>8);
   LCD_Write_DATA(y1);
   LCD_Write_DATA(y2>>8);
   LCD_Write_DATA(y2);
 
   LCD_Write_COM(0x2C);         				 
}
 
void LCD_Init(void)
{
        P_SCK	= portOutputRegister(digitalPinToPort(LCD_WR));
        B_SCK	= digitalPinToBitMask(LCD_WR);
	P_MOSI	= portOutputRegister(digitalPinToPort(LCD_RS));
	B_MOSI	= digitalPinToBitMask(LCD_RS);
	P_DC	= portOutputRegister(digitalPinToPort(LCD_DC));
	B_DC	= digitalPinToBitMask(LCD_DC);
	P_RST	= portOutputRegister(digitalPinToPort(LCD_REST));
	B_RST	= digitalPinToBitMask(LCD_REST);
	P_CS	= portOutputRegister(digitalPinToPort(LCD_CS));
	B_CS	= digitalPinToBitMask(LCD_CS);
 
        *P_RST &= ~B_RST;
	delay(10);
	*P_RST |= B_RST;
 
        LCD_Write_COM(0xCB);  
        LCD_Write_DATA(0x39); 
        LCD_Write_DATA(0x2C); 
        LCD_Write_DATA(0x00); 
        LCD_Write_DATA(0x34); 
        LCD_Write_DATA(0x02); 
 
        LCD_Write_COM(0xCF);  
        LCD_Write_DATA(0x00); 
        LCD_Write_DATA(0XC1); 
        LCD_Write_DATA(0X30); 
 
        LCD_Write_COM(0xE8);  
        LCD_Write_DATA(0x85); 
        LCD_Write_DATA(0x00); 
        LCD_Write_DATA(0x78); 
 
        LCD_Write_COM(0xEA);  
        LCD_Write_DATA(0x00); 
        LCD_Write_DATA(0x00); 
 
        LCD_Write_COM(0xED);  
        LCD_Write_DATA(0x64); 
        LCD_Write_DATA(0x03); 
        LCD_Write_DATA(0X12); 
        LCD_Write_DATA(0X81); 
 
        LCD_Write_COM(0xF7);  
        LCD_Write_DATA(0x20); 
 
        LCD_Write_COM(0xC0);    //Power control 
        LCD_Write_DATA(0x23);   //VRH[5:0] 
 
        LCD_Write_COM(0xC1);    //Power control 
        LCD_Write_DATA(0x10);   //SAP[2:0];BT[3:0] 
 
        LCD_Write_COM(0xC5);    //VCM control 
        LCD_Write_DATA(0x3e);   //Contrast
        LCD_Write_DATA(0x28); 
 
        LCD_Write_COM(0xC7);    //VCM control2 
        LCD_Write_DATA(0x86);   //--
 
        LCD_Write_COM(0x36);    // Memory Access Control 
        LCD_Write_DATA(0x48);   //C8	   //48 68???//28 E8 ???
 
        LCD_Write_COM(0x3A);    
        LCD_Write_DATA(0x55); 
 
        LCD_Write_COM(0xB1);    
        LCD_Write_DATA(0x00);  
        LCD_Write_DATA(0x18); 
 
        LCD_Write_COM(0xB6);    // Display Function Control 
        LCD_Write_DATA(0x08); 
        LCD_Write_DATA(0x82);
        LCD_Write_DATA(0x27);  
/* 
        LCD_Write_COM(0xF2);    // 3Gamma Function Disable 
        LCD_Write_DATA(0x00); 
 
        LCD_Write_COM(0x26);    //Gamma curve selected 
        LCD_Write_DATA(0x01); 
 
        LCD_Write_COM(0xE0);    //Set Gamma 
        LCD_Write_DATA(0x0F); 
        LCD_Write_DATA(0x31); 
        LCD_Write_DATA(0x2B); 
        LCD_Write_DATA(0x0C); 
        LCD_Write_DATA(0x0E); 
        LCD_Write_DATA(0x08); 
        LCD_Write_DATA(0x4E); 
        LCD_Write_DATA(0xF1); 
        LCD_Write_DATA(0x37); 
        LCD_Write_DATA(0x07); 
        LCD_Write_DATA(0x10); 
        LCD_Write_DATA(0x03); 
        LCD_Write_DATA(0x0E); 
        LCD_Write_DATA(0x09); 
        LCD_Write_DATA(0x00); 
 
        LCD_Write_COM(0XE1);    //Set Gamma 
        LCD_Write_DATA(0x00); 
        LCD_Write_DATA(0x0E); 
        LCD_Write_DATA(0x14); 
        LCD_Write_DATA(0x03); 
        LCD_Write_DATA(0x11); 
        LCD_Write_DATA(0x07); 
        LCD_Write_DATA(0x31); 
        LCD_Write_DATA(0xC1); 
        LCD_Write_DATA(0x48); 
        LCD_Write_DATA(0x08); 
        LCD_Write_DATA(0x0F); 
        LCD_Write_DATA(0x0C); 
        LCD_Write_DATA(0x31); 
        LCD_Write_DATA(0x36); 
        LCD_Write_DATA(0x0F); 
*/
        LCD_Write_COM(0x11);    //Exit Sleep 
        delay(120); 
 
        LCD_Write_COM(0x29);    //Display on 
        LCD_Write_COM(0x2c);   
}
 
void Pant(char VL)
{
  int i,j;
  Address_set(0,0,240,320);
  for(i=0;i<320;i++)
  {
    for (j=0;j<480;j++)
    {
      LCD_Write_DATA(VL);
    }
  }
}
 
void setup()
{
  unsigned char p;
  for(p=8;p<14;p++)
    pinMode(p,OUTPUT);
  LCD_Init();  
}
 
void loop()
{  
  Pant(0xFF);   
  Pant(0xF0);   
  Pant(0xE0);  
  Pant(0x05);  
  Pant(0x1F);    
  Pant(0x00);   
}