¿Qué lenguaje C estás usando?
Esta pregunta me delata, pero los lenguajes de alto nivel son parecidos a la hora de trabajar.
En otros lenguajes no se hace tantas cosas para trabajar con un LCD y estoy sospechando que no sabes usar las librerías.
Para adelantar, normalmente, se parte de un código. Se inicializan las cosas, luego se va al main o al bucle infinito y se comienza enviar datos; la espera de datos, procesar datos, ect.
A la hora de inicializar el LCD, se incluye la librería, se configura la librería con una función dedicada a ello y luego se le envía los datos.
Por ejemplo. Para configurar la librería, dicha librería tiene una función de configuración; donde se le indica en qué puerto está conectado el LCD, si los datos se envían por los 8 bit o en 4 bit, y algunas cosillas más. Luego, se inicializa el LCD para luego enviarle los datos.