You are on page 1of 22

Pantallas De Cristal Lquido (LCD Display) Las pantallas de cristal lquido, conocidas tambin como Pantallas LCD, ofrecen

al diseador la posibilidad de construir proyectos de electrnica que tengan la posibilidad de exhibir mensajes numricos y alfanumricos. Esta caracterstica confiere una mayor presentacin a sus proyectos, mayor calidad y mejor desempeo. Tambin, desde el punto de vista del usuario final, las pantallas LCD ofrecen la oportunidad de obtener sistemas interactivos, con facilidad de manejo; es decir, sistemas amigables de operacin clara y sencilla. Las pantallas LCD se utilizan en una amplia variedad de aplicaciones que abarcan reas que van desde los instrumentos de medida, equipos de comunicaciones, equipos de diagnstico, equipos mdicos, equipos automotrices, controladores industriales, sistemas de control numrico computarizado, sistemas de control de robots, etc, hasta la ms cotidianas como lo son las de aparatos electrodomsticos.

Figura. Diferentes Tipos De Pantallas LCD. Fsicamente, las pantallas LCD son dispositivos que tienen un aspecto fsico como el mostrado en la figura anterior. Estn constituidas sobre una tablilla de circuito impreso, en donde estn ubicados los integrados controladores de la pantalla y los conectores que contienen las patillas de conexin. Sobre el circuito impreso se encuentra la delicada pantalla de cristal lquido, rodeada por una estructura metlica que la protege, existen muchos tipos de pantallas.

Hoy en da, en el mercado de electrnica, existen diversas compaas que fabrican pantallas LCD, entre otras pueden mencionarse a las siguientes: Phillips, Samsung, Hitachi, Sharp Electronics, AND Electronics, TIANMA Microelectronics, etc. No obstante la diversidad de fabricantes, cabe comentar que, en general, la mayora de las pantallas LCD son compatibles entre s. Como es natural, pueden existir algunas diferencias entre los mdulos ofrecidos por fabricantes diferentes, pero dichas diferencias se presentan solamente en cuanto a la distribucin de los conectores en el mdulo, dimensiones fsicas y, algunos caracteres y cdigos de control adicionales. En el siguiente esquema se ofrece un diagrama de bloques simplificado, de la electrnica que contiene el mdulo de la pantalla LCD.

C o n tr o l D e R e n g l n VEE 8 8 D 0 -D 7 M e m o r ia R AM D e D a to s D e C a ra c te r (D D R A M ) 8
A S C II L a tc h DD

C o n tr o l D e C o n t ra s t e

R O M G e n e ra d o r D e C a r a c te re s (G C R O M )

M ux 2@ 1

A r r e g l o M a t r ic i a l L C D 8 M ux 2@ 1 8

E R /W R S VC C V SS

C o n tro la d o r De D e s p le g a d o

A S C II L a tc h G C

C o n ta d o r De L n e a s

RAM G eE nM e Or a Rd IoA r M R DA eM C( Da D a cR t A rMe s r e ) E s p e c ia le s (G C R A M )

80 100 D e c o d if i c a d o r Y M a n e j a d o r e s D e C o lu m n a

C o n t ro l D e C o lu m n a

Figura. Arquitectura simplificada de una pantalla LCD. Pantallas LCD de 2 Renglones y 16 20 Columnas Las pantallas LCD son esencialmente exhibidores construidos con tecnologa de cristal lquido. Estos mdulos contienen la electrnica suficiente para realizar el desplegado de datos de una manera muy eficiente y prctica. Los modelos que aqu se van a describir, son las pantallas de 2 renglones con 16 columnas y 2 renglones con 20 columnas. Los caracteres que pueden ser desplegados por estas pantallas son numricos, alfanumricos y caracteres especiales diseados por el usuario programador. Los caracteres son matriciales en dimensiones de 5 8 puntos 5x10 puntos.

Como se muestra en la figura anterior, los mdulos de pantalla LCD estn constituidos bsicamente por los siguientes bloques elementales: Controlador de Desplegado, Memoria RAM de datos de la pantalla (DD RAM), Memoria ROM de Generacin de Caracteres (CG ROM), Memoria RAM de Generacin de Caracteres Especiales (CG RAM), y Pantalla a base de Arreglo Matricial De Diodos De Cristal Lquido. En ese sistema de desplegado, la idea fundamental consiste en alimentar los cdigos ASCII de los caracteres almacenados en la memoria DD RAM (mensaje que se desea exhibir), hacia las lneas de direccin de una memoria ROM que contiene grabados los patrones de puntos de cada carcter. Las lneas de salida del ROM estn acopladas a la entrada de un bloque de matriz de diodos construido con tecnologa de cristal lquido de cuarzo. La circuitera del sistema tambin incluye bloques para el control y el manejo de renglones y columnas, que hacen posible el barrido veloz de todo el arreglo matricial de la pantalla. Desde luego, el elemento clave que se encarga de animar, organizar y controlar la operacin de cada uno de los bloques del sistema es el microcontrolador de desplegado. Enseguida se comentan los detalles importantes de cada bloque. Memoria RAM De Datos De Pantalla (DD RAM) La DD RAM est destinada a almacenar la informacin de los mensajes; es decir, los cdigos ASCII de los caracteres del mensaje que el usuario desea mostrar en la pantalla. Los cdigos contenidos en la DD RAM sirven para apuntar a localidades especficas del ROM generador de caracteres predefinidos (CG ROM), o bien, para apuntar a localidades especficas de RAM donde el usuario puede definir sus propios caracteres (CG RAM).
40 C AR AC TER ES

