0% encontró este documento útil (0 votos)
148 vistas4 páginas

Informe Lab I Microprocesadores

Este documento describe dos métodos para visualizar un mensaje en un display LCD 16x2 usando un microcontrolador ATmega2560. El primer método usa los puertos paralelos del microcontrolador para comunicarse con el LCD, mientras que el segundo método accede al LCD como una memoria de datos externa. Se explican los pasos para inicializar y configurar el LCD, incluyendo las funciones necesarias y los comandos hexadecimales requeridos. Finalmente, se detalla el código implementado para mostrar el mensaje "Sáquenme de aquí" usando el primer método desc
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
148 vistas4 páginas

Informe Lab I Microprocesadores

Este documento describe dos métodos para visualizar un mensaje en un display LCD 16x2 usando un microcontrolador ATmega2560. El primer método usa los puertos paralelos del microcontrolador para comunicarse con el LCD, mientras que el segundo método accede al LCD como una memoria de datos externa. Se explican los pasos para inicializar y configurar el LCD, incluyendo las funciones necesarias y los comandos hexadecimales requeridos. Finalmente, se detalla el código implementado para mostrar el mensaje "Sáquenme de aquí" usando el primer método desc
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

1

Práctica de Laboratorio I: Control de un LCD


mediante un Microcontrolador ATmega2560
Álvaro J. Giraldo, Brayam A. Saavedra y Suanny Zuñiga

Departamento de Automática y Electrónica, Universidad Autónoma de Occidente


Cali, Colombia

alvaro_jose.giraldo@[Link]
[Link]@[Link]
[Link]@[Link]

que permite la visualización de un mensaje.

El LCD permite conectarse al bus de datos a través de 4 o 8


Abstract—This document serves as a report for the second bits. Posee pines de selección de registros (RS),
practical of the Analog Electronics course of the Universidad lectura/escritura (R/W), y habilitación (E) los cuales permiten
Autónoma de Occidente taught by Juan Esteban Palacios Duarte. controlar el modo de operación del LCD. También tiene pines
The problem presented was the construction of logic gates that
satisfied a given Boolean equation, with the use of Transistor- destinados a la alimentación, la tierra y el contraste del
Transistor-Logic (TTL). The design of the gates was taken from dispositivo; los cuales corresponden a los pines Vdd, Vss y
the datasheets provided by Texas Instruments Inc. and adjusted Vee respectivamente. En la figura 1 se observa el display LCD
to fit other criteria like the use of an LED at the output and using utilizado para el desarrollo de la práctica.
a DC source of 12 V. When comparing the theoretical truth table
to the truth table of the implemented circuit, all of the logic states
coincided. However, for a logic level of 1, there was an absolute
difference of 80 mV between the simulated voltage and the
measured voltage and for a logic level of 0 there was an absolute
difference of 12 mV between the simulated voltage and the
measured voltage.

Index Terms—Analog electronics, logic gates, TTL logic,


transistors.

I. INTRODUCCIÓN

P ARA la elaboración de este laboratorio se planteó el


desarrollo de una aplicación en el lenguaje Assembler que
visualice un mensaje en un display LCD 16x2, con el fin de
Figura 1. Display LCD 16x2.

Para la inicialización del display se tienen en cuenta 3


implementarlo mediante un microcontrolador ATmega2560. funciones importantes. La primera función es el function set,
el cual indica tres aspectos: El tamaño del bus de datos, el
Para la solución del problema se plantearon dos soluciones: La
número de líneas que se van a utilizar y los puntos del display
primera consiste en realizar la comunicación del LCD y el
que van a ser usados.
microcontrolador a través de los puertos paralelos del
microcontrolador. Mientras que la segunda solución consiste
en acceder al LCD como un dispositivo de memoria de datos
externa, a través de los buses de datos, direcciones y control.
Para el desarrollo de cada una de estas soluciones es necesario Primeramente se necesita que RS y RW se encuentren en bajo.
conocer cómo se configura el LCD y el conjunto de comandos DL indica el tamaño del bus de datos que se desea utilizar,
colocando un 1 para 8 bits y un 0 para 4 bits. N indica el
número de líneas que se van a utilizar; para una línea se coloca

Este informe fue entregado el 22 de marzo del 2018 al profesor Diego
un 0 mientras que para 2 líneas se coloca un 1. F indica el
Martínez Castro para revisión y calificación como parte del curso de número de puntos que se van a usar en cada casilla del display,
Microprocesadores en la Universidad Autónoma de Occidente, periodo 2018- donde colocando un 0 configura como matriz 5x7 y un 1
01. En esta misma fecha el proceso de diseño e implementación fue configura como matriz 5x11.
sustentado.
Los tres autores son estudiantes de la Universidad Autónoma de Occidente;
La segunda función se encarga de encender el display; para
A. Giraldo, B. Saavedra y S. Zuñiga son estudiantes de Ingeniería Biomédica. esto se setea RS para ingresar la instrucción.
Programa son del Departamento de Automática y Electrónica de la Facultad
de Ingeniería.
2

