You are on page 1of 6

ARQUITECTURA DE MICROCONTROLADORES 1

LABORATORIO 1: FUNCIONAMIENTO DE LA LCD


UNIVERDIDAD DISTRITAL FRANCISCO JOSE DE CALDAS
Daniel polo 20102072064
Juan Camilo Pedroza 20102072063
Andres Barrera Garcia 20092072007
Lisinjahuer Pinto Gonzalez 20132072098
Andres Almanza Rodriguez 20132072089

I. COMPONENTES DE LA LCD 2X16 RS es 0 el dato presente en el bus pertenece a un registro de


control/instrucción. Y cuando RS es 1 el dato presente en el
Una LCD es una pantalla liquida de cristal, formada bus de datos pertenece a un registro de datos o un carácter.
por un numero de pixeles que se colocan delante de una
fuente de luz. Este tipo de pantallas se utilizan pequeñas RW: Corresponde al pin de Escritura (0) o de Lectura (1). Nos
cantidades de energı́a eléctrica por lo cual están pan- permite escribir un dato en la pantalla o leer un dato desde la
tallas son compactas y livianas dando ası́ un manejo más pantalla.Con este pin vamos poder configurar la LCD manual-
útil en zonas pequeñas de trabajo que otros elementos. mente en la posición donde el pin le entre un 0 lógico y si lo
tenemos en un 1 lógico nosotros podremos enviar los códigos
Las pantallas de cristal lı́quido LCD o display LCD para ASCII y el los leerá y ası́ aparecen los caracteres en el display.
mensajes tienen la capacidad de mostrar cualquier carácter
alfanumérico, permitiendo representar la información que E: Corresponde al pin Enable o de habilitación. Si E
genera cualquier equipo electrónico de una forma fácil y (0) esto quiere decir que el LCD no está activado para
económica. La pantalla consta de una matriz de carac- recibir datos, pero si E (1) se encuentra activo y pode-
teres (normalmente de 5X7 o 5X8 puntos) distribuidos en mos escribir o leer desde el LCD.Con este pin va-
una, dos, tres o cuatro lı́neas de 16 hasta 40 caracteres mos poder dar órdenes a la LCD si le enviamos un 1
cada lı́nea. El proceso de visualización es utilizado por lógico el leerá el código que este en los pines D7 a
un microcontrolador incorporado a la pantalla, siendo el D0 y ası́ podremos dale diferentes órdenes de manejo.
Hitachi 44780 el modelo de controlador más utilizado.
Los pines de BUS de datos bidireccional comprenden los pines
D0 a D7. Para realizar la comunicación con el LCD podemos
hacerlo utilizando los 8 bits del bus de datos (D0 a D7) o
empleando los 4 bits más significativos del bus de datos (D4
a D7). La otra parte de la LCD que tenemos muy presente pero
no podemos ver a simple vista es la DDRAM y CGROM son
las dos zonas de memoria del LCD. La memoria DDRAM

(Data Display Ram): corresponde a una zona de memoria


Fig. 1. LCD 2x16
donde se almacenan los caracteres que se van a representar
en pantalla. Es decir es la memoria donde se almacenan los
caracteres a mostrar con su correspondiente posición.
Estos LCD están compuestos por partes visuales a simple
vista y otras que se encuentran por dentro de ellos, los pines
que podemos observar a simple vista son los alimentación
que están nombrados Vss (conexión a tierra o negativo de
la fuente), Vdd (conexión al positivo de a fuente), Vee (cor-
responde al pin de contraste, lo cual lo regularemos con un
potenciómetro entre 0 a 50K ohmios). También tenemos los
pines de control que son tres en nuestro caso los cuales tienen
diferentes funciones dentro de la LCD 2x16 o en general.

RS: Corresponde al pin de selección de registro de control


de datos (0) o registro de datos (1). Es decir el pin RS
funciona paralelamente a los pines del bus de datos. Cuando Fig. 2. Tabla de contenido
ARQUITECTURA DE MICROCONTROLADORES 2

