Q:

Wrong values are displayed on LCD

I'm using Tiva c to drive an LCD but some characters and numbers are wrong displayed, for example, N is displayed as L, 2 and 3 are displayed as 0 but other characters and letters are displayed correctly.
Here is the function that displays characters:
void LCD_voidWriteCharacter(char Character)
{
    SET_BIT(GPIO_PORTA_DATA_R, 7); // RS pin is 1 -> data
    GPIO_PORTB_DATA_R = Character; 
    SET_BIT(GPIO_PORTA_DATA_R, 5); // Enable is high (latch)
    Delay_ms(2);
    CLEAR_BIT(GPIO_PORTA_DATA_R, 5); // Enable is low
}

where could be the problem? 
sorry for my english

A:

Lets look at what your examples have in common:
'N' == 0100 1110
'L' == 0100 1100

'2' == 0011 0010
'3' == 0011 0011
'0' == 0011 0000

The problem always seems to be 2nd lowest bit.
And sometimes the lowest bit. (in the case of '3' turning into '0'),
I conclude you have some bad wiring connection near the lowest bits of communication from your board to the LCD screen.

