Ilustrados comunidad mundial educativa
Inicio | Escribenos
User: Pass: Recordar ó (Registrate!)

| !Publicar Articulo¡

Programación de las pantallas de cristal líquido (LCD)

Resumen: Actualmente podemos encontrar pantallas de cristal líquido por precios bastante asequibles, y que con un poco de imaginación nos permiten hacer muchas cosas. Además son de manejo bastante sencillo, ya que presentan un bus de datos y un mini-bus de control, y lo que hay que hacer es simplemente mandarle comandos.(V)
1,078 visitas
Rating: 0
Tell a Friend
Autor: College Park

Indice 

Introducción. 
Controlador Hitachi HD44780. 
Estructura interna del controlador. 
Comandos de control. 
Inicialización. 
Programa de ejemplo.

Introducción

Actualmente podemos encontrar pantallas de cristal líquido por precios bastante asequibles, y que con un poco de imaginación nos permiten hacer muchas cosas. Además son de manejo bastante sencillo, ya que presentan un bus de datos y un mini-bus de control, y lo que hay que hacer es simplemente mandarle comandos. ;-)

Los módulos que encontramos habitualmente presentan 1, 2 ò 4 filas de 16 ó 20 caracteres y, a pesar de estas variaciones, el circuito integrado que los controla es el mismo. No obstante, existen módulos que poseen otros segmentos, bien números o palabras, para funciones extra.

Desde el punto de vista del controlador, los segmentos extra aparecen dispuestos en una matriz de 5 x 7 puntos donde cada punto de la matriz se corresponde con uno de estos segmentos especiales.

Controlador Hitachi HD44780

El circuito integrado de Hitachi HD44780, o modelos compatibles, es normalmente el encargado del control del sistema. De cara al exterior encontramos un conector de 14 patillas donde se conecta la alimentación, la señal de contraste y todas las señales de control.

La función de cada patilla es la siguiente:

Patilla         Nombre  Nivel           Descripción

 1              Vss      0V              Masa
 2              Vcc      5V              Alimentación
 3              Vee      Nota            Polarización del cristal
 4              RS      lógico           Registro de selección, 1=datos, 0=instrucción
 5              R/W        "             Read/Write, 1=lee 0=escribe
 6              E          "             Habilitación
 7-14           DB0-DB7    "             Bus de datos (DB0, LSB)
Nota:

La tensión de polarización controla el contraste de la pantalla. Para las pantallas de rango normal de temperatura se utiliza una tensión entre 0 y 5V mientras que para los módulos de temperatura extendida se usará una tensión entre 0 y -7V.
Normalmente se recomienda obtener esta tensión con una resistencia variable de entre 10K y 20K conectada entre masa y la tensión adecuada.

Las funciones que podemos efectuar son las siguientes:

  • Escribir comandos
  • Escribir datos
  • Leer datos
  • Leer el estado

Estructura interna del controlador

El controlador posee una memoria RAM que aparece dividida en dos bloques diferenciados: la RAM de datos (DDRAM) y la RAM de caracteres generados (CGRAM).

La DDRAM almacena los códigos ASCII de los caracteres que queramos que aparezcan en pantalla y existe una correspondencia entre las filas de la pantalla y las posiciones consecutivas de memoria. Por otro lado, la CGRAM nos permite definir caracteres especiales que no se encuentren en la memoria ROM que dispone el microcontrolador.

La DDRAM tiene un tamaño de 128 bytes, sea cual sea el tamaño de la pantalla; cuando ésta es más pequeña podemos almacenar en ella caracteres y mostrarlos programando el modo de desplazamiento de pantalla.

Normalmente la primera fila comienza en la dirección 00h y la segunda en la 40h. La excepción es la pantalla de 1 fila por 16 caracteres, en la que la fila se divide en dos porciones de memoria cuyas direcciones van desde la 00h hasta la 07h para los 8 primeros caracteres y desde la 40h hasta la 47h para los otros 8.

La patilla R/W permite leer un registro de estado que sólo sirve para ver si el controlador ha terminado de realizar la instrucción que se le ha enviado y seguir enviando más. Sin embargo, para un control sencillo, podemos realizar pausas después de cada instrucción o envío de datos para no tener que leer el registro de estado

Comandos de control

Los comandos se envían a través del bus de datos. Para que la pantalla los reconozca hay que poner la señal RS a nivel bajo.

Borrar pantalla: 0 0 0 0 0 0 0 1

Limpia la pantalla y pone el cursor en la primera posición.
Tiempo de ejecución 1.64ms

Cursor al principio: 0 0 0 0 0 0 1 x

