Tambien eh notado que ammm si no conecto el LCD a la tarjeta la tarjeta no inicaliza, se queda esperando la inicializacion del LCD no se si esto sea normal ó tengo algo mal configurado con el LCD, de aqui me surge la idea de que el LCD podria estar siendo el que se cuelgue originalmente (por los caracteres raros) y que de ahi el pic se quede esperando una respuesta, la cual no recibe.
Las librerias de CCS estan hechas para utiliar el pin R/W, realizando una lectura del bit de busy cada vez que se escribe en el display, de esa forma optimizas los tiempos y se adapta tu circuito a diferentes temperaturas de trabajo, pero esto genera dos problemas:
- Si el display no esta conectado, no se lee el bit de busy, asi que no arranca tu aplicacion
- Entra ruido por las lineas de datos, cuando esta leyendo el bit de busy
De ambos problemas, el mayor es el segundo, porque una vez que ocurre el micro debe resetearse.
Si tu placa no tiene soldado el display directamente, seguramente llevas un cable plano hasta el display, en ese caso deberas envolver el cable con papel aluminio u otro, apantallandolo, o comprar cable apantallado plano o buscar una opcion similar.
En el pcb, deberas hacer que tus hilos de datos y señales esten lo mas aislados posibles de los que manejan cargas y ademas sean lo mas cortos posibles tambien.