Compré unos cuantos LCD de 16 caracteres por 4 líneas de eBay que son compatibles con HD44780 y hoy los estaba probando.
El anuncio de la LCD está en: enlace
Varias fuentes (incluido enlace ) me dicen que:
Para mostrar los caracteres en la primera línea, envíe el comando 0x80 Para visualizar los caracteres en la 2da línea envíe el comando 0xC0 Para visualizar los caracteres en la 3ra línea envíe el comando 0x94 Para mostrar los caracteres en la cuarta línea, envíe el comando 0xD4
Utilicé estos códigos para especificar el comienzo de la línea. Las dos primeras líneas de la pantalla son correctas, pero las dos últimas siempre están sangradas en 4 espacios (con el último conjunto de caracteres faltantes) sin importar lo que muestre en la pantalla.
Por ejemplo, si quisiera mostrar "0123456789ABCDEF" en la primera o segunda línea, todo encajará y se mostrará. Sin embargo, si lo probara en la tercera o cuarta línea, vería "0123456789AB".
Al examinar la placa de circuito del módulo LCD, las únicas etiquetas que veo son las definiciones de pines en cada lado y en la parte posterior, veo una etiqueta grande "1604A".
Tengo la tentación de probar 0x90 para la tercera línea y 0xD0 para la cuarta línea, pero antes de hacerlo, ¿hay alguna forma de saber, independientemente de la pantalla que uso, qué direcciones representan el inicio de cada línea?