Está en la página 1de 31

BUSQUEDA RAPIDA

MODULOS LCD
Lista de Precios

2000 PCB Electronics Systems


Todo los Derechos Reservados.

MODULOS LCD

I NDI CE GENERAL
HAZ CLICK AQUI PARA IR AL CAPITULO I

1-. Breve Introduccin.


2-. Diversidad de algunos mdulos LCD.
3-. Identificacin de los pines de conexin de un modulo LCD no Matricial.
3.1-. Interpretacin del significado de los Pines del Modulo LCD. G
4-. Tiempos mnimos requeridos para que una instruccin o un dato puedan ser
ejecutados.
4.1-. Diagrama de tiempo para una Instruccin. G
4.2-. Diagrama de tiempo para escribir un Dato. G
4.3-. Diagrama de tiempo para leer un Dato. G
5-. Bus de Datos de 4 y 8 Bits de Longitud.
6-. Inicializacin del modulo LCD.
7-. Conjunto de Instrucciones bsicas de un modulo LCD.
8-. Posicin de los caracteres en la pantalla segn el numero de lineas del modulo LCD.
8.1-. Display de una Linea x 40 Caracteres, direccin DD-RAM. G
8.2-. Display de dos Lineas x 40 Caracteres, direccin DD-RAM. G
8.3-. Display de Cuatro Lineas x 40 Caracteres, direccin DD-RAM. G
9-. Caracteres que podrn ser presentados en la pantalla del modulo LCD.
10-. Ejemplo de como hacer funcionar el modulo LCD por medio de un mtodo manual.
10-. Ejemplo de como hacer funcionar el modulo LCD por medio de un mtodo manual

HAZ CLICK AQUI PARA IR AL CAPITULO II


HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%200.asp (1 of 2) [07/07/2001 05:55:24 p.m.]

11-. Conectando un modulo LCD a un Microcontrolador PIC16F84.


11.1-. Declaracin de constantes que sern utilizadas en el programa del PIC16F84. G
11.2-. Reserva de Memoria RAM. G
11.3-. Configuracin de los Puertos. G
11.4-. Programa Principal. G
11.5-. Subrrutinas:
11.5.1-. Subrrutina para ejecutar una Instruccin. H
11.5.2-. Subrrutina para escribir un dato o un carcter en el modulo LCD. H
11.5.3-. Subrrutina de 58 microsegundos. H
11.5.4-. Subrrutina de 15.37 milisegundos. H
11.5.6-. Programas para el Microcontrolador. H
G

HAZ CLICK AQUI PARA IR AL CAPITULO III


12-. Controlando un modulo LCD Serialmente, Introduccin.
12.1-. Diagrama esquemtico de la conexin de un modulo LCD serialmente
funcionando con un microcontrolador PIC16F84.
G
12.2-. Notas importantes. G
12.3-. Teora bsica de como funciona el circuito Integrado 4094. G
12.4-. Teora bsica de como funciona todo el circuito en general. G
12.5-. Explicacin del programa bsico para trabajar con un microcontrolador
PIC16F84 serialmente con un modulo LCD.
G
12.6-. Listado del programa bsico. G

CAPITULO IV

13-. Introduccin a los mdulos LCD de matriz de Puntos.

PCB ELECTRONICS SYSTEMS


Los Aceitunos, Av. 69A N-. 80B-105
Maracaibo - Zulia - Venezuela
Telfonos: Fax: (061)-753-51-10 PROVISIONAL - (014)-361-9181
E-MAIL: phorlakis@cantv.net


HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%200.asp (2 of 2) [07/07/2001 05:55:24 p.m.]
BUSQUEDA RAPIDA

MODULOS LCD
Lista de Precios

2000 PCB Electronics Systems


Todo los Derechos Reservados.

MODULOS LCD

Siempre has querido incluir un modulo LCD a tus diseos electrnicos ? Nunca lo
habas podido hacer funcionar por que parecan muy complejos y no comprendas su
estructura organizacional ? Ahora PCB Electronics Systems dedica esta pequea
seccin para informarte en detalle toda la teora bsica de los Mdulos LCD o pantallas
de cristal liquido basado en la arquitectura HD-44780 de la empresa HITACHI. Aqu
encontraras como hacer funcionar los mdulos LCD, algunos ejemplos bsicos, ejemplo
de aplicaciones y mucho mas.

CAPI TULO I
1-. Breve Introduccin.
Antes de aparecer los mdulos LCD, nuestros diseos electrnicos utilizaban los Displays de
siete segmentos para poder mostrar la informacin, ademas de su gran limitacin de poder
mostrar los caracteres alfa numricos y smbolos especiales, tambin consuman demasiada
corriente y ocupaban demasiado espacio fsico. Posteriormente aparecieron otros tipos de
displays mas complejos que podan mostrar algunos caracteres y smbolos; pero tenan de
igual manera mucho consumo de corriente y espacio fsico desperdiciado.
Finalmente aparecieron los mdulos LCD o pantallas de cristal liquido la cual tienen la
capacidad de mostrar cualquier carcter alfa numrico. Estos dispositivos ya vienen con su
pantalla y toda la lgica de control pre-programada en la fabrica y lo mejor de todo es que el
consumo de corriente es mnimo y no se tendrn que organizar tablas especiales como se
hacia anteriormente con los displays de siete segmentos.
Las aplicaciones de los mdulos LCD son infinitas ya que podrn ser aplicados en la
informtica, comunicaciones, telefona, instrumentacin, robotica, automviles, equipos
industriales, etc. Todo queda a su imaginacin la gran cantidad de aplicaciones que tiene un
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (1 of 16) [07/07/2001 06:00:58 p.m.]
modulo LCD.
2-. Diversidad de algunos mdulos LCD:
En la actualidad los mdulos LCD existen una gran variedad de versiones clasificados en dos
grupos. El primer grupo esta referido a los mdulos LCD de caracteres ( solamente se podrn
presentar caracteres y smbolos especiales en las lineas predefinidas en el modulo LCD) y el
segundo grupo esta referido a los mdulos LCD matriciales ( Se podrn presentar caracteres,
smbolos especiales y grficos). Los mdulos LCD varan su tamao fsico dependiendo de la
marca; por lo tanto en la actualidad no existe un tamao estndar para los mdulos LCD.
Para el caso de la empresa VARITRONIX especializada en la fabricacin de LCD, existen
configuraciones mnimas desde una linea con un mnimo de ocho caracteres y por el
contrario, existen configuraciones desde 4 lineas hasta 40 caracteres por cada linea. La
siguiente imagen muestra las dimensiones de una configuracin tpica de un modulo LCD de
dos lineas por 16 caracteres por cada linea incluyendo los detalles de la matriz de como esta
conformado un carcter.

