Académique Documents
Professionnel Documents
Culture Documents
UN MICROCONTROLADOR
ALUMNOS:
Jos Hiplito Pascual
Jos Luis Fernndez
Enrique Silvestre
Mario Pozo
Jos Ignacio Segu
INDICE
1-Introduccin
2-Qu es un LCD?
2.1-Los caracteres del LCD
2.2-Diversidad de mdulos LCD
3-Tipos de memorias del LCD
3.1-DD RAM (Display Data Ram)
3.2-CG RAM (carcter generator RAM)
4-Interface con el exterior y funcionamiento del mdulo
4.1-Asignacin de pines
4.2-Interface del display con un microcontrolador
4.3-El bus de datos
4.4-El bus de control
4.5-Conectando un mdulo LCD a un Microprocesador PIC16F84 o
PIC16F87x
4.6-Secuencia de inicializacin del mdulo LCD
4.7-Tiempos mnimos requeridos para que una instruccin o un dato
puedan ser ejecutados
5-Comandos del LCD y ejemplo de programa
1-Introduccin
Antes de aparecer los mdulos LCD, se utilizaban los Displays de siete
segmentos para poder mostrar la informacin. Tenan una 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
ocupaban tambin bastante espacio fsico. Finalmente aparecieron los mdulos LCD o
pantallas de cristal liquido la cual tiene la capacidad de mostrar cualquier carcter alfa
numrico. Estos dispositivos ya vienen con su pantalla y toda la lgica de control
preprogramada en la fabrica y lo mejor de todo es que el consumo de corriente es
mnimo y no hace falta realizar tablas especiales como se hacia anteriormente con los
displays de siete segmentos.
Las aplicaciones de los mdulos LCD son infinitas ya que pueden ser aplicados
en la informtica, comunicaciones, telefona, instrumentacin, robtica, automviles,
equipos industriales, etc.
2-Qu es un LCD?
La definicin mas clara de un LCD es: una pantalla de cristal liquido que
visualiza unos ciertos caracteres. Para poder hacer funcionar un LCD, debe de estar
conectado a un circuito impreso en el que estn integrados los controladores del display
y los pines para la conexin del display. Sobre el circuito impreso se encuentra el LCD
en s, rodeado por una estructura metlica que lo protege.
En total se pueden visualizar 2 lneas de 16 caracteres cada una, es decir,
2x16=32 caracteres. A pesar de que el display slo puede visualizar 16 caracteres por
lnea, puede almacenar en total 40 por lnea. Es el usuario el que especifica qu
16 caracteres son los que se van a visualizar.
Tiene un consumo de energa de menos de 5mA y son ideales para dispositivos
que requieran una visualizacin pequea o media.
$20
$21
$22
$23
$24
$25
$26
$27
$28
$29
$2A
$2B
$2C
$2D
$2E
$2F
Carac.
Espacio
!
#
$
%
&
)
(
*
+
,
.
/
Cdigo
$30
$31
$32
$33
$34
$35
$36
$37
$38
$39
$3A
$3B
$3C
$3D
$3E
$3F
Carac. Cdigo
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
$40
$41
$42
$43
$44
$45
$46
$47
$48
$49
$4A
$4B
$4C
$4D
$4E
$4F
Carac. Cdigo
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
$50
$51
$52
$53
$54
$55
$56
$57
$58
$59
$5A
$5B
$5C
$5D
$5E
$5F
Carac. Cdigo
P
Q
R
S
T
U
V
W
X
Y
Z
[
]
^
-
$60
$61
$62
$63
$64
$65
$66
$67
$68
$69
$6A
$6B
$6C
$6D
$6E
$6F
`
a
b
c
d
e
f
g
h
I
j
k
l
m
n
o
$70
$71
$72
$73
$74
$75
$76
$77
$78
$79
$7A
$7B
$7C
$7D
$7E
$7F
p
q
r
s
t
u
v
w
x
y
z
{
|
}
valor vertical comprendido entre 1 y 2 (valor de lnea) y X el valor horizontal (1-40) que
indicara el carcter.
En el ejemplo de arriba, vemos la frase ALUMNOS DE TELEMATICA
EPSA, pero en el display solo se visualizaria TELEMTICA EPSA que
corresponderia a los 16 caracteres visibles. Para visualizar toda la informacin
almacenada en el display, podremos tratar al recuadro de 2 lneas por 16 caracteres
como si se tratara de una ventana mvil. Cuando inicializamos el LCD la pantalla
tendra un aspecto como el de la siguiente figura.
Cada carcter esta constituido por una matriz de 5 columnas por 8 filas. De este
modo un 1 indica un punto de la matriz encendido, y un 0 apagado como se ve en lea
siguiente figura.
Los pines 1 y 2, son los utilizados para la alimentacn del mdulo LCD. La
tensin utilizada es de 5 voltios.
El pin 3 se utiliza para ajustar el contraste de la pantalla LCD. Por medio de un
potencimetro regularemos la intensidad de los caracteres, a mayor tensin mayor
intensidad. Se suele utilizar un potencimetro de unos 10 o 20 k, que regulara la misma
tensin que se utiliza para la alimentacin.
El pin 4 se utiliza para indicar al bus de datos si la informacin que le llega es
una instruccin o por el contrario es un carcter. Si RS=0 indicara que en el bus de
datos hay presente una instruccin, y si RD=1, indicar que tiene un carcter
alfanumrico.
El pin 5 es el de escritura o lectura. Si esta a 0 el mdulo escribe en pantalla el
dato que haya en el bus de datos, y si esta a 1 leeremos lo que hay en el bus de datos.
El pin 6 es el indicado de hacer que el mdulo LCD funcione, o por el contrario
no acepte ordenes de funcionamiento. Cuando E=0 no se podr utilizar el display y
cuando E=1 se podran trnsferir datos y realizar las dems operaciones.
Las pines del 7 al 14 son los del bus de datos.
Las conexiones entre un microcontrolador y una pantalla LCD, sern la del bus
de datos de 8 bits y las de los pines de control, es decir, E, RS y R/W. Debido a esto, el
microcontrolador deber utilizar 11 bits para controlar la pantalla.
COMENTARIO
ORG
0X00
BSF
MOVLW b'00000000'
MOVWF TRISA
MOVLW b'00000000'
MOVWF TRISB
BCF
12
Programa Principal
La seccin en color rosa representan las instrucciones necesarias para la
inicializacin del modulo LCD. La seccin en color verde representa el
programa que se encargara de escribir la palabra "IRLANDES". En la columna
de COMENTARIO del programa
PROGRAMA PRINCIPAL
CODIGO
COMENTARIO
Llamada de subrutina de tiempo de 15
milisegundos. Esta Subrutina es solicitada
CALL
TEMPO2 en el momento que se enciende el circuito
para esperar que el modulo LCD estabilice
sus voltajes internos.
Este comando carga en el acumulador del
PIC16F84 el nmero 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
MOVLW b'00110000'
una subrutina 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.
Llamada de una subrutina que estar
encargada de colocar el dato en el modulo
CALL
LCDI
LCD ( Bus de datos ) y ejecuta la secuencia
requerida para el bus de control del modulo
LCD.
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 lneas en el modulo
MOVLW b'00111000'
LCD. Posteriormente a esta instruccin se
ejecuta una subrutina llamada LCDI que
fue explicada en la instruccin numero 2 de
esta misma tabla.
Llamada de una subrutina que estar
encargada de colocar el dato en el modulo
CALL
LCDI
LCD ( Bus de datos ) y ejecuta la secuencia
requerida para el bus de control del modulo
LCD.
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
MOVLW b'00001110'
el modulo LCD. Posteriormente a esta
instruccin se ejecuta una subrutina
llamada LCDI que fue explicada en la
instruccin numero 2 de esta misma tabla.
Llamada de una subrutina que estar
CALL
LCDI
encargada de colocar el dato en el modulo
LCD ( Bus de datos ) y ejecuta la secuencia
13
CICLO
Subrutinas
14
BSF
PORTA,LCD_E
MOVWF PORTB
BCF
PORTA,LCD_E
CALL
TEMPO1
RETURN
Subrutina de 58 microsegundos.
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
subrutina 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
15
16
17
18
19
20
Notas comunes
21
22
23
-Borrar display: Este comando borra todas las posiciones del display virtual y se
situa el display real en la posicin inicial, en la que se visualizan las posiciones
desde la (1,1) hasta la (16,1) y desde la (1,2) hasta la (16,2). El cursor se situa en
la posicin (1,1). El comando seria $01 y su tiempo de ejecucin 1.64 ms.
-Cursor a Home: Enviar el cursor a la posicin (1,1). El display se situa en la
posicion inicial. Comando $02 y el tiempo de ejecucin 1.64ms.
-Estabecer modo de funcionamiento: Actualiza el contador de direcciones en la
forma especificada y establece si el display realiza los desplazamientos o no. Estas
acciones se llevan a cabo cada vez que se realizan una lectura o escritura en el
display. Cuando I/D=1, el controlador de direcciones se incrementa, lo que
provoca que el cursor avance hacia la derecha cada vez que se imprime un carcter
en el display. Cuando I/D=0 el contador se decrementa y el cursor se mueve hacia
la izquierda al imprimir. Con S=1 se indica al LCD que debe mover el display una
posicin a la derecha cada vez que se imprime un carcter. Con S=0 el display
24
25
26
Ejemplo de programa
27
28
29
30