La memoria CGROM es una memoria interna donde se Podemos observar en este diagrama que los pines de D0
almacena una tabla con los caracteres que podemos visualizar a D7, E y RS llevan una resistencia de 4.7k, por lo cual
en el lcd. En la imagen podemos ver un ejemplo de la tabla cada uno lleva un pulsador lo cual lo vamos a reemplazar con
con un contenido de 192 caracteres. La memoria CGRAM un diswitch de 12 posiciones al realizar l montaje tenemos
(Character Generator Ram): en ella se pueden almacenar como resultado la figura 4 con la cual vamos a realizar los
nuestros propios caracteres. experimentos propuestos.

Las caracterı́sticas generales de un módulo LCD 16x2


son las siguientes: · Consumo muy reducido, del orden de
7.5mW, Pantalla de caracteres ASCII, además de los caracteres
japoneses Kanji, caracteres griegos y sı́mbolos matemáticos.
Desplazamiento de los caracteres hacia la izquierda o a la
derecha, Memoria de 40 caracteres por lı́nea de pantalla, vi-
sualizándose 16 caracteres por lı́nea, Movimiento del cursor y
cambio de su aspecto, Permite que el usuario pueda programar
8 caracteres, Pueden ser gobernados de 2 formas principales:
o Conexión con bus de 4 bits o Conexión con bus de 8 bits

DDRAM: El módulo LCD posee una zona de memoria


RAM llamada DDRAM (Data Display RAM) donde se al-
macenan los caracteres que se van a mostrar en la pantalla.
Tiene una capacidad de 80 bytes, 40 por cada lı́nea, de los
Fig. 4. Circuito Experimental
cuales sólo 32 se pueden visualizar a la vez (16 bytes por
lı́nea). las dos direcciones más importantes de la DDRAM
son: Dirección 00h, que es el comienzo de la primera lı́nea · Ahora que tenemos el circuito experimental lo que vamos
Dirección 40h, que el comienzo de la segunda lı́nea. a realizar es la configuración de la LCD para que sepa
cómo es que la vamos a utilizar, para esto vamos a tener
que tener a mano el data chip de la LCD 2x16 el cual se
II. EXPERIMENTO 1 encuentra en los anexo. Primero que tenemos que hacer es
tener un multı́metro y medir continuidad en todas nuestras
conexiones y asegurarnos que todo esté preparado y listo para
En este primer experimento el objetivo es configurar el LCD ser energizado.
de tal manera que en podremos escribir nuestros nombres
usando los comando básicos de fábrica para esto vamos a tener Ya que tenemos todo comprobado procedemos a energizar a
que diseñar un circuito con el cual vamos a manipular la lcd y una tensión continua de 5 voltios, si todo esta e orden nuestra
sus pines anteriormente nombrados en los cuales deben lograr LCD deberá encender la primera fila lo cual no se debe notar
insertar 1 y 0 lógicos. muy bien por el contraste, por lo cual vamos a utilizar el
potenciómetro que tenemos a la entrada de V0 y lo vamos a
Por lo cual vamos a utilizar resistencias de 4.7k para que la empezar a ajustar al aumentarlo debemos notar en el display
fuente no vea un corto y sea más seguro su utilización, como como empieza a subir el color y se notaran os cuadros que
ya se sabe la Lcd no consume mucha energı́a por lo cual será componen las primera fila.
energizada a 5 voltios continuos (Dc). También utilizaremos un
potenciómetro para ajustar el contraste del pin V0. En la figura Ahora ya estamos listos para introducir los códigos de
3 podemos observar el diagrama de conexiones que vamos a activación que nos indica el data chip en la paginas 5 a 8
seguir. de los cuales no vamos a utilizarlos todos sino solo tres de
ellos que serán suficiente para lo que queremos realizar por lo
cual el primero que vamos utilizar es el código que se llama
function set. Lo mas importante es la entrada E con la cual
validaremos cada codigo, entonces al poner un codigo en la
respectivas entradas vamos a mandar un 1 logico al pin E y
asi cada vez que tengamos que introducir un secuencia de 1 y
0 logicos. La function se establece el tamaño de interface con

el bus de datos (DL) , el número de lı́neas del display (N) y


el tipo de carácter (F) como se tiene en la imagen el código
que tenemos por el fabricante es el que se puede observar en
la figura. Por lo tanto debemos saber los parámetros que nos
Fig. 3. Diagrama de conexiones indican las siglas DL, N, F.
ARQUITECTURA DE MICROCONTROLADORES 3

se desplazará según lo ingresado en la I/D.El código ingresado


será el siguiente.

D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 1 1 0
Fig. 5. Function Set