Otro patrn importante es el tamao de los caracteres donde las dimensiones de la matriz que
forma los caracteres tienen longitudes diferentes. La siguiente imagen muestra la matriz
utilizada para poder representar un smbolo o un carcter alfa numrico en un modulo LCD.
Esta matriz define algunos aspectos importantes del carcter o el smbolo que estn
mostrando. Los aspectos que define esta matriz son:
Matriz de punto para un solo
carcter en un modulo LCD
Aspectos importantes que define la matriz de
puntos para un solo caracter en un modulo
LCD
1-. Altura del carcter definida por dos variables:
Alto de cada punto que conforma la matriz y
longitud de separacin entre cada punto que
conforma la matriz.
2-. Ancho del Carcter definido por dos
variables: Ancho de cada punto que conforma la
matriz y longitud de separacin entre cada punto
que conforma la matriz.
3-. Calidad grfica del carcter ( A mayor
cantidad de puntos dentro de la matriz, mayor
ser la calidad visual del carcter presentado por
el modulo LCD.
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (2 of 16) [07/07/2001 06:00:58 p.m.]
Los primeros mdulos LCD tenan los caracteres de color negro y el fondo de la pantalla era
de color verdoso claro. Posteriormente se crearon otros colores en donde los caracteres eran
de color plata y as sucesivamente fueron variando los colores en el fondo y en los caracteres
incluyendo una luz posterior para los mdulos LCD denominada Back Light diseada
especialmente para mejorar la visualizacin de la pantalla sobre todo en lugares muy oscuros.
El Back Light existe en varias versiones de colores, entre los mas conocidos tenemos el color
verdoso y el azul cielo; pero hasta la fecha los Back Light tienen un alto consumo de
corriente. Tericamente segn un reportaje realizado por Edison Duque C. en la revista
Colombiana de Electrnica y Computadores N-. 12 del Tercer ao dice: Los pines que le
suministran la corriente al Back Light se le deben suministrar 5 Voltios pero a una frecuencia
aproximada de 60 Hz. para evitar que se presenten altas temperaturas en el modulo LCD. La
siguiente imagen representa un modulo LCD del tipo matricial y que tienen encendida la luz
posterior ( Back Light ).
Ahora la tecnologa esta disponible en color para los mdulos LCD desde 4 colores hasta los
256 y las combinaciones de ellos.
3-. Identificacin de los pines de conexin de un modulo LCD no Matricial:
Los pines de conexin de un modulo LCD han sido estandarizados por el cual en la mayora
de ellos son exactamente iguales siempre y cuando la linea de caracteres no sobrepase los
ochenta caracteres por linea. En el caso de que esto suceda, localice la hoja de caractersticas
del fabricante. Por otro lado es de suma importancia localizar exactamente cual es el Pin
Numero 1 ya que en algunos mdulos se encuentra hacia la izquierda y en otros mdulos se
encuentra a la derecha. En caso de no estar seguro de la asignacin de los pines, localice la
hoja de caractersticas del fabricante.
Pin N-. Sismologa Nivel I/O Funcin

1 VSS - - 0 Vlts. Tierra ( GND ).


2 VCC - - + 5 Vlts. DC.
3 Vee = Vc - - Ajuste del Contraste.
4 RS 0/1 I
0= Escribir en el modulo LCD.
1= Leer del modulo LCD
5 R/W 0/1 I
0= Entrada de una Instruccin.
1= Entrada de un dato.
6 E 1 I Habilitacin del modulo LCD
7 DB0 0/1 I/O BUS DE DATO LINEA 1 ( LSB ).
8 DB1 0/1 I/O BUS DE DATO LINEA 2
9 DB2 0/1 I/O BUS DE DATO LINEA 3
10 DB3 0/1 I/O BUS DE DATO LINEA 4
11 DB4 0/1 I/O BUS DE DATO LINEA 5
12 DB5 0/1 I/O BUS DE DATO LINEA 6
13 DB6 0/1 I/O BUS DE DATO LINEA 7
14 DB7 0/1 I/O BUS DE DATO LINEA 8 (MSB).
15 A - - LED (+) Back Light
16 K - - LED (-) Back Light.

HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (3 of 16) [07/07/2001 06:00:58 p.m.]
3.1-. Interpretacin del significado de los Pines del Modulo LCD:
El Pin numero 1 y 2 estn destinados para conectarle los 5 Voltios que requiere el modulo
para su funcionamiento y el Pin numero 3 es utilizado para ajustar el contraste de la pantalla;
es decir colocar los caracteres mas oscuros o mas claros para poderse observar mejor.
Observe la siguiente imagen de como debern estar conectados los tres primeros pines. La
resistencia representada como R3 es un potenciometro variable que puede oscilar entre 10 K y
20 K indiferentemente.
El Pin numero 4: denominado "RS" trabaja paralelamente al Bus de datos del modulo LCD (
Bus de datos son los Pines del 7 al 14 ). Este bus es utilizado de dos maneras, ya que usted
podr colocar un dato que representa una instruccin o podr colocar un dato que tan solo
representa un smbolo o un carcter alfa numrico; pero para que el modulo LCD pueda
entender la diferencia entre un dato o una instruccin se utiliza el Pin Numero 4 para tal fin.
Si el Pin numero 4 = 0 le dir al modulo LCD que esta presente en el bus de datos una
instruccin, por el contrario, si el Pin numero 4 = 1 le dir al modulo LCD que esta presente
un smbolo o un carcter alfa numrico.
El Pin numero 5: denominado "R/W" trabaja paralelamente al Bus de datos del modulo LCD
( Bus de datos son los Pines del 7 al 14 ). Tambin es utilizado de dos maneras, ya que usted
podr decirle al modulo LCD que escriba en pantalla el dato que esta presente en el Bus; por
otro lado tambin podr leer que dato esta presente en el Bus. Para entender mejor el
funcionamiento del Pin numero 5, tenemos un ejemplo practico que aclara este ultimo punto.
Supongase que usted tiene armado un circuito electrnico con un modulo LCD incluyendo un
teclado muy limitado que tan solo tiene 5 teclas ( Mover Cursor arriba, Mover cursor a la
derecha, mover cursor abajo, mover cursor a la izquierda y Enter ). La finalidad de este
teclado es poderse desplazar por toda la pantalla y seleccionar una opcin con la tecla de
ENTER. Si nuestro circuito electrnico por ejemplo le pregunta al usuario por medio del
modulo LCD lo siguiente:
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (4 of 16) [07/07/2001 06:00:59 p.m.]
Que refresco desea ?
Coca Cola / Pepsi Cola
Usted tendra que ubicar el cursor para seleccionar una de las dos opciones presentadas en
pantalla. En el momento que usted presiona la tecla de Enter le dice a nuestro pequeo
circuito que ya la opcin esta seleccionada. He aqu la importancia del Pin numero 5 ya que
usted podr leer la seleccin que hizo nuestro usuario directamente del bus de datos del
modulo LCD.
Si el Pin numero 5 = 0 el modulo LCD escribe en pantalla el dato que esta presente el el Bus;
pero si el Pin numero 5 = 1 significa que usted necesita leer el dato que esta presente el el bus
del modulo LCD.
El Pin numero 6: denominado "E" que significa habilitacin del modulo LCD tiene una
finalidad bsica: conectar y desconectar el modulo. Esta desconexin no estar referida al
voltaje que le suministra la corriente al modulo; la desconexin significa tan solo que se har
caso omiso a todo lo que este presente en el bus de datos de dicho modulo LCD.
En la mayora de los circuitos electrnicos modernos que incluyan elementos electrnicos
como Microcontroladores, Memorias y Mdulos LCD, utilizan el mismo bus de datos. Esto
es para no tener un bus de datos independientemente por cada elemento electrnico, esto
implicara que los circuitos electrnicos sean mucho mas grandes por la cantidad de
conexiones necesaria a cada uno de los elementos.
Ahora como los Microcontroladores, memorias y mdulos LCD utilizan el mismo bus de
datos, deber existir en cada uno de ellos un Pin de habilitacin"E" que permita desconectar y
conectar cuando sea necesario. Por ejemplo si usted necesita trabajar con la memoria RAM
para obtener o escribir cierta informacin, ser necesario que desabilite el modulo LCD para
que no presente basura en la pantalla, o se ejecuten instrucciones no deseadas.
Los Pines desde el numero 7 hasta el numero 14 representan 8 lineas que se utilizan para
colocar el dato que representa una instruccin para el modulo LCD o un carcter alfa
numrico. El Bus de datos es de 8 Bits de longitud y el Bit menos significativo esta
representado en el Pin numero 7, el Pin mas significativo esta representado en el Pin numero
14
Los Pines 15 y 16: estarn destinados para suministrar la corriente al Back Light. Es
importante conocer que no todos los mdulos LCD disponen del Back Light aunque tenga los
pines de conexin en el circuito impreso.
4-. Tiempos mnimos requeridos para que una instruccin o un dato puedan ser
ejecutados.
Los Pines de control ( E, RS y E/W ) estn estrechamente relacionados ya que por medio de
ellos podemos especificar si queremos ejecutar una instruccin o leer / escribir un dato en la
pantalla o la memoria RAM; sin embargo existe una condicin importante que deber
tomarse en cuenta referida directamente al tiempo necesario que se necesita para cambiar de
un estado a otro en los pines de control. ( E, RS y R/W ). En el caso de que este tiempo sea
mas pequeo que el tiempo mnimo requerido, entonces el modulo LCD no tendr el tiempo
suficiente para responder a las instrucciones solicitadas por el usuario y por consecuencia se
perdern los datos o instrucciones segn sea el caso.
En otras palabras, las personas suelen cometer un error comn cuando se esta intentando
hacer funcionar un modulo LCD en el cual no consideran la velocidad de proceso del
microprocesador o el microcontrolador especficamente en los pines de control ( E, RS y R/W
), esto quiere decir que si usted tuviera conectado un modulo LCD a un microcontrolador que
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (5 of 16) [07/07/2001 06:01:00 p.m.]
tiene una velocidad de proceso demasiado alta en los pines de control, cuando se ejecuta una
solicitud de cualquier tipo ( escritura / lectura e Instruccin. ), el modulo LCD no tendr la
capacidad de entender la solicitud hecha por el microcontrolador ya que esta se ejecuto
demasiado rpida. Para ello los programas o los circuitos electrnicos que manejan un
modulo LCD debern respetar los siguientes diagramas de tiempo:
4.1-. Diagrama de tiempo para una Instruccin:
Para enviarle una instruccin al modulo, primero hay que colocar la instruccin en el bus de
datos ( Pines del 7 al 14 ). Una vez que esta presente la instruccin en el bus de datos se
procede a ejecutar el diagrama de tiempo requerido para una instruccin en los pines de
control. Este diagrama de tiempo es muy sencillo de entender, tan solo usted deber colocar el
Pin RS = 0, el Pin R/W = 0 y el Pin E = 0; Una vez colocados los pines con las tensiones
mencionadas, proceda a cambiar el estado del Pin E = 1. El nuevo estado de este Pin "E"
deber permanecer por lo menos 450 ns antes de volver a cambiar de estado para que la
pantalla pueda entender la instruccin.

4.2-. Diagrama de tiempo para escribir un Dato:


Para escribir un dato en el modulo LCD, primero hay que colocar el dato en el bus ( Pines del
7 al 14 ). Una vez que esta presente el dato en el bus se procede a ejecutar el diagrama de
tiempo requerido para escribir un dato en los pines de control. Este diagrama de tiempo es
muy sencillo de entender, tan solo usted deber colocar el Pin RS = 1, el Pin R/W = 0 y el Pin
E = 0; Una vez colocados los pines con las tensiones mencionadas, proceda a cambiar el
estado del Pin E = 1. El nuevo estado de este Pin "E" deber permanecer por lo menos 450 ns
antes de volver a cambiar de estado para que la pantalla pueda entender la instruccin.
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (6 of 16) [07/07/2001 06:01:00 p.m.]
4.3-. Diagrama de tiempo para leer un Dato:
Para leer un dato de la pantalla o la memoria RAM en el modulo LCD, los pines de control
debern estar colocados como sigue: Pin RS = 1, Pin R/W = 1 y el Pin E = 0; Una vez
colocados los pines con las tensiones mencionadas, proceda a cambiar el estado del Pin E = 1.
El nuevo estado de este Pin "E" deber permanecer por lo menos 450 ns antes de volver a
cambiar de estado para que la pantalla pueda entender la instruccin.
Nota importante:
Notese que en los tres diagramas de tiempos el Pin denominado como "E" tiene que estar
previamente en el estado lgico"CERO", posteriormente se cambia el estado lgico a "UNO"
la cual permanecer por lo menos unos 450 nano segundos y finalmente vuelve al estado
lgico" CERO ", en el preciso momento que el Pin "E" del modulo LCD tiene el flanco de
bajada, es cuando se ejecuta la instruccion o el dato presente en el bus de control.
5-. Bus de Datos de 4 y 8 Bits de Longitud:
El Bus de datos de un modulo LCD puede ser configurado para trabajar con 4 Bits y con 8
Bits. Para los diseos electrnicos que estn limitados por la cantidad de lineas utilizadas en
el Bus de datos, podrn utilizar un bus de datos con una longitud de 4 Bits; sin embargo si
este no fuera su caso, podr utilizar el bus de datos completo de 8 Bits. Las seales de control
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (7 of 16) [07/07/2001 06:01:00 p.m.]
( RS - R/W - E ) y los diagramas de tiempo explicados anteriormente, trabajan igual sea para
un bus de datos de 4 Bits o de 8 Bits. Sin embargo, si usted esta interesado en trabajar el bus
de datos con una longitud de 8 Bits, deber saber que cuando se enciende el modulo LCD la
configuracin para 8 Bits entra por defecto; es decir que no necesitara programarse, pero la
configuracin del bus de datos con una longitud de 4 Bits requiere una secuencia cuidadosa
de instrucciones previas inmediatamente despus de encender el modulo LCD.
La longitud escogida para trabajar el bus de datos deber hacerce en el principio de la
programacin del modulo LCD. En la siguiente imagen se puede observar la inicializacin de
un modulo LCD para trabajar con un bus de datos de 8 (izquierda) y 4 Bits (Derecha).
6-. Inicializacin. del modulo LCD:
Todo modulo LCD deber inicializarse, esta inicializacin indicara como deber operar la
pantalla. La inicializacin representan las instrucciones que debern ser ejecutadas por el
modulo LCD antes de su funcionamiento normal. Las instrucciones que estn dentro de la
inicializacin solamente se ejecuta despus que se enciende el modulo LCD y no podrn ser
cambiadas posteriormente. Por ejemplo tenemos algunos parmetros que pueden ser
ejecutados en la inicializacin antes de comenzar a funcionar nuestro modulo LCD:
Seleccin de la longitud del bus de datos ( 4 Bits / 8 Bits ). G
Activar el numero de lineas que se visualizaran el el modulo LCD. G
Encender el Modulo LCD. G
Las siguientes instrucciones tambin podrn ser colocadas en la inicializacin, con la
diferencia que podrn ser cambiadas en cualquier parte del programa.
Mantener el mensaje fijo y desplazar el cursor. G
Desplazar el mensaje y mantener el cursor fijo. G
Hacer que el carcter sealado parpadee o no. G
7-. Conjunto de Instrucciones bsicas de un modulo LCD:
La siguiente tabla representa el conjunto de instrucciones de un modulo LCD, en ella se
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (8 of 16) [07/07/2001 06:01:00 p.m.]
muestran toda la informacin necesaria que se requiere para cada instruccin, pero
posteriormente se da una explicacin mas amplia de algunas de ellas.
TABLA N-. 1: INSTRUCCIONES BASICAS
Instruccin.
CODIGO
Descripcin
Tiempo de
ejecucin
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Borrar Pantalla 0 0 0 0 0 0 0 0 0 1
Borra la pantalla y retorna
el cursor a la direccin 0 (
Home )
1.64 mS.
Cursor Home 0 0 0 0 0 0 0 0 1 *
Retorna el cursor al inicio (
Direccin o)
1.64 mS.
Modo de entrada de
caracteres
0 0 0 0 0 0 0 1 I/D S
Donde I/D=0 Decremente
la posicin del cursor,
I/D=1 incrementa la
posicin del cursor,. S=0
El texto de la pantalla no
se desplaza, S=1 El texto
de la pantalla se desplaza
en el momento que se
escribe un carcter
40 uS.
Apagado y encendido
de la pantalla.
0 0 0 0 0 0 1 D C B
Donde D=0 Pantalla
apagada, D=1 Pantalla
encendida, C=0 Cursor
apagado, C=1 Cursor
encendido, B=0
Intermitencia del cursor
apagado, B=1
Intermitencia del cursor
encendido.
40 uS..
Cursor and Display
Shift
0 0 0 0 0 1 S/C R/L * * 40 uS.
Funtion Set 0 0 0 0 1 DL N F * * 40 uS.
Set CG RAM address 0 0 0 1 ACG 40 uS.
Set DD RAM address 0 0 1 ADD 40 uS.
Ready busy flag &
address
0 1 BF AC 1 uS.
Write data to CG or
DD RAM
1 0 Escribir el Dato 120 uS.
Read data to CG or DD
RAM
1 1 Leer el Dato 40 uS.
La tabla numero dos, esta referida a las nomenclaturas utilizadas en la tabla numero uno
Tabla 2: NOMENCLATURAS
Nomenclatura Variable = 1 Variable = 0
I/D
I/D=1 Incrementa el Cursor en una
posicin
I/D=0 Decrementa el Cursor en una
posicin.
D D=1 Pantalla Encendida D=0 Pantalla Apagada.
C C=1 Cursor Encendido. C=0 Cursor Apagado.
B
B=1 Intermitencia del cursor
encendida.
B=0 Intermitencia del cursor apagado
S/C S/C=1 Mover todo el texto. S/C=0 Mover el cursor.
R/L
R/L=1 Mover todo el texto a la
izquierda.
R/L=1 Mover todo el texto a la derecha.
DL DL=1 Bus de datos de 8 Bits. DL=0 Bus de datos de 4 Bits.
S S=1 Desplazamiento del texto. S=0 No desplazamiento del texto
BF BF=1 Operacin Interna en progreso. BF=0 No puede aceptar instruccin
F
F=1 Matriz para el carcter de 5 X 10
dots
F=0 Matriz del carcter de 5 x 7 Dost
N N=1 Activacin de dos lineas. N=0 Activacin de 1 linea
La tabla numero tres, esta referida a las abreviaturas utilizadas en la tabla numero uno
Tabla 3: ABREVIATURAS
Abreviatura
DD RAM Display Data RAM
CG RAM Generador de Caracteres RAM
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (9 of 16) [07/07/2001 06:01:01 p.m.]
8-. Posicin de los caracteres en la pantalla segn el numero de lineas del modulo LCD:
En la actualidad existen diversidad de mdulos LCD por ejemplo tenemos pantallas con una
sola linea con tan solo ocho caracteres y mdulos con 4 lineas con 40 caracteres por cada
linea. Estos son algunos ejemplos bsicamente. Ahora en los mdulos LCD segn la cantidad
de lineas cada uno de los caracteres tiene una posicin numrica dentro del DD-RAM (
Display Data RAM ). Comencemos con algunos ejemplos basados para mdulos LCD de una
sola linea.
8.1-. Display de Una Linea x 40 Caracteres, direccin DD-RAM
Tamao de la pantalla
Ubicacin fsica del carcter en el modulo LCD
Posicin del Carcter Direccin DD-RAM
1Linea X 08 Caracteres 00 al 07 00h al 07h
1Linea X 16 Caracteres 00 al 15 00h al 0Fh
1Linea X 20 Caracteres 00 al 19 00h al 13h
1Linea X 24 Caracteres 00 al 23 00h al 17h
1Linea X 32 Caracteres 00 al 31 00h al 1Fh
1Linea X 40 Caracteres 00 al 39 00h al 27h
DISPLAY DE UNA LINEA X 40 CARACTERES
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...................... 40
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 ...LINEA 1... 27
8.2-. Display de dos Lineas x 40 Caracteres, direccin DD-RAM
Para un modulo LCD que contenga dos lineas tenemos la siguiente ubicacin fsica de los
caracteres en la pantalla.
Tamao de la pantalla
Ubicacin fsica del carcter en el modulo LCD
Posicin del Carcter Direccin DD-RAM
LINEA 1 LINEA 2
2 Linea X 16 Caracteres 00 al 15 00h al 0Fh + 40h al 4Fh
2 Linea X 20 Caracteres 00 al 19 00h al 13h + 40h al 53h
2 Linea X 24 Caracteres 00 al 23 00h al 17h + 40h al 57h
2 Linea X 32 Caracteres 00 al 31 00h al 1Fh + 40h al 5Fh
2 Linea X 40 Caracteres 00 al 39 00h al 27h + 40h al 67h
DISPLAY DE DOS LINEAS X 40 CARACTERES
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...................... 40
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D LINEA 1 27
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D LINEA 2 29
8.3-. Display de Cuatro Lineas x 40 Caracteres, Direccin DD-RAM:
Para un modulo LCD que contenga cuatro lineas sucede algo diferente e interesante con
respecto a la ubicacin fsica que debe tener cada carcter en la pantalla del modulo LCD ya
que en realidad el final del la linea numero 1 tiene su continuacin en la linea numero 3; pero
el final de la linea numero 2, tiene su continuacin en la linea numero 4.
Tamao de la pantalla
Ubicacin fsica del carcter en el modulo LCD
Posicin del
Carcter
Direccin DD-RAM
4 Linea X 16 Caracteres 00 al 15 00h al 0Fh + 40h al 4Fh + 14h al 23h + 54h al 63h
4 Linea X 20 Caracteres 00 al 19 00h al 13h + 40h al 53h + 14h al 27h + 54h al 67h
4 Linea X 24 Caracteres 00 al 23 00h al 17h + 40h al 57h + 14h al 2Bh + 54h al 6Bh
4 Linea X 32 Caracteres 00 al 31 00h al 20h + 40h al 5Fh + 14h al 33h + 54h al 73h
4 Linea X 40 Caracteres 00 al 39 00h al 27h + 40h al 67h + 14h al 59h + 54h al 7Bh
DISPLAY DE 4 LINEAS X 40 CARACTERES
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCION...SAS/Modulos%20LCD/Modulos%20LCD%201.asp (10 of 16) [07/07/2001 06:01:01 p.m.]
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...................... 40
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D LINEA 1 27
50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 7A 7B 7C 7D LINEA 3 77
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D LINEA 2 4F
78 79 80 LINEA 4 29
9-. Caracteres que podrn ser presentados en la pantalla del modulo LCD:
La siguiente tabla representan los caracteres que podrn ser mostrados en un modulo LCD.
Cada uno de los caracteres tienen su representacin binaria de ocho bits. Por ejemplo si usted
necesita el carcter"A" deber representarlo con el siguiente cdigo 01000001 por otro lado si
quisiera utilizar el carcter"T" deber representarlo por el cdigo 01010100. Este cdigo
deber ser colocado en el Bus de Datos del Modulo LCD ( Lineas del 7 al 14 ).
TABLA DE CARACTERES
10-. Ejemplo de como hacer funcionar el modulo LCD por medio de un mtodo manual:
Ahora podemos realizar un ejemplo practico de como hacer funcionar el modulo LCD de una
manera manual paso a paso incluyendo la inicializacin hasta presentar una serie de
caracteres en la pantalla. La siguiente imagen muestra el pequeo circuito que tendr que
montar para realizar la practica. Si la imagen no la puede observar bien, puedes hacer Click
Aqu para obtener una imagen mas detallada del circuito.
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCION...SAS/Modulos%20LCD/Modulos%20LCD%201.asp (11 of 16) [07/07/2001 06:01:01 p.m.]
En la imagen anterior, mostramos el circuito bsico que usted necesita montar en un
ProtoBoard para realizar el experimento. En circuito deber ser alimentado con 5 Voltios DC.
En esta seccin practica procederemos a escribir en el modulo LCD la palabra PCB
ELECTRONICS SYSTEMS. Observemos los pasos y sus procedimientos de una forma
manual:
Una vez que este montado el circuito esquemtico que mostramos en la imagen anterior,
proceda a realizar los siguientes pasos:
PASO 1: Corte toda la energia al circuito del modulo LCD y coloque todos los suiches del circuito a
tierra; es decir los suiches denominados SW DIP-2 ( Lineas de control ) y SW DIP-8 ( Bus de datos )
colocados o conectados a tierra ( Gnd ).
G
PASO 2: En el circuito esquematico no tenemos un interruptor, por lo tanto tan solo suministre la
energa al circuito del Modulo LCD con una tension de 5 Voltios DC. A partir de aqui se deber
tomar en cuenta la resistencia variable denominada R1 que representa un potenciometro de 10 K.
Como puede observarse en el circuito, la parte central del potenciometro esta conectado al pin numero
3 del modulo LCD. La parte central del potenciometro podra ser ajustado entre 0 voltios y 5 voltios. A
medida de que el voltaje el el Pin numero 3 del modulo LCD se acerque a los 5 voltios se observara
con mayor detalle las matrices que forman a los caracteresen el modulo LCD; pero si el voltaje
suministrado para el Pin numero 3 del modulo se acerca a 0 Voltios, el modulo aparentara que no esta
encendido por que las matrices que forman a los caracteres tienen muy poca intensidad para poder ser
observados, por lo tanto, para comenzar con nuestro pequeo experimento recomendamos ubicar el
potenciometro en la parte central y posteriormente se ajustara cuando el modulo este funcionando.
Otro punto importante referente al modulo LCD cuando es encendido, es que se debera esperar unos
15 mili Segundos que se utilizan para estabilizar todas las tensiones dentro del modulo LCD.
G
PASO 3: Ahora debemos especificar al modulo LCD si va a trabajar en el formato de 8 Bits o de 4
Bits. Es importante saber que los modulos LCD cuando son encendidos, vienen por defecto para
trabajar con un bus de datos de 8 bits la cual no sera necesario especificar esta instruccion; pero como
estamos realizando un experimento manual con nuestro modulo LCD ejecutaremos la instruccion
indiferentemente con la finalidad de que pueda ser observado los procedimientos necesarios.
G
Para trabajar con un bus de datos de 8 bits se debera colocar el siguiente codigo en el bus de
datos y bus de control.
CODIGO: BUS DE DATOS DE 8 BITS
BUS DE
CONTROL
BUS DE DATOS
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 1 X X X X
En el bus de datos, especificamente en los pines DB3, DB2, DB1, DB0 tienen como valor
asignado una letra "X". En la teoria electronica la letra "X" representa cualquier valor entre
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCION...SAS/Modulos%20LCD/Modulos%20LCD%201.asp (12 of 16) [07/07/2001 06:01:01 p.m.]
"0" y "1" indiferentemente. Una vez que este colocado el codigo en el bus de datos y el bus de
control, proceda a presionar ( Una sola Vez ) el pulsador denominado SW1. Este pulsador esta
conectado con el pin 6 del modulo LCD especificamente en el "ENABLE" y la condicion
minima que requiere es que el pulsador debera estar presionado por lo menos 450 nano
segundos.
PASO 4: La siguiente instruccion sera para especificarle al modulo LCD con cuantas lineas desea
usted trabajar. para ello debera escribir el siguiente codigo en el bus de datos y el bus de control:
G
CODIGO: ACTIVACION DE NUMERO DE LINEAS
BUS DE
CONTROL
BUS DE DATOS
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 1 N F X X
El Pin numero 10 que representa a DB3 tiene la letra "N" la cual tan solo usted debera saber si
va a trabajar con una linea o con dos lineas. Para N=0 el modulo LCD trabajara con una linea
y para N=1 el modulo LCD trabajara con dos lineas. Este ultimo punto esta dirigido solamente
para los modulos LCD que tienen por lo menos 4 lineas fisicamente, como hemos explicado
anteriormente, para un modulo LCD de 4 lineas ( Fisicamente ), internamente tan solo tiene
dos ya que la primera linea del moldulo LCD esta conformada por la linea N-. 1 y N-. 3
fisicamente del modulo LCD y la linea N-. 2 esta conformada por la linea N-. 2 y N-. 4 del
modulo LCD. Entonces podemos concluir para este paso 4 que solamente sera necesario si
usted esta utilizando un modulo LCD de 4 y de 2 lineas ( Fisicamente ). Para nuestro pequeo
experimente, coloque a N=1 y F=0.
PASO 5: La siguiente instruccion sera para encender la pantalla y el cursor; para ello debera
escribirse el siguiente codigo en el bus de datos y en el bus de control:
G
CODIGO: ACTIVACION DEL CURSOR Y LA PANTALLA
BUS DE
CONTROL
BUS DE DATOS
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 1 1 1 0
Para ejecutar el codigo colocado en el bus de datos y el bus de control volvemos nuevamente a
presionar el pulsador denominado SW1.
PASO 6: Finalmente, la ultima instruccion de la inicializacion se refiere que cuando se escriba un
caracter en la pantalla, el cursor se desplase automaticamente a la derecha.
G
CODIGO: SHIFT Y CURSOR A LA DERECHA
BUS DE
CONTROL
BUS DE DATOS
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 1 1 0
Hasta aqui hemos terminado la inicializacion basica de un modulo LCD, ahora podemos
proceder a escribir "PCB ELECTRONICS".
PASO 7: Ahora podemos escribir nuestros caracteres con la secuencia como se seala en la siguiente
tabla:
G
CODIGO: ESCRIBIR PCB ELECTRONICS
BUS DE
CONTROL
BUS DE DATOS
CARACTER RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
P 1 0 0 1 0 1 0 0 0 0
ACTIVAR EL SUICHE SW1 = ENABLE
C 1 0 0 1 0 0 0 0 1 1
ACTIVAR EL SUICHE SW1 = ENABLE
B 1 0 0 1 0 0 0 0 1 0
ACTIVAR EL SUICHE SW1 = ENABLE
ESPACIO 1 0 1 1 1 1 1 1 1 0
ACTIVAR EL SUICHE SW1 = ENABLE
E 1 0 0 1 0 0 0 1 0 1
ACTIVAR EL SUICHE SW1 = ENABLE
L 1 0 0 1 0 0 1 1 0 0
ACTIVAR EL SUICHE SW1 = ENABLE
E 1 0 0 1 0 0 0 1 0 1
ACTIVAR EL SUICHE SW1 = ENABLE
C 1 0 0 1 0 0 0 0 1 1
ACTIVAR EL SUICHE SW1 = ENABLE
T 1 0 0 1 0 1 0 1 0 0
ACTIVAR EL SUICHE SW1 = ENABLE
R 1 0 0 1 0 1 0 0 1 0
ACTIVAR EL SUICHE SW1 = ENABLE
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCION...SAS/Modulos%20LCD/Modulos%20LCD%201.asp (13 of 16) [07/07/2001 06:01:02 p.m.]
O 1 0 0 1 0 0 1 1 1 1
ACTIVAR EL SUICHE SW1 = ENABLE
N 1 0 0 1 0 0 1 1 1 0
ACTIVAR EL SUICHE SW1 = ENABLE
I 1 0 0 1 0 0 1 0 0 1
ACTIVAR EL SUICHE SW1 = ENABLE
C 1 0 0 1 0 0 0 0 1 1
ACTIVAR EL SUICHE SW1 = ENABLE
S 1 0 0 1 0 1 0 1 0 0
ACTIVAR EL SUICHE SW1 = ENABLE
NOTAS:
1-. Activar el suiche que hemos denominado como SW1 la cual su funcion es enviar un "1"
logico miestras el suiche se encuentre presionado, podria causar fallas de rebote; esto quiere
decir que podria aparecer varios caracteres en la pantalla si el efecto de rebote se hace
presente.
2-. El tiempo minimo que necesita el pulsador SW1 sera de 450 nano segundos. Este tiempo
no tendra nada de importancia para este procedimiento manual, pero si tendra muchisima
importancia para cuando el sistema funcione con un microprocesador o un microcontrolador.
HAZ CLI CK AQUI PARA I R AL CAPI TULO I I
Amigo Visitante, si usted tiene alguna sugerencia, comentario de nuestro trabajo, cualquier
cosa que nos quiera informar, le agradeceramos mucho que se pusiera en contacto con
nosotros por medio del siguiente correo electrnico: phorlakis@cantv.net En el
correo, por favor coloque de que Pais pertenece y su ciudad donde vive y finalmente en que se
especializa usted ?.

PCB ELECTRONICS SYSTEMS


Los Aceitunos, Av. 69A N-. 80B-105
Maracaibo - Zulia - Venezuela
Telfonos: Fax: (061)-753-51-10 PROVISIONAL - (014)-361-9181
E-MAIL: phorlakis@cantv.net
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCION...SAS/Modulos%20LCD/Modulos%20LCD%201.asp (14 of 16) [07/07/2001 06:01:02 p.m.]
BUSQUEDA RAPIDA

MODULOS LCD
CONECTADO CON UN
PIC16F84
Lista de Precios

2000 PCB Electronics Systems


Todo los Derechos Reservados.

MODULOS LCD

CAPI TULO I I
11-. Conectando un modulo LCD a un Microcontrolador PIC16F84.
En la actualidad los microcontroladores son los elementos electrnicos de mayor utilidad y
esta seccin nos describe en detalle como utilizar un modulo LCD con un microcontrolador
de la empresa Microship modelo PIC16F84.
Aqu suministraremos los diagramas de conexin electrnica, programas de ejemplo para el
microcontrolador comenzando con un nivel muy bsico hasta un nivel medianamente
avanzado. Estos programas podrs obetenerlo directamente por DOWNLOAD en esta pagina
WEB de PCB Electronics Systems.
Si usted esta interesado en aprender a manejas completamente el microcontrolador PIC16F84
puede hacer doble click Aqu. En ella encontrara un curso completo de todo lo referente al
PIC-16F84. Para esta seccin usted necesitara conocimientos mnimos de como programar el
microcontrolador PIC16F84.
Sabemos ahora que los microcontroladores han dado un giro de 360 grados ya que han
simplificado la gran cantidad de componentes electrnicos que se utilizaban anteriormente
como por ejemplo la arquitectura de un microprocesador Z-80. En la siguiente imagen se
muestra el circuito electrnico completo con un microcontrolador PIC16F84 para manejar un
modulo LCD.
Es importante destacar que el programa realizado para este proyecto tiene las rutinas de
tiempo calculadas con un cristal de 4 MHZ; En el caso de que usted trabaje con un cristal
mucho mayor o diferente de 4 Mhz, las rutinas de tiempo establecidas en el programa sern
mucho mas cortas si el cristal utilizado es mayor de 4 Mhz y para el caso de que el cristal sea
menor que 4 Mhz, las rutinas de tiempo sern mucho mas largas, por lo tanto dependiendo del
cristal utilizado podra causar problemas de entendimiento con el modulo LCD.
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (1 of 7) [07/07/2001 06:01:57 p.m.]

11.1-. Declaracin de constantes que sern utilizadas en el programa del PIC16F84:


El siguiente cdigo representa algunas constantes reservadas del microcontrolador PIC16F84
y otras de asignacin personal. Estas instrucciones son para el ensamblador y las constantes
tratadas sern usadas bsicamente en todo nuestro programa. La seccin azul representa los
registros de funciones especiales del microcontrolador, la seccin amarilla representa los Bits
del puerto "A" destinados al bus de control del modulo LCD y finalmente la seccin morada
representa las constantes que definirn los tiempos de las rutinas de temporizacin.
DECLARACION DE CONSTANTES.
CODIGO: COMENTARIO
PORTB EQU 0X06 Direccin del puerto B
TRISB EQU 0X06 Configurador del puerto B para I/O.
PORTA EQU 0X05 Direccin del puerto A
TRISA EQU 0X05 Configurador del puerto A para I/O.
STATUS EQU 0X03 Direccin del registro STATUS.
LCD_E EQU 2 Bit del puerto A para control de E.
LCD_RW EQU 1 Bit del puerto A para control de R/W.
LCD_RS EQU 0 Bit del puerto A para control de RS.
RETARDO1 EQU 0X0D Constante del temporizador 1
RETARDO2 EQU 0X00 Constante del temporizador 2
11.2-. Reserva de Memoria RAM:
El PIC16F84 tiene disponible 68 Bytes de memoria RAM. La memoria comienza desde la
direccin 0X0C ( Posicin numero Dcima Tercera del mapa de registros ) y termina en la
posicin 0X4F ( Posicin numero 80 del mapa de registros ).
La instruccin ORG le indica al ensamblador donde debe comenzar a reservar la memoria
RAM que a continuacin declaramos.
Para nuestro pequeo experimento, tan solo necesitamos dos bytes de memoria RAM.
RESERVA DE MEMORIA RAM
CODIGO: COMENTARIO
ORG 0X0C Inicio de los registros de Uso general
CONT1 RES 1 Reserva un Byte para la Variable CONT1
CONT2 RES 1 Reserva un Byte para la Variable CONT2
11.3-. Configuracin de los Puertos:
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (2 of 7) [07/07/2001 06:01:57 p.m.]
El siguiente cdigo le dice al microcontrolador PIC16F84 que el puerto "A" con sus cinco
lineas y el puerto "B" con sus ocho lineas sern configurados como salidas para nuestro
pequeo experimento.
CONFIGURACION DE LOS PUERTOS:
CODIGO: COMENTARIO
ORG 0X00
BSF STATUS,5 Cambio al banco 1
MOVLW b'00000000'
MOVWF TRISA Configura todo el puerto A como salida.
MOVLW b'00000000'
MOVWF TRISB Configura todo el puerto B como salida
BCF STATUS,5 Cambio al banco 0
11.4-. Programa Principal:
El programa principal en nuestro pequeo proyecto, lo hemos dividido en dos secciones de
colores. La seccin en color azul representan las instrucciones necesarias para la
inicializacin del modulo LCD. La seccin en color amarillo representa el programa que se
encargara de escribir la palabra "PCB ELECTRONICS". En la columna de COMENTARIO
del programa, hemos agregado una pequea informacin para que usted entienda que es lo
que sucede cuando se ejecuta la instruccin sealada.

PROGRAMA PRINCIPAL:
CODIGO: COMENTARIO
CALL TEMPO2
Llamada de sub-rrutina de tiempo de 15
milisegundos. Esta Subrrutina es solicitada en el
momento que se enciende el circuito para esperar
que el modulo LCD estabilice sus voltajes
internos.
MOVLW b'00110000'
Este comando carga en el acumulador del
PIC16F84 el numero binario que representa el
comando en el modulo LCD para trabajar con un
bus de datos de 8 Bits. Posteriormente a esta
instruccin se ejecuta una subrrutina llamada
LCDI ( LCD INSTRUCCION) que estar
encargada de colocar el dato en el modulo LCD (
Bus de datos ) y ejecuta la secuencia requerida
para el bus de control del modulo LCD.
CALL LCDI
Llamada de una sub-rrutina que estar encargada
de colocar el dato en el modulo LCD ( Bus de
datos ) y ejecuta la secuencia requerida para el
bus de control del modulo LCD.
MOVLW b'00111000'
Este comando carga en el acumulador del
PIC16F84 el numero binario que representa el
comando en el modulo LCD para trabajar con
Activacin de dos lineas en el modulo LCD.
Posteriormente a esta instruccin se ejecuta una
subrrutina llamada LCDI que fue explicada en la
instruccin numero 2 de esta misma tabla.
CALL LCDI
Llamada de una sub-rrutina que estar encargada
de colocar el dato en el modulo LCD ( Bus de
datos ) y ejecuta la secuencia requerida para el
bus de control del modulo LCD.
MOVLW b'00001110'
Este comando carga en el acumulador del
PIC16F84 el numero binario que representa el
comando en el modulo LCD para trabajar con
encendido de la pantalla y el cursor en el modulo
LCD. Posteriormente a esta instruccin se ejecuta
una subrrutina llamada LCDI que fue explicada
en la instruccin numero 2 de esta misma tabla.
CALL LCDI
Llamada de una sub-rrutina que estar encargada
de colocar el dato en el modulo LCD ( Bus de
datos ) y ejecuta la secuencia requerida para el
bus de control del modulo LCD.
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (3 of 7) [07/07/2001 06:01:57 p.m.]
MOVLW b'00000110'
Este comando carga en el acumulador del
PIC16F84 el numero binario que representa el
comando en el modulo LCD para trabajar con el
desplazamiento del cursor a la derecha
Posteriormente a esta instruccin se ejecuta una
subrrutina llamada LCDI que fue explicada en la
instruccin numero 2 de esta misma tabla.
CALL LCDI
Llamada de una sub-rrutina que estar encargada
de colocar el dato en el modulo LCD ( Bus de
datos ) y ejecuta la secuencia requerida para el
bus de control del modulo LCD.
MOVLW "P" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "C" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "B" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW " " Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "E" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "L" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "E" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "T" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "R" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "O" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "N" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "I" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "C" Coloca el carcter ASCII en W
CALL LCDC Rutina para escribir un carcter en el LCD.
MOVLW "S" Coloca el carcter ASCII en W
CICLO GOTO CICLO
11.5-. Subrrutinas:
11.5.1-. Subrrutina para ejecutar una Instruccin.
Esta subrrutina que la hemos llamado LCDI configura el bus de control del modulo LCD para
ejecutar una instruccin que esta presente en el bus de datos. La instruccin es
inmediatamente ejecutada por el modulo LCD cuando se activa el ENABLE. Esta subrrutina
es utilizada por el programa principal solamente cuando se requiere dar una Instruccin al
modulo LCD.
SUBRRUTINA LCDI: ( EJECUCION DE UNA INSTRUCCION )
CODIGO: COMENTARIO
LCDI BCF PORTA,LCD_RW Coloca "0" en el Pin RW.
BCF PORTA,LCD_RS Coloca "0" en el Pin RS.
BSF PORTA,LCD_E Coloca "1" en el Pin E
MOVWF PORTB
Coloca el contenido de "W" en el bus de
datos del modulo LCD.
BCF PORTA,LCD_E Coloca "0" en el Pin E
CALL TEMPO1
Llamada de una sub-rutina de tiempo de 40
micro segundos.
RETURN Finaliza la Rutina de tiempo.
11.5.2-. Subrrutina para escribir un dato o un carcter en el modulo LCD.
Esta subrrutina configura el bus de control del modulo LCD para escribir un dato que esta
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (4 of 7) [07/07/2001 06:01:57 p.m.]
presente en el bus de datos del modulo LCD . El dato se escribe en la pantalla
inmediatamente cuando se activa el ENABLE. Esta subrrutina es utilizada por el programa
principal solamente cuando se quiere escribir un caracter en el modulo LCD.
SUBRRUTINA LCDC: ( ESCRIBIR UN DATO O CARACTER )
CODIGO: COMENTARIO
LCDC BCF PORTA,LCD_RW Coloca "0" en el Pin RW.
BSF PORTA,LCD_RS Coloca "1" en el Pin RS.
BSF PORTA,LCD_E Coloca "1" en el Pin E
MOVWF PORTB
Coloca el contenido de "W" en el bus de
datos del modulo LCD.
BCF PORTA,LCD_E Coloca "0" en el Pin E
CALL TEMPO1
Llamada de una sub-rutina de tiempo de 40
micro segundos.
RETURN Finaliza la Rutina de tiempo.
11.5.3-. Subrrutina de 58 microsegundos.
Esta subrrutina de tiempo es solicitada cuando se ejecuta una instruccin o un dato para dar el
tiempo necesario que requiere el modulo LCD para finalizar el proceso. Esta sub-rrutina
denominada TEMPO1 tiene una curacin de 58 microsegundos basados en un cristal de 4
Mhz.
SUBRRUTINA DE TIEMPO ( TEMPO1 )
CODIGO: COMENTARIO
TEMPO1 MOVLW RETARDO1
MOVWF CONT1
CICLOT1 NOP
DECFSZ CONT1,1
GOTO CICLOT1
RETURN
11.5.4-. Subrrutina de 15.37 milisegundos.
Esta subrrutina de tiempo es utilizada solamente cuando se enciende la pantalla para la
estabilizacion de los voltajes. Esta sub-rrutina denominada TEMPO2 tiene una duracion de
15.37 milisegundos basados en un cristal de 4 Mhz.
SUBRRUTINA DE TIEMPO ( TEMPO2 )
CODIGO: COMENTARIO
TEMPO2 MOVLW RETARDO2
MOVWF CONT2
CICLOT2 CALL TEMPO1
DECFSZ CONT2,1
GOTO CICLOT2
RETURN
Estas son todas las instrucciones que usted necesita para controlar un modulo LCD con un
microcontrolador PIC16F84. La informacin presentada en esta seccin ha sido probada que
funciona correctamente.
Para facilitarle a usted el tiempo de transcripcin de los programas de prueba para nuestro
pequeo experimento, podr obtener los archivos originales por DOWNLOAD. Tan solo
haga doble click con el mouse en el nombre respectivo para obtener el archivo.
Nombre del Archivo Comentario
LCD1.ASM Archivo principal en lenguaje asembler.
LCD1.HEX Archivo compilado.
Una pequea explicacin referida a los dos archivos tendr algo de importancia en el cual el
archivo denominado LCD1.ASM es un archivo que podr ser observado en cualquier editor
de textos. El archivo LCD1.HEX es la traduccin en lenguaje de maquina del archivo
LCD1.ASM y es el que necesita el microcontrolador.
HAZ CLI CK AQUI PARA I R AL CAPI TULO I I I MODULOS LCD
CONECTADOS SERI ALMENTE CON UN PI C16F84
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (5 of 7) [07/07/2001 06:01:57 p.m.]
Amigo Visitante, si usted tiene alguna sugerencia, comentario de nuestro trabajo, cualquier cosa que nos
quiera informar, le agradeceramos mucho que se pusiera en contacto con nosotros por medio del siguiente
correo electrnico: phorlakis@cantv.net En el correo, por favor coloque de que Pais pertenece y su
ciudad donde vive y finalmente en que se especializa usted ?.

PCB ELECTRONICS SYSTEMS


Los Aceitunos, Av. 69A N-. 80B-105
Maracaibo - Zulia - Venezuela
Telfonos: Fax: (061)-753-51-10 PROVISIONAL - (014)-361-9181
E-MAIL: phorlakis@cantv.net
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (6 of 7) [07/07/2001 06:01:57 p.m.]


HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (7 of 7) [07/07/2001 06:01:57 p.m.]
BUSQUEDA RAPIDA

MODULOS LCD
Lista de Precios

2000 PCB Electronics Systems


Todo los Derechos Reservados.

MODULOS LCD
CAPI TULO I I I

12-. Controlando un Modulo LCD Serialmente, Introduccin.


En la actualidad sabemos que un modulo LCD requiere de 8 lineas para el bus de datos y 3
lineas para el bus de control, por lo tanto tenemos un total de 11 lineas que se necesitan para
controlar un modulo LCD. Esta cantidad de lineas son demasiadas para algunos proyectos
electrnicos. Para el caso de un microcontrolador PIC16F84 que tan solo dispone de 13
lineas, le sobran dos lineas para ser aplicados a cualquier parte de nuestro proyecto que
podran ser insuficientes. Es por eso que aqu presentamos una opcin en donde podrs
controlar un modulo LCD con solo tres lineas de un microcontrolador, dando as mayor
cobertura para el resto del proyecto, para el caso del microcontrolador PIC16F84 tendramos
10 lineas para nuestro proyecto.
El siguiente diagrama electrnico fue diseado originalmente por el seor Marc Simons en
Octubre del ao 1996 para el microcontrolador PIC16C54; y modificado por PCB Electronics
Systems en Febrero del 2001 para el microcontrolador PIC16F84.

HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (1 of 8) [07/07/2001 06:02:53 p.m.]
Si la imagen presentada anteriormente no la puede observar bien, puedes obtener una copia
haciendo click aqu. El tamao del archivo es de 137 Kb.
NOTAS IMPORTANTES ANTES DE COMENZAR:
En el diagrama esquemtico, el circuito integrado 4094 no tiene planteado los pines de
suministro de voltaje la cual bebern ser tomados en cuenta a la hora de montarlo en un
protoboard para las respectivas pruebas.
G
El circuito planteado en esta seccin, solamente tendr la capacidad de poder enviar un
dato al modulo LCD ( Escribir caracteres en la pantalla ) y enviar alguna instruccin
especifica de modulo; pero no tendr la capacidad de leer informacin almacenada
dentro del modulo LCD.
G
Para utilizar este circuito electrnico ( Mtodo Serial ) se requiere que la persona tenga
un mnimo de conocimientos del las funciones de cada uno de los pines de control del
modulo LCD.
G
Para entender este circuito electrnico primero comenzaremos con observar que el
microcontrolador PIC16F84 utiliza los pines RB0, RB1 y RB2 para transferir el dato
serialmente y para controlar el bus de control del modulo LCD.
Ahora explicaremos la teora bsica que se requiere para escribir un carcter el la pantalla del
modulo LCD con este mtodo:
El circuito integrado 4094 es conocido como un integrado que recibe una informacin en
forma serial y es organizada en forma paralela desde Q1 hasta Q8 que representan las salidas.
Este tipo de circuito integrado esta clasificado como un registro de desplazamiento y esta
conformado por 8 Flip Flops interconectados serialmente. La informacin que esta
almacenada en los flip flops experimentan un corrimiento hacia la derecha o hacia la
izquierda con cada pulso de reloj. Un bit almacenado en un flip flop de la cadena se transfiere
o se desplaza ( Derecha o Izquierda ) al flip flop siguiente o adyacente.
Por ejemplo, si nosotros queremos escribir el carcter"A" en el modulo LCD, tenemos que
saber que la representacin binaria del carcter"A = 01000001", un programa interno en el
microcontrolador ( diseado por el programador ) deber tomar cada uno de los bits que
conforman el carcter"A" comenzando por el bit menos significativo; es decir, primero toma
el "1", seguidamente el "0", "0", "0", "0", "0", "1" y finalmente el ultimo bit "0". Cada uno de
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (2 of 8) [07/07/2001 06:02:53 p.m.]
estos bits son emitidos por el Pin del microcontrolador denominado RB1 el cual esta
conectado con el Circuito Integrado 4094 en el Pin numero 2 denominado "D". Cada vez que
se emita un Bit, el microcontrolador (RB0) tambin emite un pulso de reloj al Pin No. 3 del
C.I. 4094. El Bit que esta presente en el Pin No. 2 es tomado y colocado en los registros
internos del CI 4094.
Cuando la palabra completa de 8 Bits se encuentra dentro de los registros del C.I. 4094 se
procede a emitir un pulso desde el microcontrolador (RB2) que esta conectado con el Pin No.
1 del C.I. 4094 (STR), este pulso autoriza al C.I. 4094 a colocar el dato completo de 8 bits en
las salidas desde Q1 hasta Q8.
Ahora tenemos nuestro carcter"A" presente en las salidas del C.I. 4094 lo cual quiere decir
que ya se encuentra presente el carcter"A" en el bus de datos del modulo LCD. El dato ser
ledo por el modulo LCD si su bus de control esta configurado para ello. Observemos en
nuestro circuito que Pin R/W del modulo LCD esta conectado a tierra y el Pin "E" del modulo
LCD esta conectado directamente a RB2 del microcontrolador, finalmente el Pin "RS" esta
conectado a un pequeo circuito conformado por un transistor. Ahora sabemos que para poder
escribir un dato en la pantalla del modulo LCD tenemos que tener configurado el Pin R/W =
0, RS=1 y el Pin denominado E del modulo LCD deber colocarse en E = 1 durante 450 nano
segundos y volverlo a colocar en E = 0 para que tome el dato presente en el bus para escribir
el carcter en el modulo LCD.
Ahora aqu viene la parte interesante de nuestro circuito en el cual le tenemos que decirle al
modulo LCD que tome el carcter"A" presente en el bus de datos. Observe primero que el Pin
No 8 del microcontrolador (RB2) esta conectado a dos partes diferentes en el circuito,
primero esta conectado al Pin No 1 del C.I. 4093 (STR) y segundo esta conectado al modulo
LCD en el Pin No. 6 denominado "E", lo cual quiere decir que el Pin RB2 del
microcontrolador es utilizado para dos funciones:
La primera funcin del Pin No. 8 del Microcontrolador (RB2) es emitir un pulso para que sea
recibido por el Pin N-. 1 del C.I. 4094 (STR) en el momento que la palabra completa de 8 bits
se encuentre presente dentro del registro de desplazamiento. Esta palabra de 8 bits aparece en
la salida del C.I. 4094 en los pines desde Q1 hasta Q8 en el momento que STR recibe el
Pulso.
La segunda funcin del Pin No. 8 del Microcontrolador (RB2) viene inmediatamente despus
de haber realizado la primera funcin. En el momento que se ejecuta la primera funcin, el
dato esta presente en las salidas del C.I. 4094 por ende el dato estar presente en el bus de
datos del modulo LCD; pero para poder escribir un carcter en la pantalla del modulo, se
tiene como condicin obligatoria que el Pin No. 6 del modulo LCD "E" deber permanecer en
E=1 durante 450 nano segundos, en este momento se debe volver a cambiar el estado logico
de "E" a 0, haciendo que el modulo capture el caracter "A" y lo escriba en la pantalla.
Por otra parte, el Pin No. 4 (RS) del bus de control del modulo LCD deber estar colocado en
"1" para escribir un carcter en la pantalla. En nuestro circuito el Pin RS del modulo LCD
esta controlado por el Pin RB0 del microcontrolador por medio de un pequeo circuito
conformado por C1, Q1, R1 y R4. Se podr observar que RB0 del microcontrolador tambin
estar encargado de emitir el tren de pulsos que requiere el C.I. 4094 para capturar el dato en
sus registros.
Si queremos escribir un carcter, primero debemos colocar RB0 = 1 durante 500 micro
segundos para que se cargue el condensador C1, permitiendo que el transistor Q1 se active y
coloque a RS = 1. Seguidamente se enva el tren de pulsos que esta relacionado con los bits
que conforman el dato. Este tren de pulsos no altera el voltaje del capacitor C1 asegurandose
de esta manera RS = 1 durante un tiempo dentro el cual se debe activar el Pin denominado
"E" del modulo LCD para escribir el carcter en la pantalla.
Si queremos enviar una instruccin al modulo LCD, primero debemos colocar RB0 = 0 para
que el condensador proceda a descargarse, desactivando el transistor Q1 y colocando a RS =
0 y se procede de igual manera con el tren de pulsos que esta relacionado con los bits que
conforman a la instruccin.
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (3 of 8) [07/07/2001 06:02:53 p.m.]
12-. Programas necesarios para el Microcontrolador PIC16F84, comezaremos con la
declaracin de constantes que sern utilizadas en el programa:
El siguiente cdigo representa algunas constantes reservadas del microcontrolador PIC16F84
y otras de asignacin personal. Estas instrucciones son para el ensamblador y las constantes
tratadas sern usadas bsicamente en todo nuestro programa. La seccin azul representa los
registros de funciones especiales del microcontrolador, y finalmente la seccin morada
representa las constantes que definirn los tiempos de las rutinas de temporizacin.
DECLARACION DE CONSTANTES.
CODIGO: COMENTARIO
PORTB EQU 0X06 Direccin del puerto B
TRISB EQU 0X06 Configurador del puerto B para I/O.
STATUS EQU 0X03 Direccin del registro STATUS.
CARRY EQU 0
Bit del registro STATUS que informa si existe
acarreo o no.
RETARDO1 EQU 0X0D Constante del temporizador 1
RETARDO2 EQU 0X00 Constante del temporizador 2
INSTRUCT EQU 0 Bit de banderas
ClockOut EQU 0
Bit del puerto B para controlar el CLOCK del CI
4094
DataOut EQU 1 Bit del puerto B para controlar el DATO del CI 4094
StrobeOut EQU 2
Bit del puerto B para controlar el STROBE del CI
4094
12.1-. Reserva de Memoria RAM:
El PIC16F84 tiene disponible 68 Bytes de memoria RAM. La memoria comienza desde la
direccin 0X0C ( Posicin numero Dcima Tercera del mapa de registros ) y termina en la
posicin 0X4F ( Posicin numero 80 del mapa de registros ).
La instruccin ORG le indica al ensamblador donde debe comenzar a reservar la memoria
RAM que a continuacin declaramos.
Para nuestro pequeo experimento, tan solo necesitamos seis bytes de memoria RAM.
RESERVA DE MEMORIA RAM
CODIGO: COMENTARIO
ORG 0X0C Inicio de los registros de Uso general
CONT1 RES 1
RESERVA DE UN BITE DE MEMORIA RAM
PARA LAS VARIABLES CONT1, CONT2,
BANDERAS, OUTPUTREG, COUNTERREG Y
cont1
CONT2 RES 1
BANDERAS RES 1
cont1 RES 1
OutPutReg RES 1
CounterReg RES 1
12.2-. Configuracin de los Puertos:
El siguiente cdigo le dice al microcontrolador PIC16F84 que el puerto "A" con sus cinco
lineas y el puerto "B" con sus ocho lineas sern configurados como salidas para nuestro
pequeo experimento.
CONFIGURACION DE LOS PUERTOS:
CODIGO: COMENTARIO
ORG 0X00
BSF STATUS,5 Cambio al banco 1
MOVLW b'11111000'
MOVWF TRISB Configura todo el puerto Bcomo salida.
BCF STATUS,5 Cambio al banco 0
12.3-. Programa Principal:
El programa principal en nuestro pequeo proyecto, lo hemos dividido en dos secciones de
colores. La seccin en color azul representan las instrucciones necesarias para la
inicializacin del modulo LCD. La seccin en color amarillo representa el programa que se
encargara de escribir la palabra "PCB ELECTRONICS". En la columna de COMENTARIO
del programa, hemos agregado una pequea informacin para que usted entienda que es lo
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (4 of 8) [07/07/2001 06:02:53 p.m.]
que sucede cuando se ejecuta la instruccin sealada.

PROGRAMA PRINCIPAL:
CODIGO: COMENTARIO
CALL TEMPO2
Llamada de sub-rrutina de tiempo de 15
milisegundos. Esta Subrrutina es solicitada
en el momento que se enciende el circuito
para esperar que el modulo LCD estabilice
sus voltajes internos.
BSF BANDERAS,INSTRUCT
MOVLW b'00110000'
Este comando carga en el acumulador del
PIC16F84 el numero binario que representa
el comando en el modulo LCD para trabajar
con un bus de datos de 8 Bits.
Posteriormente a esta instruccin se ejecuta
una subrrutina llamada LCDI ( LCD
INSTRUCCION) que estar encargada de
colocar el dato en el modulo LCD ( Bus de
datos ) y ejecuta la secuencia requerida para
el bus de control del modulo LCD.
CALL salidaLCD
Llamada de una sub-rrutina que estar
encargada de colocar el dato en el modulo
LCD ( Bus de datos ) y ejecuta la secuencia
requerida para el bus de control del modulo
LCD.
CALL TEMPO1
MOVLW b'00111000'
Este comando carga en el acumulador del
PIC16F84 el numero binario que representa
el comando en el modulo LCD para trabajar
con Activacin de dos lineas en el modulo
LCD. Posteriormente a esta instruccin se
ejecuta una subrrutina llamada LCDI que
fue explicada en la instruccin numero 2 de
esta misma tabla.
CALL SALIDALCD
Llamada de una sub-rrutina que estar
encargada de colocar el dato en el modulo
LCD ( Bus de datos ) y ejecuta la secuencia
requerida para el bus de control del modulo
LCD.
CALL TEMPO1
MOVLW b'00001110'
Este comando carga en el acumulador del
PIC16F84 el numero binario que representa
el comando en el modulo LCD para trabajar
con encendido de la pantalla y el cursor en
el modulo LCD. Posteriormente a esta
instruccin se ejecuta una subrrutina
llamada LCDI que fue explicada en la
instruccin numero 2 de esta misma tabla.
CALL SALIDALCD
Llamada de una sub-rrutina que estar
encargada de colocar el dato en el modulo
LCD ( Bus de datos ) y ejecuta la secuencia
requerida para el bus de control del modulo
LCD.
CALL TEMPO1
MOVLW b'00000110'
Este comando carga en el acumulador del
PIC16F84 el numero binario que representa
el comando en el modulo LCD para trabajar
con el desplazamiento del cursor a la
derecha Posteriormente a esta instruccin se
ejecuta una subrrutina llamada LCDI que
fue explicada en la instruccin numero 2 de
esta misma tabla.
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (5 of 8) [07/07/2001 06:02:53 p.m.]
CALL SALIDALCD
Llamada de una sub-rrutina que estar
encargada de colocar el dato en el modulo
LCD ( Bus de datos ) y ejecuta la secuencia
requerida para el bus de control del modulo
LCD.
CALL TEMPO1
BCF BANDERAS, INTRUCT
MOVLW "P" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "C" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "B" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW " " Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "E" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "L" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "E" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "T" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "R" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "O" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "N" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "I" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "C" Coloca el carcter ASCII en W
CALL SALIDALCD Rutina para escribir un carcter en el LCD.
MOVLW "S" Coloca el carcter ASCII en W
CICLO GOTO CICLO
12.4-. Subrrutinas:
12.4.1-. Subrrutina para la comunicacion con el modulo LCD.
Esta subrrutina que la hemos llamado SALIDALCD que consiste en enviar un dato de ocho
bits por el pin de datos de forma sincrona ( Uno detras del otro) controlados por el pulso de
reloj. Despues de transmitir el dato se aplica la sea del strobe para que el dato completo del
CI 4094 pase a sus salidas y el LCD lo capture. Todo este proceso se hace tomando en cuenta
los tiempos de carga y descarga del capacitor y el tiempo de respuesta del modulo LCD.
SUBRRUTINA DE TIEMPO ( SALIDALCD)
CODIGO: COMENTARIO
SALIDALCD MOVWF OUTPUTREG
BCF PORTB,CLOCLOUT
BTFSS BANDERAS,INSTRUCT
BSF PORTB,CLOCKOUT
MOVLW .140
MOVWF CONT1
LOADCAPLOOP DECFSZ CONT1,1
GOTO LOADCAPLOOP
BSF PORTB,CLOCKOUT
MOVLW .8
MOVWF COUNTERREG
BCF PORTB,CLOCKOUT
BCF PORTB,DATAOUT
RLF OUTPUTREG,1
BTFSC STATUS,CARRY
BSF PORTB,DATAOUT
BSF PORTB,CLOCKOUT
DECFSZ COUNTERREG,1
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (6 of 8) [07/07/2001 06:02:53 p.m.]
GOTO NEXTOUT
BCF PORTB,CLOCKOUT
BSF PORTB,STROBEOUT
BCF PORTB,STROBEOUT
RETLW 0

12.4.2-. Subrrutina de 58 microsegundos.


Esta subrrutina de tiempo es solicitada cuando se ejecuta una instruccin o un dato para dar el
tiempo necesario que requiere el modulo LCD para finalizar el proceso. Esta sub-rrutina
denominada TEMPO1 tiene una curacin de 58 microsegundos basados en un cristal de 4
Mhz.
SUBRRUTINA DE TIEMPO ( TEMPO1 )
CODIGO: COMENTARIO
TEMPO1 MOVLW RETARDO1
MOVWF CONT1
CICLOT1 NOP
DECFSZ CONT1,1
GOTO CICLOT1
RETURN
12.4.3-. Subrrutina de 15.37 milisegundos.
Esta subrrutina de tiempo es utilizada solamente cuando se enciende la pantalla para la
estabilizacion de los voltajes. Esta sub-rrutina denominada TEMPO2 tiene una duracion de
15.37 milisegundos basados en un cristal de 4 Mhz.
SUBRRUTINA DE TIEMPO ( TEMPO2 )
CODIGO: COMENTARIO
TEMPO2 MOVLW RETARDO2
MOVWF CONT2
CICLOT2 CALL TEMPO1
DECFSZ CONT2,1
GOTO CICLOT2
RETURN
Estas son todas las instrucciones que usted necesita para controlar un modulo LCD con un
microcontrolador PIC16F84. La informacin presentada en esta seccin ha sido probada que
funciona correctamente.
Para facilitarle a usted el tiempo de transcripcin de los programas de prueba para nuestro
pequeo experimento, podr obtener los archivos originales por DOWNLOAD. Tan solo
haga doble click con el mouse en el nombre respectivo para obtener el archivo.
Nombre del Archivo Comentario
LCD1.ASM Archivo no copilado en .ASM
HAZ CLI CK AQUI PARA I R AL CAPI TULO I V MODULOS LCD
MATRI CI ALES
Amigo Visitante, si usted tiene alguna sugerencia, comentario de nuestro trabajo, cualquier cosa que nos
quiera informar, le agradeceramos mucho que se pusiera en contacto con nosotros por medio del siguiente
correo electrnico: phorlakis@cantv.net En el correo, por favor coloque de que Pais pertenece y su
ciudad donde vive y finalmente en que se especializa usted ?.

PCB ELECTRONICS SYSTEMS


Los Aceitunos, Av. 69A N-. 80B-105
Maracaibo - Zulia - Venezuela
Telfonos: Fax: (061)-753-51-10 PROVISIONAL - (014)-361-9181
HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (7 of 8) [07/07/2001 06:02:53 p.m.]
E-MAIL: phorlakis@cantv.net


HobbiePic.Com
http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (8 of 8) [07/07/2001 06:02:53 p.m.]

También podría gustarte