Si bien un microprocesador de 32 o 64 bits contenido en la PC de su escritorio tendrá RAM de video asignada dentro del espacio de direcciones de la CPU, este no suele ser el caso para la mayoría de los microcontroladores de 8 bits, que es el tema de la pregunta.
Los procesadores de 8 bits generalmente no tienen más de 65K de memoria (direccionados usando un campo de dirección de 16 bits).
Los microprocesadores de 8 bits más antiguos, como el 6502 y el 6800, tenían direcciones externas y buses de datos, ya que no contenían ninguna memoria dentro del microprocesador. Por eso, las primeras computadoras como Apple // tenían un video con mapas de memoria, pero le quitaban la memoria para usarla como RAM general para los programas. A medida que aumentaban los tamaños de pantalla, el búfer de 16K (1/4 del espacio disponible de 64K) asignado a los gráficos no era lo suficientemente grande y se diseñaron esquemas bancarios complejos para acceder a toda la memoria de video. Cada fabricante tenía su propio esquema. Fue una pesadilla.
En general, los microcontroladores de 8 bits no tienen direcciones externas ni buses de datos, ya que desean permitir la mayor cantidad posible de pines para periféricos (GPIO, SPI, I2C, UART). Por lo tanto, no es factible hacer un mapeo de memoria de las pantallas usando estos chips.
Por lo tanto, la mayoría de las pantallas (OLED, TFT, LCD, etc.) utilizadas con microcontroladores están conectadas a un controlador de pantalla, que a su vez se conecta al microcontrolador a través de una interfaz en serie como SPI o I2C. Además de la interfaz en serie, estos controladores tienen un modo de datos y un modo de control controlado por una línea D / C. Para escribir un píxel o grupo de píxeles, el microcontrolador establece primero la línea D / C en el modo de comando, y luego envía un comando al controlador para configurar una posición de cursor X, Y. Luego, el microcontrolador envía un comando para preparar el controlador de pantalla para la escritura de píxeles.
Para escribir los datos de los píxeles reales, el microcontrolador ajusta la línea D / C al modo de datos y luego envía los datos para uno o más píxeles: un byte para color de 8 bits, dos bytes para 15 o 16 -bit color, y tres bytes para color de 24 bits. Después de cada píxel, el controlador de pantalla incrementa automáticamente la dirección de pantalla, por lo que cualquier píxel adicional se colocará en la posición correcta.
Hay algunos microcontroladores que tienen controladores de pantalla LCD incorporados (como el PIC24FJ64GA310) pero son, con mucho, la excepción y se usan generalmente para pantallas más pequeñas (16 caracteres por dos líneas, etc.)