DL (interface data length control bit) si esta entrada la


tenemos en un 1 lógico le estamos dando la indicación de
que él va a trabajar a 8 bit y si lo tenemos en un 0 lógico
estaremos trabajando a 4 bit. La otra entrada es N ( Display
line number control bit) esta entrada nos indica el número de
filas que vamos a utilizar por lo tanto si tenemos un 0 lógico
le indicamos que trabajaremos con la primera fila y por el otro Fig. 7. Entry Mode Set
lado para indicar la utilización de las dos filas tendremos un
1 lógico en la entrada.
Por ultimo vamos a ingresar el código de Display On /Off
F (Display line number control bit) esta entrada nos indicara Control esto lo que hace es activar o desactivar poniendo en
si queremos configurar el modo de visualización del display ON / OFF tanto el display (D), cursor c y se establece si
por lo cual tenemos dos opciones de 5x8 que lo habilitamos este último debe o no parpadear (B). Tenemos que cuadrar las
con un 0 lógico y de 5x11 habilitándolo con un 1 lógico. Las entradas como no lo indica en código en la figura 8.
entradas que están en x las vamos a tomar como 0 lógicos por
lo cual no nos afecta en la configuración. Por lo cual vamos
a introducir el código de la siguiente manera lo cual indica
cómo vamos a trabajar.

D7 D6 D5 D4 D3 D2 D1 D0
0 0 1 1 1 0 0 0
Fig. 8. Display ON/OFF Control

D (Display ON/OFF Control bit) este nos indica como


trabajara el display por lo cual si ingresamos un 1 lógico
toda la pantalla estará encendida, si ingresamos un 0 lógico
el cursos desaparecerá pero el guardara los datos. C (cursos
ON/OFF Control bit) esta entrada nos dirá si encendemos el
cursor con un 1 lógico o lo dejamos apagado con un 0 lógico.

B (Cursos Blink ON/OFF Control bit) con este decidimos


Fig. 6. Primer codigo insertado
si nuestro cursos se va quedar quieto con un 0 lógico o
lo podemos tener parpadeando con un 1 lógico. Entonces
El siguiente código que vamos a ingresar es el Entry Mode si realizamos la introducción de los códigos en este orden
Set que establece la dirección de movimiento del curos y podemos observar como aparecerá nuestro cursos por lo cual
especifica si la visualización se va desplazando a la siguiente ya estaremos listos para introducir los caracteres y escribir un
posición de la pantalla o no( ver figura 7). Estas operaciones nombre de un integrante de nuestro grupo.
se ejecutan durante la lectura o escritura de la DD RAM o
CG RAM. Para visualizar normalmente poner un bit S a 0.
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 1 1 1 1
I/D ( increment / decrement of DDRAM address) esto nos
indica el cursor por donde se va a mover si derecha con
un 1 lógico o a la izquierda con un 0 lógico. S (shit of Ya que tenemos listo la configuración de nuestro LCD como
entire display) esta entrada lo que nos indica es el lectura podemos ver en la figura 9 ya nuestro cursor está activado,
de la DDRAM cuando el ve un 0 lógico indica que no hay tenemos la disposición de las dos lı́neas y los caracteres están
desplazamiento por lo cual quedara quieto, si ve un 1 lógico él a disposición vamos a proceder a ingresar los datos.
ARQUITECTURA DE MICROCONTROLADORES 4

lógico al pin E para que este acepte y no lo muestre en la


pantalla, si lo hacemos correctamente podemos obtener las
letras MCU como podemos ver en la figura 11.

Fig. 9. Posicion Display Control

Fig. 11. Ejemplo MCU

Ahora que tenemos claro como introducir los códigos y


las letras como aparecerán en el display vamos a escribir
CAMILO para esto vamos a tener los códigos de cada letra,
claro está que si fuera cualquier numero debemos tener los
códigos de las letras respectivamente.

D7 D6 D5 D4 D3 D2 D1 D0
Fig. 10. LCD 2x16 Configuarada 0 1 0 0 0 0 1 1

Procederemos a escribir el nombre de un integrante de


