Diferencia entre revisiones de «ST7920»

De Proyectos
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Línea 22: Línea 22:
== CGRAM ==
== CGRAM ==
Esta es la RAM que nos permite crear caracteres personalizados, pero debido a que este lcd es un GLCD lo encuentro poco útil. En la sección de [[ST7920#Modo_Gr.C3.A1fico_.28GLCD.29|Modo Gráfico (GLCD)]] hay funciones mucho más interesantes.
Esta es la RAM que nos permite crear caracteres personalizados, pero debido a que este lcd es un GLCD lo encuentro poco útil. En la sección de [[ST7920#Modo_Gr.C3.A1fico_.28GLCD.29|Modo Gráfico (GLCD)]] hay funciones mucho más interesantes.


= Descripción Pines =
= Descripción Pines =
Línea 29: Línea 30:
*VSS: GND
*VSS: GND
*VDD: +5V
*VDD: +5V


== SPI ==
== SPI ==
Línea 42: Línea 42:
*E: Es el pin utilizado para indicar el paso de datos del microcontrolador al st7920. Se ve mejor su utilidad en la sección [[ST7920#Como funciona la comunicación paralela 8bits|Como funciona la comunicación paralela 8bits]]
*E: Es el pin utilizado para indicar el paso de datos del microcontrolador al st7920. Se ve mejor su utilidad en la sección [[ST7920#Como funciona la comunicación paralela 8bits|Como funciona la comunicación paralela 8bits]]
*D0-D7: Son los pines de datos.
*D0-D7: Son los pines de datos.


= Funciones Básicas =
= Funciones Básicas =
= Funciones Extendidas =
= Funciones Extendidas =
= Como funciona la comunicación Serial (SPI) =
= Como funciona la comunicación Serial (SPI) =
= Como funciona la comunicación paralela 8bits =
= Como funciona la comunicación paralela 8bits =
(explicar que la de 4 bits tiene errores)
(explicar que la de 4 bits tiene errores)
= Inicialización por software =
= Inicialización por software =
== Modo paralelo 8 bits ==
== Modo paralelo 8 bits ==
== Modo serie (SPI) ==
== Modo serie (SPI) ==
= Modo Gráfico (GLCD) =
= Modo Gráfico (GLCD) =


= Fuentes personalizadas =
= Fuentes personalizadas =
= [[Código D Crocker (DC42)]] =
= [[Código D Crocker (DC42)]] =
= Documentación =
= Documentación =
[http://www.crystalfontz.com/controllers/ST7920.pdf Datasheet ST7920 Cytronix]
[http://www.crystalfontz.com/controllers/ST7920.pdf Datasheet ST7920 Cytronix]

Revisión del 23:24 26 mar 2013

Características

Address Counter (AC)

La AC es una dirección que sirve para poder acceder a la DDRAM, CGRAM y GDRAM

CGROM

Esta CGROM tiene la particularidad que tiene caracteres chinos de 16x16 puntos. Según el manual tiene 8192 caracteres.

HCGROM

La HCGROM contiene 128 caracteres alfanumericos de 8x16 puntos. Lo que quiere decir que son los caracteres que representan nuestro abecedario. Cada caracter de estos ocupa la mitad que los de la CGROM y necesitas escribir dos caracteres de la HCGROM para completar una dirección AC.


Explicación gráfica:


DDRAM

Hay 64x2bytes de espacios para la DDRAM. Son 4 lienas para 16 caracteres de 16x16 puntos o 32 caracteres de 8x16 puntos.
La explicación de que es la DDRAM ya se puede leer en el apartado DDRAM del HD44780U


Representación gráfica de la disposición de la DDRAM respecto a la pantalla: Dibujo de la disposicion de la AC respecto a la pantalla

CGRAM

Esta es la RAM que nos permite crear caracteres personalizados, pero debido a que este lcd es un GLCD lo encuentro poco útil. En la sección de Modo Gráfico (GLCD) hay funciones mucho más interesantes.


Descripción Pines

  • XRESET: Es el pin de reset. Para resetear el lcd desde el hardware se hace con este pin. Tiene que pasar de LOW a HIGH para hacer el reset. Yo no lo utilizo.
  • PSB: Es un pin para seleccionar si usamos la comunicación serie o paralela. LOW es serie y HIGH paralela
  • Vo: Es para el contraste (creo)
  • VSS: GND
  • VDD: +5V

SPI

En el modo serie no se puede leer de la pantalla. Solo se pueden hacer operaciones de escritura.

  • RS: es el pin SS del protocolo SPI
  • RW: es el pin MOSI del protocolo SPI
  • E: es el pin clock del protocolo SPI

Paralelo 8 bits

  • RS: Es el pin Register Select. LOW es para seleccionar las instrucciones de registro y HIGH es para seleccionar los registros de datos.
  • RW: Es el pin de lectura/escritura. LOW es para indicar escritura y HIGH para indicar lectura.
  • E: Es el pin utilizado para indicar el paso de datos del microcontrolador al st7920. Se ve mejor su utilidad en la sección Como funciona la comunicación paralela 8bits
  • D0-D7: Son los pines de datos.


Funciones Básicas

Funciones Extendidas

Como funciona la comunicación Serial (SPI)

Como funciona la comunicación paralela 8bits

(explicar que la de 4 bits tiene errores)


Inicialización por software

Modo paralelo 8 bits

Modo serie (SPI)

Modo Gráfico (GLCD)

Fuentes personalizadas

Documentación

Datasheet ST7920 Cytronix

Notas

  • Hacer una representación gráfica de la disposicion de las filas y columnas, lo del 0x80 y 0x88
    • Explicar como lo soluciona dc42
  • Explicar como soluciona dc42 el problema de que cada AC son 2 bytes y que cada byte representa 8 pixeles (cada pixel corresponde a un bit)
  • Explicar uint8_t *ptr = image + ((16 * r) + (2 * startColNum)); y también la parte (2*startColNum)
  • Explicar sendLcdData(*ptr++);
  • Creo que cada vez que si se hace esto:
setPixel(1,1);
flush();
setPixel(2,1);
flush();

Esta dibujando la pantalla entera para cada flush(), pero no lo entiendo porque la función flush() esta preparada para renderizar un AC de una fila concreto