10

00H 01H 02H 03H 04h 28H 29H 2AH 2B H2C H

0DH0EH 0FH 10H 11H 35H 36H 37H 38H 39H

23H 24H 25H 26H 27H 4BH 4C H4D H4EH 4FH

2 R e n g lo n e s

1 6 10 C AR AC TER ES a)

R e g i n v is ib le e n p o s ic i n in ic ia l ( s in c o r r im ie n to )

O r g a n iz a c i n d e m e m o r ia d e p a n t a lla L C D 2 R y 1 6 C

40

10

C AR AC TER ES

00H 01H 02H 03H 04h 28H 29H 2AH 2B H2C H

11H 12H 13H 14H 15H 39H 3AH 3BH 3CH3D H

23H 24H 25H 26H 27H 4BH 4C H4D H4EH 4FH

2 R e n g lo n e s

R e g i n v is ib le r e c o r r id a 1 8 1 0 v e c e s h a c ia la d e re c h a b)

2 0 10 C AR AC TER ES

O r g a n iz a c i n d e m e m o r ia d e p a n t a lla L C D 2 R y 2 0 C

Figura. Memoria de pantalla de los mdulos LCD de 16 y 20 columnas.

Fsicamente, la memoria DD RAM contiene 80 posiciones de memoria, de las cuales las primeras 40 posiciones estn asignadas al primer rengln y las restantes 40, para el segundo rengln. Para las pantallas de 2 renglones con 16 columnas, por defecto, la regin visible va desde la direccin 00H hasta la 0FH (primer rengln) y desde la direccin 28H hasta la 37H (segundo rengln). El rea no visible de la pantalla abarca desde la direccin 10H hasta 1F (primer rengln) y desde la direccin 40H hasta la 4FH (segundo rengln). Para el modelo de 2 renglones y 20 columnas la regin visible va de la direccin 00H a la 13H (primer rengln) y de 28H a la 3BH (segundo rengln); as tambin, la regin no visible esta de 14H a la 27 (primer rengln) y de 3C a la 4FH (segundo rengln). Desde luego, en el rea no visible de la pantalla tambin se pueden almacenar caracteres, pero para poder verlos el usuario debe desplazar la ventana visible mediante comandos de corrimiento de pantalla. Con frecuencia los desplazamientos de los caracteres producen efectos visuales interesantes. Lo primero que debe hacerse para realizar una operacin de lectura o escritura en alguna localidad de la memoria DD RAM CG RAM, es indicar la direccin donde se desea acceder. Esto se logra usando un comando de especificacin de direccin (Set DD RAM Address). Una vez especificada una direccin, pueden efectuarse operaciones de lectura o escritura en las memorias RAM de pantalla (DD RAM) o RAM del generador de caracteres especiales (CG RAM). Esto se hace utilizando los comandos adecuados (Read Data From DD RAM, Write Data To DD RAM, Read Data From CG RAM Write Data To CG RAM). Es conveniente comentar aqu que la posicin del cursor en la pantalla LCD depende del contenido un registro apuntador de la memoria RAM de pantalla (DD RAM address register). El contenido de ese registro puede ser autoincrementado auto-decrementado, despus de recibir un carcter. La manera en la que el usuario desea que se actualice la direccin del registro apuntador de datos de pantalla depende de lo que indique el bit I/D, en el comando de Modo De Mover el Cursor (Entry Mode Set). Memoria ROM De Generacin De Caracteres (CG ROM). Es un circuito integrado, programado de fbrica, que contiene la informacin de puntos de 160 caracteres fijos predefinidos. En la figura siguiente se muestra la informacin de puntos que contiene el ROM generador de caracteres (CG ROM) de la pantalla TIANMA TM162A.

Figura. Patrones de puntos del conjunto de caracteres estndar contenidos en la memoria CG ROM.