nuestro grupo por lo cual vamos a escoger el de CAMILO. D7 D6 D5 D4 D3 D2 D1 D0
Para esto primero tenemos que recordar que ya no estamos 0 1 0 0 0 0 0 1
en modo control por lo cual debemos pasar a modo dato
con el PIN de RS y colocarlo en 1 lógico. Al hacer esto
ya estamos preparados para introducir los códigos ASCII D7 D6 D5 D4 D3 D2 D1 D0
correspondiente a cada letra por lo cual vamos a recodar la 0 1 0 0 1 1 0 1
figura 2. Hay que tener en cuenta como está estructurada esta

tabla en la cual tenemos la fila HIGHER que viene siento D7 D6 D5 D4 D3 D2 D1 D0


los PINES más significantes (D7 a D4) y LOWER que serı́an 0 1 0 0 1 0 0 1
los PINES menores (D3 a D0). Por lo cual ya sabemos que
si queremos alguna letra de la tabla el orden que tenemos
que cuadrar nuestras entradas para suminı́strala la aparición de
D7 D6 D5 D4 D3 D2 D1 D0
dicha letra. Para dar un ejemplo escribiremos antes la palabra
0 1 0 0 1 1 0 0
MCU (microcontroladores) para esto tenemos que identificar
como esta en código ASCII las letras como anteriormente lo
indicamos.
D7 D6 D5 D4 D3 D2 D1 D0
0 1 0 0 1 1 1 1
D7 D6 D5 D4 D3 D2 D1 D0
0 1 0 0 1 1 0 1
Procedemos a introducirlos en orden como hicimos anteri-
ormente con MCU no olvidar que después de cada código
D7 D6 D5 D4 D3 D2 D1 D0 debemos mandar un 1 lógico al pin E para esto acepte si no es
0 1 0 0 0 0 1 1 ası́ y no funciona debemos dar por opción que la señal no está
llegando lo cual debemos a utilizar un circuito anti rebote que
está especificado en los anexos. Si nos funciona correctamente
D7 D6 D5 D4 D3 D2 D1 D0 está perfecto nuestro sistema. Asi damos por teminado el
0 1 0 1 0 1 0 1
experimento 1 de este laboratorio lo cual la base principal
Ya que tenemos con códigos procedemos a escribirlos en de este es dar a conocer como configurarlo manualmente y
orden aclarando que al introducir uno debemos darle un 1 como se visualizan las letras en este LCD 2x16.
ARQUITECTURA DE MICROCONTROLADORES 5

D7 D6 D5 D4 D3 D2 D1 D0
1 1 0 1 0 1 1 1

Tenemos las diferentes combinaciones de ejemplo que uti-


lizamos mostrando los Kanji, también si quisiéramos mostrar
números, operaciones lo podemos hacer de la misma manera
siguiendo los mismos pasos y teniendo en cuenta el pin E
siempre debe enviar un 1 lógico para leer el código.

IV. EXPERIMENTO 3
Fig. 12. Nombre del experimento 1
Hasta el momento todo lo hemos introducido a la primera
lı́nea del display, pero dado que nuestra configuración dimos
la opción de habilitar las dos lı́neas. Vamos ahora a escribir
III. EXPERIMENTO 2 algunos caracteres en la segunda lı́nea, originalmente el cursos
se posiciona en la primera fila ahora lo vamos a posicionar
en la segunda lı́nea. Para realizar esto debemos realizar unos
Para este experimento vamos a introducir diferentes carac-
teres y números a nuestra LCD por lo cual vamos a utilizar cuantos pasos. Lo primero es volver al modo control con lo
la tabla de caracteres con la ya hemos trabajado. Para esto cual vamos a poner el pin R y E los debemos tener en un
ya tenemos configurada la LCD vamos a poner el pin R 0 lógico, debemos introducir el parámetro para que el cursor
en 1 lógico para que sepa que vamos a trabajar en datos. de mueva a la segunda lı́nea el cual es el presentado en la
Después de realizar esto vamos a poner los códigos en ASCII tabla por lo cual nos damos cuenta tenemos los dos pines más
significativos en un 1 lógico.
correspondiente mente vamos primero a utilizar los Kanji que
tiene por configuración y los vamos a visualizar en la LCD
como podemos observar en la imagen. D7 D6 D5 D4 D3 D2 D1 D0
1 1 0 0 0 0 0 0

Al introducir este código y dándole un 1 lógico al pin E


