You are on page 1of 6

13/10/2014

CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.

proyecto: conexin de un LCD a sistemas PIC 16/18


Descripcin general:
El LCD es actualmente el circuito ms barato y confiable para mostrar datos en un
proceso de monitoreo y control. Su interfaz con los controladores se realiza a travs
de un conector de 14 pines.
Todos los fabricantes del display de cristal lquido (Liquid Cristal Display) LCD,
han estandarizado sus seales en el conector de 14 pines, as como sus comandos de
control para el manejo del mismo
En el LCD se pueden mostrar datos como la hora y la fecha, as como valores de
variables tales como nivel, presin, gasto, temperatura, etc.
El LCD puede tambin emplearse para mostrar parmetros internos del sistema, de
acuerdo a su aplicacin o para mostrar al usuario las opciones de configuracin
mientras lo opera.

El mdulo LCD lleva integrado a sus circuitos una memoria ROM conocida como generador de caracteres que habr de
generar los patrones de la matriz de puntos (5 x 7 7 x 9) que forman los caracteres en la pantalla. Tambin tiene una RAM
http://www.puntoflotante.net/PROY_LCD.htm

1/6

13/10/2014

CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.

interna que almacena los caracteres y los exhibe en el mdulo LCD.


Hardware:
Para su integracin a un sistema de microcontrol, el diagrama general de conexiones del display se muestra en la figura de abajo.
En su aplicacin ms simple, se desea solo escritura al LCD y el pin 5 se conecta permanentemente a tierra. Las seales del
puerto B del 16F84 (16F628/F88), RB0...RB7 son usadas para enviar los datos o comandos. Las seales del puerto A, RA1 y
RA2 se usan como seales de control del LCD.
Todas las seales de datos y control llevan niveles TTL (0 a 5 volts), con excepcin de la seal de control de intensidad, en el
cual hay que aplicar tierra para la mayor intensidad y 5 volts para la menor. En EDUPIC y EVOLUPIC este voltaje ya viene
preajustado con un divisor de resistencias formado por R26 y R25, de 1K y 100K para dar la intensidad adecuada.

http://www.puntoflotante.net/PROY_LCD.htm

2/6

13/10/2014

CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.

Operacin:
En la interfaz de 14 pines, 8 son seales para el envo de comandos datos. Los datos se manejan en cdigos ASCII y se
escriben en la memoria del LCD en forma secuencial. A travs de estas mismas seales pueden enviarse tambin los comandos
mostrados en la tabla. En seguida se adjuntan 2 tablas. En la primera, se muestra la distribucin de seales de la interfaz y en la
segunda algunos de los comandos ms comnmente empleados.

http://www.puntoflotante.net/PROY_LCD.htm

3/6

13/10/2014

CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.

PIN

FUNCION
Tierra
5 volts.
Control intensidad
0=comando 1=datos
0=escribir , 1=leer
Enable modo pulso
DB0 (RB0)

1
2
3 INT
4 RS (RA1)
5 R/W
6 EN (RA2)
7

COMANDO
CLEAR
HOME
CURSOR
8 BITS
RENGLON1
RENGLON2

PIN
8
9
10
11
12
13
14

FUNCION
LIMPIA DISPLAY
POSICIONA CURSOR AL INICIO DEL LCD
MUESTRA CURSOR CON PARPADEO
SELECCIONA INTERFAZ DE 8 BITS
SELECCIONA ESCRITURA EN EL PRIMER RENGLON
SELECCIONA ESCRITURA EN EL SEGUNDO RENGLON

FUNCION
DB1 (RB1)
DB2 (RB2)
DB3 (RB3)
DB4 (RB4)
DB5 (RB5)
DB6 (RB6)
DB7 (RB7)

HEXA
01H
03H
0FH
38H
80H
C0H

Para escribir en el LCD, debe de seguirse la siguiente secuencia en la programacin:


*con RS=0, se mandan comandos de inicializacin al display LCD.Los comandos tpicos son los mostrados en la tabla. Para enviar un
comando,se escribe su cdigo en los 8 bits RB0 ...RB7 y luego se da un pulso bajo de al menos 10 milisegundos de duracin a la seal EN
(RA2). EN es una seal que debe de estar normalmente ALTA.Es importante esperar unos 10 milisegundos a que los datos estn estables antes
de aplicar el pulso.
* con RS=1, se escribe los datos en cdigo ASCII en las 8 lneas RB0 a RB7, con el mismo procedimiento sealado arriba. Los caracteres van
apareciendo en el mismo orden en el que se mandan. Para un LCD de dos renglones, cada rengln debe de manejarse con un comando
independiente. Para escribir en el primer rengln, debe previamente de enviarse el comando 80H y para el segundo rengln, un C0H
* Las seales de control RS y EN, se manejan por medio de los pines RA1 y RA2 del 16F84/F628/F88.
Conexin:
Existen, entre otros, dos tipos de displays LCD:
http://www.puntoflotante.net/PROY_LCD.htm