Memoria RAM Para Generacin De Caracteres especiales (CG RAM) El bloque de memoria RAM dedicada a almacenar los patrones de puntos de caracteres especiales, definidos por el usuario programador, se denomina CG RAM. Se pueden definir hasta 8 caracteres especiales y cada carcter especial consiste de un patrn de puntos en matriz de 5x8. Para crear cada carcter es necesario que el usuario programador realice operaciones de escritura sobre la memoria GC RAM, con los patrones de puntos correspondientes, segn se indica enseguida:
Nibble Alto Nibble Bajo Datos De Escritura A La GC RAM A5 A4 A3 A2 A1 A0 Direccin De Direccin Caracter De Fila 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 D7 D6 D5 D4 D3 D2 D1 D0 No importa Patrn De Puntos 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0

Tabla. Ejemplo de diseo de un carcter especial Tablero de Ajedrez, con direccin H03 En la figura anterior se muestra un ejemplo de la creacin de un carcter en forma de tablero de ajedrez. El carcter personalizado se almacena en la memoria GC RAM mediante operaciones de escritura a GC RAM y ser desplegado en la pantalla cuando se ejecute un comando de escritura sobre la DD RAM, con un cdigo hexadecimal 03. Para escribir el carcter personalizado, en la direccin de memoria de GC RAM lo primero que hay que hacer es definir la direccin inicial del carcter, segn se indica en la tabla, utilizando un comando de escritura que coloque el registro apuntador en esa direccin, en la GC RAM. Note que los tres bits ms significativos de la direccin corresponden con la direccin del carcter y los tres menos significativos apuntan a la direccin de la fila, del patrn de bits del caracter. Observe el estudiante que el rea iluminada, en la matriz de puntos que forman el carcter, corresponde con un punto, el cual se codifica como un 1. Las regiones no iluminadas se codificarn como 0. Observe tambin que en la parte inferior de la matriz del carcter (cinco bits de abajo) solo se asignan habitualmente en ceros, para hacer lugar al cursor.

Arreglo Matricial De Pantalla de Cristal Lquido. Para el modelo de 2 renglones y 16 columnas la pantalla esta formada por 1280 celdas elementales (puntos) de cristal lquido, distribuidas en 32 caracteres que forman dos renglones de 16 caracteres cada uno; en el caso del modelo de 2 renglones y 20 columnas la pantalla tiene 1600 celdas elementales. Cada carcter esta formado en un arreglo matricial de 5 8 puntos, pero el octavo esta dedicado al espaciamiento y al cursor, de manera que puede considerarse que cada carcter esta formado en una matriz de 5 7 puntos. Comandos Del Mdulo De Pantalla LCD La tabla siguiente resume el conjunto de comandos que puede ejecutar un mdulo de pantalla LCD, as como la disposicin de los bits de control de cada comando y su significado.
LCD_RW LCD_RS Nibble Alto DB7 DB6 DB5 DB4 DB3 NibbleBajo DB2 DB1 0 1 DB0 1 S B -

Funcin

Borrar Pantalla (Clear Display) Colocar El Cursor En Posicin De Inicio, Esquina Izquierda (Return Cursor To Home Position) Configuracin Del Movimiento Del Cursor Y El Corrimiento De La Pantalla, Ante La Recepcin De Un Carcter (Entry Mode Set) Encendido/Apagado De La Pantalla (Display On/O ff) Corrimientos Del Cursor Y De La Pantalla (Cursor and Display Shift) Configuracin De Las Propiedades De Transferencia, Renglones y Caracteres (Funcin Set) Definir Direccin De Memoria En CG RAM (Set CG RAM Address) Definir Direccin De Memoria En DD RAM (Set DD RAM Address) Leer Direccin De Memoria Actual y Bandera indicadora De Ocupado (Read Busy Flag and Address) Escribir Datos en la DD RAM En La CG RAM (Write Data to CG RAM or DD RAM) Leer Datos Desde La DD RAM Desde La CG RAM (Read Data From CG RAM Or DD RAM)

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

I/D

0 0

0 0

0 0

0 0

0 0

0 1 DL A4 A4 A4

1 S/C N A3 A3 A3

D R/L F A2 A2 A2

C -

0
0 0 0

0
0 0 1

0
0 1 BF

0
1 A6 A6

1
A5 A5 A5

A1 A1 A1

A0 A0 A0

1 1

0 1

D7 D7

D6 D6

D5 D5

D4 D4

D3 D3

D2 D2

D1 D1

D0 D0

Tabla Que Define El Conjunto De Comandos De Control Para Desplegado De Caracteres En La Pantalla LCD