D indica si se prende la pantalla, donde 1 enciende la pantalla


mientras que 0 la apaga. Sin embargo la información
permanece en la DDRAM. C indica si visualiza el cursor, por
lo que un 1 lo muestra y un 0 lo desaparece. Por su parte B
hace que el cursor parpadee si hay un 1 y que no parpadee si
hay un 0.

La última función para la inicialización del LCD es el modo


entrada. Donde I/D indica el sentido del movimiento del
cursor, para lo cual se coloca un 1 para que el cursor se mueva II. DESARROLLO
a la derecha y se coloca un 0 para que se mueva a la izquierda.
Y SH habilita el corrimiento de la pantalla si hay un 1 y se A. Comunicación a través de los Puertos Paralelos del
deshabilita si hay un 0. Microcontrolador
En la figura 2 se muestra la conexión entre el LCD y el
microcontrolador para realizar la comunicación entre los
dispositivos mediante los puertos paralelos del
microcontrolador. Para esto se conectó el bus de datos del
LCD al puerto A del microcontrolador; mientras que los pines
de control del display RS, R/W y E se conectaron a los pines
PB2, PB1, y PB0 respectivamente. A continuación se describe
el código para la implementación de la primera solución al
problema.
3

Para el siguiente paso se preparó el display para visualizar


los datos. Para esto se realiza una acción de borrado con el fin
de asegurar que no tenga almacenado un dato previo y se fijó
el cursor en la posición 04 de la DDRAM del LCD, para que
al momento de visualizar el mensaje en la primera línea este
aparezca centrado. Lo anterior se logró cargando al LCD los
comandos 01H y 84H; los cuales realizan el borrado y fijan la
posición del cursor respectivamente.

Luego se cargaron los caracteres que forman el mensaje que


Figura 2. Conexión LCD-Microcontrolador se va visualizar. En este caso se quiso mostrar el mensaje
“Sáquenme de aquí”. La palabra “Sáquenme” se fijó en la
El primer pasos consistió en configurar tanto el puerto A primera línea del display, mientras que el resto se puso en la
como los tres primeros bits del puerto B en modo de salida. segunda línea. Para la visualización de los caracteres de la
Para lo cual se cargó en cada puerto, a través del registro R16, primera palabra se cargaron los comandos 53H, 41H, 51H,
el número hexadecimal correspondiente a los bits que se van a 55H, 45H, 4EH, 4DH y 45H, los cuales corresponden a las
habilitar. letras “S”, “A”, “Q”, “U”, “E”, “N”, “M” y “E”
respectivamente.

Posteriormente se realizó la inicialización del LCD. Como


primer paso se configuró el display en modo de 8 bits, 2 líneas
y matriz de 5x7; cargando al bus de datos del display el
comando 38H. Seguidamente se pasó a encender el display
cargando el comando 0CH, y se le configuró en modo de El resto del mensaje se visualizó en la segunda línea del
entrada, cargándole el dato 06H. display en la posición 44 de la DDRAM; lo cual se logró
mediante el comando C4H. Una vez realizado el cambio de
línea se cargó el resto del mensaje con los comandos 44H,
45H, 20H, 41H, 51H, 55H, 49H, y 21H, los cuales
corresponden a los caracteres “D”, “E”, espacio, “A”, “Q”,
“U”, y “I”.
4

Finalmente se ejecuta la subrutina “NADA”; en la cual se


realizó un ciclo infinito para que no se ejecuten más
instrucciones en el microcontrolador que puedan alterar el
contenido del LCD.

Como se puede observar en cada una de las operaciones que


se realiza sobre el display, se hizo el llamado a la subrutina
“BUSY”. El objetivo de esta subrutina es la de leer la bandera
de ocupado del display con el fin de verificar cuando el
dispositivo ha terminado de realizar una operación que se le
haya ingresado. Para esto se cambia la configuración del
puerto A del microcontrolador como entrada, se lee el
contenido del bus de datos del display, se almacena en R16 y
se compara con R17. Si el contenido de R16 y R17 son
iguales; significa que el display aún está ocupado y por lo
tanto se vuelve a la etiqueta “AGAIN” mediante el salto
BREQ. Cuando la bandera de ocupado cambie, R16 y R17
serán diferentes por lo que se ejecutara el resto de la subrutina
en donde se restablece la configuración del puerto A como
salida.

III. RESULTADOS Y ANÁLISIS


A. Resultados Obtenidos
.

IV. CONCLUSIONES

REFERENCIAS

También podría gustarte