¿Cómo controla un microcontrolador un LCD?

1

No soy un profesional, así que busco una respuesta simple a esta pregunta.

Si desea encender un LED con un microcontrolador, debe asignar un pin en el microcontrolador al LED. Cuando el microcontrolador establece el voltaje del pin en alto, entonces el LED se enciende.

Supongo que las pantallas deberían funcionar con el mismo principio, ya que tienen algún tipo de LED para cada píxel. El problema es que si se hizo de la misma manera que encendemos un LED, para una pequeña pantalla de 320x240 necesitamos 76800 pines del microcontrolador . Parece que los procedimientos deberían ser diferentes de alguna manera. Entonces, ¿cómo un IC simple en una pantalla LCD le dice a cada píxel que se encienda ?!

Para evitar confusiones, debo señalar que al mencionar el microcontrolador anterior, me refiero al chip en el módulo LCD en sí.

    
pregunta Sepehr.e

4 respuestas

6

En algún nivel, una pantalla de 320x240 generalmente tiene 320 controladores de fila y 240 controladores de columna. Estos controladores casi siempre son proporcionados por chips integrados en las pantallas (a menudo en PCB flex alrededor de dos bordes de la pantalla) ya sea con una interfaz en serie que suministra los datos para un píxel a la vez, o un controlador inteligente con RAM para almacenar el contenido. de la pantalla.

La interfaz real con un microcontrolador varía desde 2 pines para i2c, 3-4 pines para SPI, 6-13 pines para una interfaz paralela de alto nivel hasta 30 pines para una interfaz paralela píxel por píxel.

Las pantallas OLED son básicamente las mismas, aunque la interfaz entre los chips del controlador y la pantalla es diferente (aunque se requiere la misma cantidad de controladores).

    
respondido por el Dean Franks
2

Las pantallas LCD tienen una gran cantidad de píxeles, tal como lo adivinaste correctamente. Pero cada píxel no está directamente controlado por el pin del microcontrolador, ya que no es práctico lo que adivinaste correctamente.

Ahora, para que el diseño sea práctico, la tarea de controlar los píxeles de la pantalla LCD utilizando el microcontrolador se divide en dos pasos.

Para el primer paso, hay un microcontrolador de propósito especial, que controla cada píxel de la pantalla LCD y se ocupa de las frecuencias de actualización y los relojes, la matriz de píxeles, la asignación de direcciones y todas las cosas complejas necesarias para manejar la pantalla LCD correctamente.

Mientras que el segundo paso es que el microcontrolador de propósito especial tiene la capacidad de tomar comandos e información de nuestro microcontrolador de propósito general. Por lo tanto, nuestra tarea es enviar el comando y la información que se mostrará en la pantalla LCD a mcu de propósito especial siguiendo el protocolo predefinido de mcu de propósito especial. Por lo tanto, ahora el dolor de cabeza de conducir cada píxel se ha reducido del propósito general mcu.

Principalmente, este propósito especial mcu ya reside dentro de la pantalla LCD mientras se está fabricando.

Espero que esto ayude.

    
respondido por el Vishal P
2

Cualquiera que sea el microcontrolador especial que controla la intensidad de píxeles dentro de la pantalla lcd, controla solo un píxel a la vez. Y actualiza cada píxel tan rápido horizontalmente (hasta 320 píxeles), línea por línea (hasta 240 líneas). Todo el cuadro se actualiza a una frecuencia de actualización típica de 60 Hz. Esto sucede tan rápido que la persistencia de nuestra visión (1/16 segundos o 16 Hz) nos da la idea de que cada píxel está controlado por el microcontrolador en un solo momento.

Respecto a la dirección de los píxeles: para decodificar las direcciones de 320 filas y 240 columnas, solo necesita 9 pines y 8 pines respectivamente.

    
respondido por el MITU RAJ
0

Hay tres tipos generales de LCD: los que tienen vidrio desnudo, los que tienen un controlador incorporado y los que tienen un controlador incorporado. Si no tiene demasiados segmentos, se puede conducir bien una pantalla LCD con vidrio desnudo utilizando pines de microprocesador de nivel lógico. Una pantalla no multiplexada ("estática") con N segmentos requerirá N + 1 pines. Una pantalla multiplexada 3: 1 con segmentos 3N requerirá N + 3 pines. Para obtener un buen contraste con más de 3: 1 múltiplex se requerirá algo más que pines de nivel lógico. Conducir una pantalla estática requerirá cambiar el estado de todos los pines aproximadamente 30-100 veces / segundo, excepto cuando la pantalla esté totalmente apagada. Conducir una pantalla multiplex requerirá cambiar el estado de los pines aproximadamente 160 veces por segundo (las frecuencias más bajas comenzarán a parpadear).

Un controlador LCD incluirá lógica para conectar una pantalla a una pequeña cantidad de pines, pero generalmente requerirá que algo alimente continuamente el estado de todos los segmentos. Un panel LCD de 320x240 que utilicé hace algunos años tenía cuatro pines de datos, un reloj de puntos, un reloj de fila y un reloj de marco. Alrededor de 30,000 veces / segundo es necesario alimentar 80 grupos de cuatro píxeles y luego golpear el reloj de la fila. El tiempo de los píxeles dentro de cada línea no importa, siempre que todos los 80 grupos se carguen antes de que llegue el reloj de la fila, pero las filas deben alcanzarse a una velocidad constante. Es necesario golpear el flash estroboscópico a una velocidad constante que debería ser aproximadamente una vez cada 240 filas, pero podría ser un poco más lento (en mi proyecto, creo que usé 250 filas para dar tiempo a que mi firmware recargue los registros DMA para el siguiente cuadro).

Un controlador LCD incluirá suficiente RAM interna para mantener todos los segmentos o píxeles en la pantalla y mostrarlos continuamente sin intervención externa. Es más fácil trabajar con los controladores que con los controladores, pero si un microcontrolador es lo suficientemente rápido para trabajar con un controlador LCD, a menudo podrá realizar actualizaciones de pantalla más rápidas de lo que sería posible usar un controlador. Un controlador de gráficos típico esperará que una CPU envíe un comando que signifique algo como "prepárate para aceptar píxeles en la coordenada 143,219, contando en la dirección Y en aumento hasta 150, y luego ajustando con coordenadas X en aumento", y luego sigue ese comando con una manojo adecuado de datos de píxeles. Los chips de gráficos RGB comunes pueden conectarse a través de una interfaz serial de cuatro hilos, pero requerirán el envío de dieciséis bits de datos para cada píxel. Incluso un microprocesador lento de la década de 1970 no tendría problemas para mostrar gráficos usando el típico LCD con controlador integrado, pero cargar una pantalla completa de gráficos tomaría un tiempo.

    
respondido por el supercat

Lea otras preguntas en las etiquetas