Descripcin De Comandos Comando Para Borrar Pantalla (Clear Display) La ejecucin de este comando borra la pantalla LCD y devuelve el cursor a su posicin inicial, arriba a la izquierda, cuya direccin correspondiente es H00 de la DD RAM. Este comando deposita, en todas las localidades de la memoria DD RAM, el cdigo ASCII correspondiente al caracter espacio en blanco (H20); asimismo, por defecto, define el movimiento del cursor hacia la derecha (coloca el bit I/D=1, del comando Entry Mode Set). El periodo de tiempo que este comando tarda en ser ejecutado es de entre 82 s y 1.26 ms. Para ejecutar un comando de borrado de pantalla se debe de colocar la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, se coloca un 01H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s. Comando Para Colocar El Cursor En La Posicin De Inicio (Return Cursor To Home Position) Cuando este comando es ejecutado, el cursor de la pantalla se devuelve a su posicin de inicio arriba a la izquierda. Esto implica que el registro que apunta a de direccin de un carcter en la pantalla, DD RAM, se inicia con H00. Este comando no afecta los contenidos ASCII de los datos residentes en la memoria. Su tiempo de ejecucin oscila entre 40 s y 1.6 ms. Para colocar el cursor en la posicin de inicio se ejecuta el siguiente comando: se coloca la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, se coloca un 02H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s.

Comando Para Configurar El Movimiento De Corrimiento Del Cursor Y De Pantalla (Entry Mode Set) Este comando define la direccin del movimiento del cursor sobre la pantalla, ante la recepcin de un cdigo ASCII de carcter. El movimiento puede ser programado hacia la derecha (incremento del registro que apunta a la direccin del carcter, DD RAM) hacia la izquierda (decremento del registro que apunta a la direccin del carcter, DD RAM), de acuerdo con el estado del bit DB1 (I/D, Incremento/Decremento). Con este comando tambin se puede definir si ante la recepcin de un carcter, habr o no corrimiento completo de la pantalla; esta propiedad se controla con el bit DB0 (S, Shift). El tiempo de ejecucin tpico de este comando es de 40 s.

Bit DB1: I/D Incremento/Decremento 0 1 auto-decremento del contenido del registro apuntador de direccin de carcter. El cursor se mueve hacia la izquierda. auto-incremento del contenido del registro apuntador de direccin de carcter. El cursor se mueve hacia la derecha.

El bit I/D de este comando tambin afecta el auto-incremento autodecremento de la direccin contenida en registro apuntador de carcter, en las memorias DD RAM CG RAM, durante las operaciones de lectura o escritura a las mismas. Por ejemplo, si usted desea que ante la recepcin de un carcter, el cursor solo se mueva hacia la posicin siguiente, a la derecha, deber hacer lo siguiente: se coloca la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, se coloca un binario 00000110 un hexadecimal 06H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s. Pero si en cambio desea que ante la recepcin de un carcter, el cursor solo se mueva hacia la posicin siguiente, a la izquierda, entonces deber hacer lo siguiente: se coloca la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, se coloca un binario 00000100 un hexadecimal 04H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s.

Bit DB0: S, Corrimiento De Pantalla 0 1 Corrimiento de pantalla deshabilitado Durante una operacin de escritura en la memoria DD RAM, la pantalla completa experimentara un corrimiento en la direccin definida por el bit DB1, I/D. El efecto visual es tal que pareciera que el cursor permanece en una posicin fija y la pantalla se mueve.

Si usted desea que ante la recepcin de un carcter, la pantalla completa experimente un corrimiento hacia la derecha, entonces deber hacer lo siguiente: se coloca la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, se coloca un binario 00000111 un hexadecimal 07H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s.

Comando Para Encender Y Apagar La Pantalla (Display On/O ff) Este comando sirve encender apagar la pantalla completa. Tambin afecta el tipo de cursor y el parpadeo del cursor. Enseguida se describen los atributos que controlan los bits de este comando.
Bit DB2: (D) Pantalla Encendida/Apagada El cursor usa los cinco puntos inferiores de la matriz del carcter. El cursor aparece como una lnea, bajo el carcter desplegado. 0 1 La pantalla permanece apagada. Los caracteres contenidos en la memoria DDRAM permanecen inalterados. La pantalla se enciende y despliega los caracteres que estn almacenados en la DD RAM.

Bit DB1: (C) Cursor Encendido/Apagado 0 1 Cursor apagado (No hay cursor) Cursor encendido (El cursor es visible)

Bit DB0: (B) Parpadeo Del Cursor Encendido/Apagado 0 1 El cursor no parpadea. El cursor parpadea apareciendo y desapareciendo aproximadamente cada medio segundo.

Por ejemplo, si usted desea activar la pantalla con cursor parpadeante debe se coloca la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, se coloca un binario 00001111 un hexadecimal 0FH y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s. Corrimientos Del Cursor Y De La Pantalla (Cursor and Display Shift) Este comando controla los corrimientos del cursor y de la pantalla, sin la necesidad de cambiar los contenidos de la memoria DD RAM; es decir, sin la necesidad de que se realicen operaciones de escritura o lectura sobre la DD RAM. Los corrimientos pueden programarse hacia la izquierda y hacia la derecha. Mediante los parmetros de control de esta funcin el usuario puede posicionar el cursor sobre la ubicacin de algn carcter especfico que l necesite modificar, o bien, para realizar un corrimiento de la ventana que hace visibles los datos.