4/6

13/10/2014

CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.

LCD 16 X 2 con dos renglones de 16 caracteres cada uno. Cada rengln se maneja en forma independiente. Para seleccionar escribir en el
inicio del rengln, debe de enviarse antes el comando correspondiente: 80H (rengln 1) C0H (rengln 2). Adems, cada celda tiene una
direccin. Por ejemplo si queremos escribir en la tercera celda del segundo rengln, entonces enviamos antes el comando C3H.
LCD 16 X 1 es un dispositivo LCD con un solo rengln de 16 caracteres, pero electrnicamente est dividido en dos secciones de 8 caracteres.
Cada una de estas secciones se maneja como si fuese un rengln de 8 caracteres, es decir, si se desea escribir en la primera seccin debe
enviarse antes el comando es 80H y para escribir en la segunda seccin, C0H.
CONEXIN DEL LCD AL SISTEMA EDUPIC/EVOLUPIC: para conectar un LCD a su sistema, conecte cada pin en el conector con su
correspondiente contacto en el LCD, del 1 al 14, como se muestra en la figura. Es posible tambin realizar una conexin que deje libres los bits
de datos RB0...RB3, usando una interfaz de 4 bits de datos, en lugar de 8. Ms adelante se proporcionan archivos de prueba para ambas
opciones de conexin.
NOTA IMPORTANTE: En los sistemas EDUPIC y EVOLUPIC, las seales de control correspondientes a RA1 y RA2 estn
compartidas por el puerto del LCD y los microswitches A1 y A2. Al operar el LCD en estos sistemas, los MICROSWITCHES
A1 y A2 debern estar en estado OFF, ABIERTOS. De lo contrario, el LCD no funcionar, debido a que sus seales de control
estarn bloqueadas por los microswitches.
Programas de prueba: con excepcin del primer ejemplo, todos los programas operan con un display LCD 16 x 1.
EN LENGUAJE ENSAMBLADOR:
EDUPIC 16F84

EDUPIC/EVOLUPIC/F628

EVOLUPIC Bootloader
16F88

LCD2.asm
LCD16X1V2.asm
LCD16X1V2.hex

LCD16X1V2F628.asm
LCD16X1V2F628.hex

LCD16X1V3.asm

LCD16X1V3F628.asm

LCD16X1V3.hex

LCD16X1V3F628.hex

LCD16X1V4.asm

LCD16X1V4F628.asm

LCD16X1V4F88TINY.asm

LCD16X1V4.hex
LCD16X1V4F628.hex
LCD1X164BITS.asm
LCD1X164BITS.hex

LCD16X1V4F88TINY.hex

http://www.puntoflotante.net/PROY_LCD.htm

LCD16X1V2F88TINY.asm
LCD16X1V2F88TINY.hex

Manejo de display LCD 16 x 2


Mensaje de 16 caracteres en el LCD 16 X 1
Mensaje de 16 caracteres en LCD con
scrolling
Mensaje de 256 caracteres en LCD con
scrolling
Uso de la interfaz de 4 bits para el LCD

5/6

13/10/2014

CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.

EN ANSI C:
EDUPIC/EVOLUPIC/F628

EVOLUPIC Bootloader 16F88


CCSLCD3TINY.c
CCSLCD3TINY.hex
CCSSCROLLINGLCD.c
CCSLCDSCROLLINGTINY.c
CCSSCROLLINGLCD.hex
CCSLCDSCROLLINGTINY.hex
HITECHLCDSCROLLING.c
HITECHLCDSCROLLTINY.c
HITECHLCDSCROLLING.hex HITECHLCDSCROLLTINY.hex
HITECHSTRINGS2.c
HITECHLCDSCROL16TINY.c
HITECHSTRINGS2.hex
HITECHLCDSCROL16TINY.hex

http://www.puntoflotante.net/PROY_LCD.htm

Muestra mensaje de 16 caracteres en LCD 16 X 1


Mensaje de 16 caracteres en LCD con scrolling
Mensaje de 200 caracteres en LCD con scrolling
Mensaje de 16 caracteres en LCD con scrolling

6/6