vamos a tener que estaremos trabajando en la primera posición
de la fila dos, por lo cual los pines D7 y D6 nos dan la
ubicación del cursor por las filas porque si deseamos volver a
la primera fila solo lo que debemos hacer es poner el pin D6
en un 0 lógico y volver a proceder de la misma manera y el
cursor se posicionara en la fila uno nuevamente.

Fig. 13. Otros caracteres

Como podemos darnos de cuenta es muy fácil utilizar estos


caracteres que están en las tablas lo que tenemos que realizar
son los mismos pasos para cuando escribimos el nombre tener
en cuenta esos parámetros y deberá funcionar de la misma
manera. Fig. 14. Fila Dos

D7 D6 D5 D4 D3 D2 D1 D0 Ahora que tenemos el cursor en la fila dos volvemos


1 0 1 1 1 0 0 0 a pasar a modo dato para eso pin R en un 1 lógico
al tener esto hacemos lo mismo insertamos los carac-
teres como lo ya lo hemos mencionado anteriormente y
por lo cual vamos a obtener todo pero en la fila dos.
D7 D6 D5 D4 D3 D2 D1 D0
1 1 0 0 1 0 0 0 Pero si no queremos escribir en la posición uno que por defecto
ARQUITECTURA DE MICROCONTROLADORES 6

nos sale el cursor, sino más bien escribir en una posición V. CONCLUSIONES
especı́ficamente en nuestro display lo que tenemos que hacer
es volver a control con R. miramos que fila deseamos en Es necesario tener un conocimiento anticipado de los
nuestro caso utilizaremos la fila dos, pero si deseamos la fila números binarios para poder manipular los caracteres que por
uno ya sabemos hacerlo. Los pines menso significativos nos defecto tiene el LCD 2x16 en su configuración de fábrica.
Porque con ellos estamos manipulando las diferentes letras
darán la ubicación del cursor si observamos bien tenemos 16 que vamos a utilizar. Por otro lado también es importante
posiciones por fila lo que quiere decir que cada posición tiene saber el significado de los números más y menos significantes
ese número pero representado en binario como se muestra en que es necesario para poder saber cómo configurar y dar las
la tabla por ejemplo nos ubicamos en la posición 7 en la fila órdenes de entrada. La partes de la LCD 2x16 como son
1.
los pines es sumamente importante para entender que hace
D7 D6 D5 D4 D3 D2 D1 D0 cada uno y como funciona si nos dimos cuenta que cada pin
1 0 0 0 0 1 1 1 tiene su utilidad dependiendo su funcionalidad donde estemos
trabajando como en el caso de la introducción de los caracteres
Ahora como podemos ver en la imagen nosotros ubicamos en y la posición del cursor que claramente dependı́a de la posición
la segunda fila y tenemos la posición 5 y hemos introducidos de R y de las posiciones de cada pin. Para la parte de la
algunos caracteres de la misma manera que lo hechos estado
haciendo. Hay que recordar la representación de los números configuración es necesario tener el data chip correspondiente
para saber cómo funciona cada pin de entrada como nos dimos
cuenta los pines menos significativos eran los que tenı́an las
diferentes opciones donde debemos tener claro para que sirve
cada uno y si se le suministra un 0 o 1 lógico que es lo
que realiza. Eso con parte a la parte lógica, pero debemos

tener en cuenta la parte fı́sica nuestro montaje debe estar bien


construido dado que hay casos que esto es lo que vaya por
que la señal que estamos enviando no llega a su respectivo
pin para esto se puede diseñar un circuito anti rebote que nos
asegura que la señal va a llegar. La parte de las resistencias
es importante para evitar el corto que puede ver la fuente y
Fig. 15. Ejemplo Segunda Fila y Posicion ası́ tenerlo protegido.

del 1 al 15 en binario y ası́ jugar con las posiciones, siempre el VI. REFERENCIAS
pin E nos dará la habilitación y el pin R nos dirá si estamos en
control y en dato. Teniendo eso en cuenta podemos presentar 1. SPECIFICATIONS OF LCD MODULE; EL-1602A.
algo con más estilo utilizando todo lo aprendido. 2.TEORIA DE MICROCONTROLADORES PIC Y UTI-
LIZACION DE LCD.

Fig. 16. Universidad Distrital

En los anexos vamos a encontrar una explicación más


guiada a como se compone el LCD con su data chip y una
explicación de los pines y su composición y utilización y más
su parte estructural.

You might also like