10

Con los corrimientos de la pantalla completa, el usuario puede hacer que aparezcan los caracteres que se encuentran ms all de la columna 16 20, segn sea el tamao de la pantalla. Cuando el programador ejecuta repetidamente un comando de corrimiento de la pantalla completa, los caracteres aparentaran movimientos horizontales de rotacin. El tiempo de ejecucin de este comando es de 40 s. La tabla siguiente resume la manera de utilizar los bits de control de este comando.
DB3 DB2 (S/C) (R/L)

Operacin Que Se Realiza

0 0 1

0 1 0

Corrimiento de la posicin del cursor hacia la izquierda. El contenido del registro apuntador a la memoria DD RAM se decrementa en 1. Corrimiento de la posicin del cursor hacia la derecha. El contenido del registro apuntador a la memoria DD RAM se incrementa en 1. Corrimiento de la pantalla completa hacia la izquierda. El cursor sigue el corrimiento de la pantalla. El contenido del registro apuntador a la memoria DD RAM permanece inalterado. Corrimiento de la pantalla completa hacia la iderecha. El cursor sigue el corrimiento de la pantalla. El contenido del registro apuntador a la memoria DD RAM permanece inalterado.

Tabla. Resumen de operaciones Ejemplos:

Mover el cursor una posicin hacia la izquierda: colocar la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, colocar un binario 00010000 un hexadecimal 10H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s. Mover el cursor una posicin hacia la derecha: colocar la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, colocar un binario 00010100 un hexadecimal 14H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s. Mover la pantalla completa una posicin hacia la izquierda: colocar la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, colocar un binario 00011000 un hexadecimal 18H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s. Mover la pantalla completa una posicin hacia la derecha: colocar la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, colocar un binario 00011100 un hexadecimal 1CH y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s.

11

Configuracin De Las Propiedades De Transferencia, Nmero De Renglones y Dimensiones De Caracteres, Del Modulo De Pantalla LCD (Funcin Set) Mediante los bits de control de este comando, el usuario programador puede el tamao de la palabra de datos de entrada/salida, que maneja la interfaz de comunicacin. Tambin se puede especificar el nmero de renglones que el usuario necesita que aparezcan en la pantalla y el tamao de la matriz de puntos del conjunto de caracteres. El tiempo de ejecucin de este comando es de 40 s.
Bit DB4: (DL) Tamao Del Bus De Datos 0 1 Bus de datos de 4 bits Bus de datos de 8 bits

Bit DB3: (N) Nmero De Renglones 0 1 Un rengln Dos renglones

Bit DB2: (F) Dimensiones De La Matriz De Puntos De Los Caracteres 0 1 Caracteres en matriz de 5x8 puntos Caracteres en matriz de 5x10 puntos

Por ejemplo, para configurar el mdulo de pantalla LCD con bus de 8 bits, 2 renglones y caracteres en matriz de 5X8 se ejecutara el siguiente comando: colocar la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, colocar un binario 00111000 un hexadecimal 38H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s. Definir Una Direccin De Memoria En CG RAM (Set CG RAM Address) Este comando carga la direccin especificada por los bits <DB5:DB0> en el registro apuntador a la memoria CG RAM. Despus de ejecutar este comando, el usuario programador puede realizar operaciones de lectura u operaciones de escritura para mostrar en la pantalla un carcter residente en la memoria CG RAM. El comando tarda 40 s en ser completado.

12

Por ejemplo, para colocar el apuntador de la memoria CG RAM indicando la posicin de la primera fila del cuarto carcter especial, haramos lo siguiente: colocar la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, colocar un binario 01011000 un hexadecimal 58H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s. Definir Una Direccin De Memoria En DD RAM (Set DD RAM Address) Este comando carga la direccin especificada por los bits <DB6:DB0> en el registro apuntador a la memoria DD RAM. Tambin en este caso, despus de ejecutar este comando, el usuario programador puede realizar operaciones de lectura u operaciones de escritura para mostrar en la pantalla un carcter residente en la memoria DD RAM. El comando tarda 40 s en ser completado. Por ejemplo, para colocar el apuntador de la memoria DD RAM indicando la posicin del dcimo caracter del primer rengln, se hara lo siguiente: colocar la lnea RS en nivel bajo; la lnea R/W tambin en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, colocar un binario 10001001 un hexadecimal 89H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s. Leer La Direccin Actual De Apuntador De Memoria DD RAM y La Bandera Indicadora De Ocupado(Read Busy Flag and Address) Este comando devuelve, sobre los bits <DB6:DB0>, el contenido actual del registro apuntador de direcciones de la memoria DD RAM. Para obtener la direccin vlida, el usuario programador debe verificar el estado del bit BF para determinar si los circuitos interiores del modulo LCD han concluido, o no, la operacin de lectura previamente ordenada, o bien, an se encuentran ocupados realizando tal operacin. Si la bandera BF permanece en estado alto (BF=1), ello indica que el mdulo no ha concluido la ejecucin de la operacin de lectura. De este modo la siguiente instruccin no ser aceptada, sino hasta que la bandera BF se encuentre en nivel bajo (BF=0) hasta que se agote el tiempo mximo destinado para su ejecucin. La ejecucin de este comando toma 1 s. Por ejemplo, si se desea conocer la posicin en la que qued el registro apuntador de caracteres, en la DD RAM, se hace lo siguiente: colocar la lnea RS en nivel bajo; la lnea R/W en nivel alto; seguidamente se pulsar la lnea habilitadora E. El usuario programador verificar entonces el estado del bit DB7 (bandera BF); cuando la bandera BF muestre un estado alto, entonces el valor de los bits <DB6:DB0> indicar la posicin actual del apuntador de caracteres.

