Di un vistaso rapido al codigo,
Ademas de ver varios codigos juntos, con comentarios en portugues, eso quiere decir o que los leiste y no te molestaste en cambiarlos o copiaste y pegaste sin saber si funcionaban o no.
En fin veo que utilizas el PLL, asi que tu frecuencia seguro esta bastante mas alta que los 4Mhz para lo cual esta hecho el driver del LCD que tenes en el codigo (4Mhz por lo que dice su bandera). Si es asi y tenes una frecuencia mayor entonces necesitas modificar tiempos, incluso cuando se dan pulsos en algunos pines. Y termina siendo un problema de puertos.
Hay muchisimo mas codigo de lo necesario para el LCD, te recomiendo comenzar un proyecto aparte con solo el tema del LCD, a pesar que existe muchisimos drivers no hay nada mejor que poder entender el codigo y acomodarlo como uno quiere. Y para eso vas a necesitar el datasheet del controlador de tu LCD. Y como dije, si estas usandolo con una frecuencia mayor a 4Mhz vas a tener que retocar todos los delays. y tamaño de pulsos.