Hola....!! Mira yo controlo las LCD con PIC C... Este programa tiene un driver que las controla muy facilmente. Estos drivers los puedes buscar en la carpeta driver del mismo programa. Aqui te envio como se utiliza el driver de una pantalla 2x16... Con conexión de 4 bits.
#include <16F877.h>
#include <LCD.C> // con este comando llamas al driver.
void main()
{
lcd_init(); // Antes de usar el lcd,hay que inicializarlo
lcd_gotoxy(5,1); //indica la posición del texto: Posición 5 de la línea 1.
lcd_putc("\Proteus..."); //escribo el texo
delay_ms(1000); le mando un retardo de 1seg
lcd_putc("\f"); //borrar pantalla
lcd_gotoxy(3,2); //indica la posición del texto: Posición 3 de la línea 2.
lcd_putc("Pantalla LCD");
delay_ms(1000);
La manera de conectar los pines es esta:
D0 ----- Enable
D1 ----- Rs
D2 -----Rw
D4-----D4
D5 ----D5
D6-----D6
D7 ----D7
Te deseo suerte....