13

Escritura De Datos en la CG RAM En La DD RAM (Write Data to CG RAM or DD RAM) Este comando realiza la operacin de escritura del dato binario especificado en los bits <DB7:DB0>. La escritura se realiza sobre la localidad de memoria indicada por el registro apuntador, la cual puede pertenecer a cualquiera de las regiones de memorias CG RAM DD RAM; si la operacin de escritura se realiza despus de que se ha ejecutado un comando de definicin de una direccin en la CG RAM, entonces el dato quedar en esa rea. Pero si el usuario ha ejecutado previamente un comando de definicin de una direccin en la DD RAM, entonces el dato quedar en la DD RAM. Despus de que se ha realizado una operacin de escritura, el contenido del registro apuntador es inmediatamente incrementado o decrementado, de acuerdo a lo especificado por el bit, I/D, del comando de configuracin de los movimientos del cursor. El tiempo que tarda una operacin de escritura de un dato es de 40 s. Por ejemplo, para escribir el dato 01000001 (ASCII de la letra A) sobre la direccin 19H de la memoria DD RAM, se procede como sigue:
1.

Se ejecuta un comando que actualice el registro apuntador de la DD RAM, en la posicin 19H. Una vez definida la direccin 19H en la DD RAM, se procede a colocar la lnea RS en nivel alto; la lnea R/W en nivel bajo; sobre el bus de datos, en las lneas <DB7:DB0>, se coloca el dato binario 01000001 un hexadecimal 41H y seguidamente se pulsa la lnea habilitadora E; la duracin de este pulso debe de ser mayor que 1 s.

2.

Lectura De Datos Desde la CG RAM Desde La DD RAM (Write Data to CG RAM or DD RAM) Este comando devuelve, sobre las lneas <DB7:DB0>, los datos de lectura de los cdigos ASCII que contiene la localidad de memoria especificada. La operacin de lectura se realiza sobre la localidad de memoria indicada por el registro apuntador, la cual puede pertenecer a cualquiera de las regiones de memorias CG RAM DD RAM; si la operacin de lectura se realiza despus de que se ha ejecutado un comando de definicin de una direccin en la CG RAM, entonces el dato ser extrado desde esa rea. Sin embargo, si el usuario ha ejecutado previamente un comando de definicin de una direccin en la DD RAM, entonces el dato ser extrado desde la DD RAM. Tambin en este caso, despus de que se ha realizado una operacin de lectura, el contenido del registro apuntador es inmediatamente incrementado o decrementado, de acuerdo a lo especificado por el bit, I/D, del comando de configuracin de los movimientos del cursor. El tiempo que tarda una operacin de lectura de un dato es de 40 s.

14

Por ejemplo, para leer el contenido de la segunda fila del octavo carcter almacenado en la CG RAM, se procede como sigue: 3. Se ejecuta un comando que actualice el registro apuntador de la CG RAM, en la posicin 111001 (39H).
4.

Una vez definida la direccin 39H en la CG RAM, se procede a colocar la lnea RS en nivel alto; tambin la lnea R/W en nivel alto; seguidamente se pulsa la lnea habilitadora E y se da un poco de tiempo para que responda la memoria. Transcurrido el tiempo de ejecucin del comando, el dato vlido aparecera sobre las lneas del bus de datos, sobre las lneas <DB7:DB0>.

