Ejercicios 06 subrutinas con LCD

8
SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 1 Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información EJERCICIO DE UTILIZACIÓN DE SUBRUTINAS PARA DISPLAYS DE CRISTAL LÍQUIDO (LCD) ENUNCIADO DEL EJERCICIO: Adecuar el programa de la transformación de millas a metros para mostrar el resultado en un LCD de 80 caracteres, que tiene el formato de 4 líneas con 20 caracteres cada una. El valor de las millas también debe ser ingresado mediante un teclado telefónico. FUNCIONAMIENTO DE LOS DISPLAYS DE CRISTAL LÍQUIDO Los LCD tienen en su estructura un controlador con los demás circuitos que permiten mostrar en matrices de puntos: caracteres alfanuméricos, símbolos de puntuación y caracteres japoneses; pudiendo el usuario crear hasta 8 símbolos propios.

description

Transformación de millas a metros

Transcript of Ejercicios 06 subrutinas con LCD

Page 1: Ejercicios 06 subrutinas con LCD

SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 1

Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información

EJERCICIO DE UTILIZACIÓN DE SUBRUTINAS PARA DISPLAYS DE CRISTAL LÍQUIDO (LCD)

ENUNCIADO DEL EJERCICIO:

Adecuar el programa de la transformación de millas a metros para mostrar el resultado

en un LCD de 80 caracteres, que tiene el formato de 4 líneas con 20 caracteres cada una.

El valor de las millas también debe ser ingresado mediante un teclado telefónico.

FUNCIONAMIENTO DE LOS DISPLAYS DE CRISTAL LÍQUIDO

Los LCD tienen en su estructura un controlador con los demás circuitos que permiten

mostrar en matrices de puntos: caracteres alfanuméricos, símbolos de puntuación y

caracteres japoneses; pudiendo el usuario crear hasta 8 símbolos propios.

Page 2: Ejercicios 06 subrutinas con LCD

SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 2

Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información

La transferencia de la información desde un sistema microprocesado hacia la RAM de

Datos del LCD (DDRAM), que tiene una capacidad de 80 bytes, se realiza utilizando

buses de 8 bits o de 4 bits, que define el usuario al inicio del funcionamiento.

Por la capacidad de almacenamiento que tiene la DDRAM se pueden transferir al

controlador los códigos de hasta 80 caracteres, pero en el LCD se muestran solo los que

permite el formato:

• 16 caracteres en una línea (formato de 16x1)

• 32 caracteres en dos líneas (formato de 16x2)

• 64 caracteres en cuatro líneas (formato de 16x4)

• 40 caracteres en dos líneas (formato de 20x2)

• 80 caracteres en cuatro líneas (formato de 20x4)

• 80 caracteres en dos líneas (formato de 40x2)

Page 3: Ejercicios 06 subrutinas con LCD

SISTEMAS MICROPROCESADOS:

Ing. Jaime E. Velarde – Departamento de de Información

Las direcciones de la DDRAM

varían de acuerdo al formato:

Los terminales de conexión del LCD, incluyendo los

luz posterior o backlight, son

SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal LíquidoPágina 3

Departamento de Electrónica, Telecomunicaciones y Redes

e la DDRAM que utiliza para almacenar los códigos

de acuerdo al formato:

Para displays de una línea

Para displays de dos líneas

Para displays de cuatro líneas

Los terminales de conexión del LCD, incluyendo los dos que posee para

on:

Bus de

Datos

Polarización

Líneas de

Control

Backlight

Contraste

Subrutinas para Displays de Cristal Líquido

Electrónica, Telecomunicaciones y Redes

lmacenar los códigos son de 7 bits y

para alimentar a la

Bus de

Datos

Polarización

Líneas de

Control

Backlight

Contraste

Para el Bus

de 4 Bits

Page 4: Ejercicios 06 subrutinas con LCD

SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 4

Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información

Los Comando o Instrucciones para controlar al LCD son:

Al conectar el LCD a un microcontrolador ATmega164P se puede realizar en las dos

alternativas:

• Con bus de 8 bits donde se necesitan 11 líneas, por ejemplo las 8 líneas del

Pórtico C para el bus y 3 líneas del Pórtico D para control.

• Mientras que, con un bus de 4 bits solo se necesitan 7 líneas; se puede utilizar el

Pórtico C tanto para el bus como para control, quedando una línea libre.

Page 5: Ejercicios 06 subrutinas con LCD

SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 5

Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información

Para la escritura de un comando en el LCD y la correspondiente confirmación con un

