¿Cómo funciona la pantalla LCD HD44780 en el nivel bajo?

No estoy pidiendo un controlador específicamente, sino cómo funciona exactamente.

Busqué las 2 fichas que había en él. HD44780A00 y HD66100F para ser exactos. ¿Supongo que uno es un controlador de pantalla? ¿Y el otro es un controlador de segmento?

Supongo que estoy buscando aprender cómo, en los términos más básicos, por ejemplo, se coloca un píxel o un carácter en la pantalla.

Sé cómo usarlo con bibliotecas y tal. Eso es simple (simplemente siga las instrucciones). Pero quiero entender lo que está pasando.

Miré el conjunto de instrucciones aquí . ¿Pero es solo para HD44780A00 o HD661001F? Supongo que estoy confundido sobre qué es este conjunto de instrucciones o para qué sirve. Supongo que lo que pregunto es: cuál es exactamente el proceso para enviar un solo píxel y cómo funciona exactamente.

Puede ser demasiado complicado y si lo es, está bien. Sólo estoy tratando de averiguar cómo funciona en el nivel bajo.

Respuestas (3)

El HD44780 es un controlador LCD de caracteres , lo que significa que escribe códigos ASCII en la pantalla LCD para el texto que desea mostrar. Si desea controlar los píxeles individualmente, debe optar por una pantalla LCD gráfica .

Sin embargo, el HD44780 ofrece la posibilidad de mostrar algunos gráficos limitados basados ​​en texto; puede definir 8 caracteres personalizados , pero a 5 x 7 píxeles por gráfico que no le permitirán mostrar nada parecido a una imagen.

El HD66100F es un controlador LCD de 80 segmentos para, por ejemplo, una pantalla de 10 dígitos y 7 segmentos.

LCD es básicamente un tipo de pantalla que muestra píxeles. HD66100F como se dijo es un controlador de 80 segmentos. En un plazo muy corto, HD44780 convierte la información de su código ASCII en "Qué" y "Dónde". Esta información luego se pasa a HD66100F y decide "Cómo" mostrar eso.

Un controlador LCD de caracteres típico está diseñado para controlar una pantalla LCD de hasta 40 caracteres de ancho y dos filas de alto (una matriz de 200x16 puntos). Sin embargo, cablear un controlador de este tipo directamente al cristal LCD requeriría que tuviera 216 pines conectados al cristal además de los pines necesarios para la alimentación, la conexión del procesador, etc. Tener tantos pines en un solo paquete IC puede ser un poco complicado. . En consecuencia, lo que comúnmente se hace es hacer que el controlador de matriz opere los cables de 16 filas y los primeros 40 cables de columna y, para pantallas más grandes, hacer que suministre datos secuencialmente a chips controladores de segmento adicionales, cada uno de los cuales agregará otro 40 (o quizás 80) cables de columna.

Es interesante notar que 16x1 es un tamaño de pantalla muy común, y las pantallas de 16x1 a menudo se conectan como una pantalla de 8x2, pero con la fila inferior colocada físicamente en el lado derecho (permitiendo así el uso del chip controlador sin ningún controlador adicional). ). Las pantallas de cuatro líneas de hasta 20 caracteres de ancho están conectadas como pantallas de dos líneas con el lado derecho apilado debajo del lado izquierdo. Las pantallas de cuatro líneas con 24-40 caracteres por fila generalmente se conectan como dos pantallas independientes de dos líneas apiladas verticalmente.

Ok, entonces si está haciendo las filas/columnas... ¿cómo le gusta 'elegir' qué píxel dentro de cada fila/columna?
La matriz a menudo se organiza de manera diferente, por lo que necesita muchos menos pines, como 100 x 16 x 2 (100 + 32 pines) o 50 x 16 x 4 (50 + 64 pines, que es lo más bajo que puede llegar).
@stevenvh: Todos los controladores de pantalla que he visto que imitaban al HD44780 tenían exactamente 16 filas de cables, y supongo que tales pantallas constituyen más del 99 % del mercado de pantallas de solo texto. Si bien se podría reducir la cantidad de controladores de columna necesarios para una pantalla de 20x4 usando multiplexación 32:1 o incluso 50:1 o 64:1, tendría que usar algo que no sea una pantalla basada en 44780 para hacerlo, ya que ese chip no tiene facilidad para multiplexar más allá de 16:1.
@Sauron: la intensidad de cada píxel es una función del promedio del cuadrado del voltaje entre la fila y la columna, con el requisito de que el voltaje de CC promedio en cada píxel debe ser aproximadamente cero (lo que significa que los voltajes positivo y negativo deben promediar afuera). Para una pantalla 4:1, esto se hace mejor conduciendo las filas una a la vez hacia un riel, mientras que las filas inactivas se conducen 1/3 del camino hacia el otro riel. Las columnas que deberían estar activas en esa fila se conducen completamente al otro riel, mientras que las inactivas se conducen 2/3 del camino. Los rieles cambian de polaridad en cada fotograma...
...para evitar cualquier voltaje de CC promedio. Conduciendo las cosas de esta manera, los segmentos activos en la fila activa reciben voltaje completo y, por lo tanto, activación completa, mientras que los segmentos inactivos en la fila activa reciben 1/3 de voltaje y, por lo tanto, 1/9 de activación. Los segmentos en la fila inactiva pueden tener un voltaje de +1/3 o -1/3 dependiendo de si están energizados en la fila activa, pero en cualquier caso estarán 1/9 activados. Dado que cada segmento estará en la fila activa 1/4 del tiempo y en una fila inactiva 3/4 del tiempo,...
Pero el HD44780 tiene solo 80 pines, no 216. La hoja de datos dice 16 segmentos comunes x 40. Entonces tampoco hace 16 x 200.
...los segmentos activos recibirán 9/9 activación 1/4 del tiempo y 1/9 activación los otros 3/4, para un total de 12/36 (1/3). Los segmentos inactivos recibirán 1/9 de activación de forma continua. El cuadrado medio de la tensión de activación es así tres veces mayor para los segmentos activos que para los inactivos. En pantallas con más de cuatro filas, el nivel óptimo de activación para filas inactivas disminuye; dado que el voltaje en las columnas inactivas para las filas activas es el voltaje total menos el doble del voltaje de la fila inactiva, ese voltaje aumentará.
@stevenvh: Como dije en mi respuesta, el HD44780 está diseñado para alimentar datos a chips de controladores externos para controlar hasta 160 columnas adicionales (cables de segmento); no está diseñado para controlar filas adicionales (cables comunes).