Coloca el cursor en la primera posición.
Tiempo de ejecución 1.64 ms

Modo de entrada: 0 0 0 0 0 1 i d

* i=1 la posición de la DDRAM se incrementa automáticamente tras cada lectura o escritura a la misma, mientras que si i=0 se configura para decrementar el puntero de DDRAM.

* d=1 la pantalla se desplaza en el sentido indicado por el bit mencionado antes (i) cuando el cursor llega al filo de la pantalla.

Encendido-apagado: 0 0 0 0 1 p c i

Selecciona el encendido de la pantalla (p=1), la visibilidad del cursor (c=1) y la intermitencia del mismo (i=1 parpadea).

Cursor/Desplazamiento: 0 0 0 1 p d x x

Selecciona si se desplaza toda la pantalla (p=1) o sólo el cursor (p=0) sin alterar el contenido de la DDRAM; el bit d selecciona el sentido de desplazamiento; será hacia la derecha si d=1.

Función: 0 0 1 l c f x x x

Selecciona el modo de transmisión, ciclo y fuente de carácter.

* Si l=1 la comunicación es con 8 bits, mientras que en el caso contrario solo se usan líneas d4-d7 del bus, mandando la parte alta y luego, la baja del dato.

* El bit c indica el número de líneas; para c=0 se usará una sóla línea, mientras que si c=0 usaremos 2.

* El bit f establece el tipo de caracteres que usaremos si f=1 los caracteres serán de 5 x 11 puntos, mientras que si f=0 configuramos el controlador para usar caracteres de 5 x 7 puntos.

Dirección en la DDRAM: 1 d d d d d d d

Esta instrucción se utiliza para modificar el puntero a la DDRAM.

Si la dirección es la 00h escribiremos en la primera línea, y la segunda línea empieza en 40h. (Ojo : el display de 1x16 se divide en dos mitades: la izquierda empieza en 00h y la derecha en 40h)

Inicialización

Los controladores de Hitachi se inicializarán de manera automática si durante el encendido conseguimos que la tensión de alimentación suba desde 0'5V hasta 4'5V en un tiempo comprendido entra 0'1 y 10ms. Puesto que ésto puede ser difícil de conseguir, podemos recurrir a la inicialización por software. Consiste en enviar una serie de comandos de los descritos anteriormente y esperar un determinado tiempo.

En la inicialización se configura también si la transmisión se hace con 4 o con 8 hilos.

La inicialización para configurar el modo de 4 bits (el que utilizamos) es así:

En este momento, la inicialización ha sido completa.

Notas importantes:

Los tiempos de espera son los mínimos; puede esperarse más. Esto es válido si sólo tenemos retardos de ms.

Fijémonos en que la configuración para 8 bits no usa las líneas 0-3, y por eso sirve también con 4 hilos.
Cuando hay que mandar los comandos en 4 bits se manda primero la parte alta y luego la baja

Programa de ejemplo

Como complemento a este pequeño tutorial se acompaña un programa que efectúa la programación del controlador por medio del puerto paralelo de un PC compatible. El programa está escrito en C y funciona tanto con Turbo C++ de Borland como con DJGPP (el compilador GNU). Las conexiones pertinentes se muestran dentro del fichero lcd.c.

Articulos relacionados:
El Metodo Arcon:Técnicas Conductuales
Resumen:
Técnica de bloqueo al «efecto yoyó» por control retorno, técnica de autonomía progresiva por acción del «efecto maniquí», técnica de restablecimiento inocuo por inserció...
Para que no nos parta un rayo durante la tormenta
Resumen:
Diariamente en el mundo se producen unas 44.000 tormentas y se generan más de 8.000.000 de rayos según el sistema de detección mundial de meteorología.(V)
Educación CTS desde el punto de vista de la didáctica de las ciencias. Una selección bibliográfica (2000-2002)
Resumen:
Educación. Ciencia Tecnología y Sociedad CTS.
La selección bibliográfica que se presenta es una actualización, para el período 2000-2002, de otra anterior publicada en...
Política Científica y Tecnológica Una visión desde América Latina
Resumen:
La ciencia en la agenda internacional. La importancia que se concede a las políticas para la ciencia, la tecnología y la innovación es creciente en los países industriali...
Recuperación de valores metálicos por vía biohidrometalurgica
Resumen:
En tiempos actuales, dentro de la metalurgia extractiva se da especial interés en el uso de nuevas tecnologías para la recuperación de los valores presentes en los minera...
Copyright © 2011 ilustrados.com, Monografias, tesis, bibliografias, educacion. Tofos los temas y publicaciones son propiedad de sus respectivos autores ©