bus de 8 bits, la secuencia de las señales de control y del bus es:

En cambio, con un bus de 4 bits es:

Para la escritura de un dato en el LCD la secuencias de las señales solo cambia RS = 0;

pero la confirmación sigue igual, porque son comandos de lectura de la Bandera de

Ocupado (BUSY FLAG).

Bus de 4 Bus de 8

Page 6: Ejercicios 06 subrutinas con LCD

SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 6

Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información

Secuencia de comandos para que el funcionamiento del LCD sea con bus de 8 bits.

Secuencia de comandos para que el funcionamiento del LCD sea con bus de 4 bits.

Page 7: Ejercicios 06 subrutinas con LCD

SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 7

Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información

ANÁLISIS DE LA SOLUCIÓN:

El uso del LCD permite a los microcontroladores presentar los resultados de forma más

amigable al usuario, ya no son solamente dígitos los que se pueden mostrar, sino que se

pueden ver: letras, signos de puntuación, algunas letras griegas y hasta símbolos

definidos por el usuario. Además libera al microcontrolador de realizar el refresco como

lo hace cuando se utilizan displays de LEDs de 7 segmentos. Con estas premisas el

programa debe contemplar las siguientes tareas:

• Inicialización del LCD para trabajar con bus de 8 bits.

• Escribir en el LCD el texto de un mensaje informativo que especifique lo que

realiza el programa, incluyendo espacios donde se muestre el dato de entrada y

el resultado.

• Ingreso de hasta tres dígitos para el dato de entrada mediante el teclado, en el

espacio de la pantalla que se reservó.

• Calcular el resultado a base del dato ingresado.

• Escribir el resultado, en el espacio de la pantalla que se reservó.

• Esperar por cualquier tecla, que permite regresar a la etapa donde se escribe todo

el texto en la pantalla.

Las ventajas al usar LCD, son mejor aprovechadas si se desarrolla la solución mediante

un programa principal y subrutinas; en especial las necesarias para manejar el display y

el teclado que se acoplan al microcontrolador. Estas últimas se codifican dentro un

archivo secundario que se incluye al final del programa principal y que se denomina

“SUB8B80CH.ASM”; de tal forma de poder utilizarlas en la solución de otros

problemas.

Page 8: Ejercicios 06 subrutinas con LCD

SISTEMAS MICROPROCESADOS: Subrutinas para Displays de Cristal Líquido Página 8

Ing. Jaime E. Velarde – Departamento de Electrónica, Telecomunicaciones y Redes de Información

SUBRUTINAS PARA EL LCD DE 80 CARACTERES CON UN BUS DE 8 BITS

ETIQUETA DESCRIPCIÓN

LCDRST Configura el funcionamiento del LCD para que trabaje con un bus de 8

bits y muestre el curso que se desplaza hacia la derecha

WRTCMD Escribe un comando contenido en el registro AUX1

ONCUR Enciende el cursor

OFFCUR Apaga el cursor

TITCHR Parpadea el caracter y no se muestra el cursor

TITCUR Parpadea el caracter y se muestra el cursor

POSCUR Mueve el cursor a la posición indicada en el registro AUX1

WRTDIG Escribe el dígito hexadecimal contenido en el registro AUX1, el cursor

avanza una posición

WRTBYT Escribe los dígitos hexadecimales contenidos en el registro AUX1, el

cursor avanza dos posiciones

WRTCHR Escribe un caracter contenido en el registro AUX1, el cursor avanza una

posición

WRTLIN Escribe en una línea 20 caracteres contenidos en la tabla apuntada por el

Puntero Z, el cursor queda al inicio de la siguiente línea

WRTMSJ Escribe las cuatro líneas con los 80 caracteres contenidos en la tabla

apuntada por el Puntero Z, el cursor queda al inicio del display

WRTNUM Escribe el número hexadecimal, de hasta 10 dígitos, contenido en

BUFFER a partir de la posición indicada por el valor del registro AUX1.

Sin mostrar los ceros de la izquierda

INPUT Ingreso de un número decimal de hasta 10 dígitos que se muestran desde

la posición asignada en el registro AUX1 y el número máximo de dígitos

se establece en el registro AUX2. La tecla asignada como S_CLR borra

el último dígito ingresado y la tecla S_IGUAL termina la subrutina. Los

dígitos ingresados se encuentran en las localidades superiores del

BUFFER

TECLAS Decodificación de un teclado de 4x4 teclas, existen dos posibilidades de

asignación de las teclas mediante TBLKB

UNSEG Deja pasar un segundo antes de continuar