Lneas De Control De La Pantalla LCD Las lneas de control de los mdulos de pantalla LCD, son esencialmente 3, a saber, la lnea RS, la lnea R/W y la lnea E. La lnea RS (Register Select) maneja una seal que permite al usuario programador elegir seleccionar un registro interno del mdulo sobre el que se realizar alguna operacin de lectura escritura. La pantalla LCD dispone de dos registros internos: el Registro De Control y el Registro De Datos. Ambos registros son de lectura y escritura. RS=0 selecciona el registro de control y RS=1, el registro de datos. Por su parte, la lnea R/W (Read/Write) maneja una seal que indica el tipo de operacin que se va a realizar en el mdulo LCD, ya sea de lectura de escritura. Cuando R/W=1 se realizan operaciones de lectura y cuando R/W=0, operaciones de escritura. En general, lo ms frecuente es que una pantalla LCD sea utilizada como un dispositivo de salida, donde lo que el usuario desea es exhibir un carcter; para ello requerir de realizar una operacin de escritura. Por esta razn, en muchas aplicaciones que consideran este caso, dicha lnea es conectada directamente a tierra y as se ahorran una lnea del controlador que maneja la pantalla. Sin embargo, no hay que perder de vista que el mdulo de pantalla LCD tambin ofrece la posibilidad de leer los contenidos de las memorias CG RAM y DD RAM. La lnea E (Enable), maneja una seal que le permite al usuario habilitar la ejecucin de un comando, ya sea este de lectura de escritura. La lnea E debe de permanecer en nivel bajo (E=0), cuando la pantalla LCD no se utiliza. Sin embargo cuando se va a habilitar la ejecucin de cualquier comando, esta lnea debe de ser pulsada hacia nivel alto (E=1) y devuelta a nivel bajo (E=0), para provocar la ejecucin del comando. El periodo de tiempo que esta lnea permanece en nivel alto debe de ser mayor o igual a 1 s.

15

Enseguida se ofrecen oscilogramas de las seales que manejan las lneas RS, R/W y E, para las diversas operaciones que se pueden realizar:

16

Operacin Con Bus De 8 Y 4 Bits La interfaz de las pantallas LCD puede ser configurada para operar con 8 bits, pero tambin con 4 bits. Lo ms frecuente es que el mdulo opere con interfaz de 8 bits y si este es el caso, el alambrado de la interfaz utiliza 11 lneas, como se indica enseguida.
D D D D D D C o n tr o la d o r D D 0 1 2 3 4 5 6 7 D D D D D D D D B B B B B B B B 0 1 2 3 4 5 6 7

P a n t a lla L C D

C 1 C 1 C 3

R S R /W E

La operacin con tamao de palabra de 8 bits tiene la ventaja de que el programa de manejo de las operaciones de lectura/escritura es corto y sencillo, tal como lo demuestran los oscilogramas de abajo. Este modo tiene la desventaja de que las transferencias ocupan un puerto completo de 8 bits para los datos y las 3 lneas de control.

17

La operacin de la pantalla LCD con interfaz con 4 bits esta pensada para cuando el diseador est limitado en cuanto al nmero de canales de entrada/salida disponibles en el controlador. En este caso el usuario programador puede alambrar el mdulo de la manera siguiente, donde solo se utilizan un total de 7 lneas, de las cuales 4 son para los datos y las restantes 3, son las de control:

DB 0 DB 1 DB 2 DB 3 D4 DB 4 DB 5 DB 6 DB 7 R S R /W E D5 D6 D7 C1 C1 C3

C o n tr o la d o r

P a n t a lla L C D

El costo que tendr que pagar el diseador ser la complejidad del programa que maneja las operaciones de lectura /escritura, ya que cada transferencia de un dato se tendr que realizar en dos partes. Durante la primera parte se transfieren los cuatro bits ms significativos del dato y durante la segunda parte se transfieren los cuatro bits menos significativos, segn lo indican los oscilogramas siguientes:

18

Inicializacin De Del Mdulo LCD Antes de que una pantalla LCD pueda ser utilizada, es necesario configurarla e iniciarla adecuadamente. La configuracin de la misma requiere de la ejecucin de una secuencia de comandos de control que definan sus propiedades y modos de operar, tanto para los circuitos internos, como para los movimientos del cursor. Como el lector pudo verificar en la tabla comandos, es necesario que las lneas de control RS, R/W y E del mdulo LCD, cumplan con ciertas especificaciones de temporizacin. Las figuras anteriores mostraron las formas de onda necesarias para temporizar las diversas operaciones de lectura y escritura de datos en la pantalla LCD. Un procedimiento recomendable para iniciar la operacin de una pantalla LCD se explica enseguida:
1.

El primer comando que se recomienda aplicar a un mdulo de pantalla LCD es un comando de borrado inicializacin general de la pantalla (Clear Display). Para inicializar la pantalla (poner en blanco la pantalla y colocar el cursor en la posicin inicial, en la esquina superior izquierda) se requiere que el usuario programador coloque un cdigo 01H en el bus de datos y ejecute una secuencia de escritura de un carcter de control. Enseguida se debe de configurar el mdulo LCD, definiendo el tamao de la palabra de datos del bus (DL), el nmero de renglones (N) y el tipo de matriz de puntos de los caracteres (F). Por ejemplo, si el usuario coloca un 38H en el bus de datos y ejecuta la secuencia de escritura de un carcter de control, el mdulo LCD quedar configurado para manejar datos de 8 bits, en 2 renglones, exhibiendo caracteres en matriz de 5 7 (Function Set). Para seguir, es conveniente configurar las propiedades de movimiento del cursor que mostrar la pantalla, cuando se ingresen caracteres de texto al mdulo LCD (Entry Mode Set). En este caso, si el usuario coloca un 06H en el bus de datos y ejecuta una secuencia de escritura de un carcter de control, la pantalla quedar programada para mostrar un movimiento del cursor hacia la derecha con la pantalla permaneciendo en posicin fija. Recuerde que estas propiedades slo se manifestarn con el ingreso de caracteres. En este punto se esta en condiciones de encender la pantalla del mdulo LCD (Display ON/OFF Control). Para realizar esto el usuario puede colocar un 0FH en el bus de datos, ejecutando enseguida una secuencia de escritura de carcter de control. Despus de la ejecucin del comando, la pantalla habr encendido mostrando un cursor, el cual es parpadeante.

2.

3.

4.

19

5.

Para finalizar la secuencia de inicializacin de la pantalla, se ejecuta un comando que asegure que el cursor se encontrar en la posicin de inicio (Home Position). El usuario puede colocar un 02H en el bus de datos ejecutando seguidamente una secuencia de escritura de carcter de control. A partir de este momento el cursor es visible en la posicin de inicio y la pantalla esta lista para operar. Aqu, es oportuno advertir al usuario que debe revisar el nivel de contraste de la pantalla LCD. Muchas veces el usuario ha ejecutado correctamente la secuencia de inicializacin de la pantalla pero el cursor no es visible, ni se percibe actividad de la pantalla. Se recomienda realizar el ajuste del del potenciometro de contraste, hasta percibir adecuadamente el cursor (0.4V, con respecto a tierra). Para encontrar el mejor punto de ajuste sitese frente a la pantalla de manera que el plano de esta sea perpendicular a su lnea de vista.

6.

7. Algunas precauciones que el usuario debe tomar cuando maneja los mdulos de pantalla LCD, son las siguientes: La pantalla esta hecha de vidrio; NO la someta a esfuerzos mecnicos. El polarizador que cubre a la pantalla LCD es muy frgil y puede romperse fcilmente. Para limpiar la pantalla LCD solamente use alcohol isoproplico. Nunca use agua o solventes aromticos. Si la pantalla llegara a romperse, el cristal lquido puede derramarse en el exterior. Procure no tener contacto con l. Si por accidente le cae en boca, ojos o piel, lvese de inmediato con agua y jabn.

Asignacin de Terminales del Mdulo LCD En la figura de enseguida se muestra la conexin del mdulo LCD y el circuito recomendado para ajustar el nivel del voltaje de contraste de la pantalla (0.4V). Esto se hace necesario porque una propiedad indeseable de los mdulos LCD, es que se tornan obscuros (la pantalla se enegrece) cuando es sometida a temperaturas relativamente altas. La mayora de los fabricantes recomiendan temperaturas de operacin en el campo de 0C hasta 50C.
2 10K 1
V S S R S V E E R /W E

LC D
V C C

TM 202A
LED+

5V
A ju s te

15

G ND

LED D B1 D B 3 D B 5 D B7 D B0 D B 2 D B 4 D B 6

16

C O N TR A S TE

9 10 11 12 13 14

Figura. Conexin de un mdulo de pantalla LCD.

20

N de Patilla 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Smbolo VSS VCC VEE RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 LED+ LED-

Nivel de Voltaje 0V 5.0V 0.7V H/L H/L H/L H/L H/L H/L H/L H/L H/L H/L H/L 4.2V 0V

Descripcin Tierra de seal Voltaje de Alimentacin al Desplegador LCD Referencia para Contraste de Matriz LCD Lnea de Entrada para seleccin de Registros del LCD Lnea de Entrada para seleccin de operaciones de Lectura Escritura en el LCD Lnea de Entrada para iniciar el comando de Lectura Escritura en el LCD Bit de Dato 0 Bit de Dato1 Bit de Dato 2 Bit de Dato 3 Bit de Dato 4 Bit de Dato 5 Bit de Dato 6 Bit de Dato 7 Voltaje de polarizacin del LED de iluminacin del mdulo LCD 4.2V Voltaje de polarizacin de referencia de 0V del LED de iluminacin del LCD

H: Nivel de voltaje alto (uno lgico); L: Nivel de voltaje bajo (cero lgico) Tabla. Lneas de entrada y salida de un mdulo LCD.

21

22