1
Visualizador LCD
Es un display alfanumérico de matrix de puntos formado por una pantalla de cristal líquido, sobre la cual se pueden mostrar mensajes formados por distintos caracteres.
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
2
Tipos del LCD
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
3
Conexiones LCD
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
4
Conexiones LCD
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
5
Funcionamiento del LCD
4 bits
8 bits
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
6
Controlador HD47780 Es uno de los controladores que mas comúnmente se encuentran en los LCDs. Para poder visualizar caracteres, se requiere mandar una serie de comandos e instrucciones detallados por el controlador HD47780 como limpiar pantalla, posicionar cursor , etc . Estos comandos son necesarios para mostrar mensajes de una manera sencilla.
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
7
Controlador HD47780
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
8
Controlador HD47780 El controlador tiene 2 registros de 8 bits y estos son: Registro de Datos (RD) Almacena temporalmente los datos a la DDRAM (display data RAM) y CGRAM Registro de Instrucciones(RI) Registra los códigos de instrucciones como display clear, cursor shift , etc JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
9
Controlador HD47780 Registro de Instrucciones
Funcionamiento general
Registro de Instrucciones(RI) Registra los códigos de instrucciones como display clear, cursor shift , etc JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
10
Controlador HD47780 Funcionamiento general
Registro de datos
Registro de Datos (RD) Almacena temporalmente los datos a la DDRAM (display data RAM) y CGRAM JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
11
Controlador HD47780 Display Data RAM (DDRAM) Esta memoria DDRAM es usada para almacenar el dato del display representado en códigos de caracteres de 8 bits. La capacidad es de 80x8bits o 80 caracteres.
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
12
Controlador HD47780 Character Generator ROM (CGROM) La CGROM genera un caracteres patrones de 5×8 puntos o 5×10 desde codigos de caracteres de 8-bit
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
13
Controlador HD47780 Character Generator ROM (CGROM)
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
14
Character Generator RAM (CGRAM) En la CGRAM, El usuario puede personalizar el caracter por programa. Una vez escrito en la CGRAM, los caracteres nuevos pueden ser escritos en la memoria DDRAM. JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
15
Controlador HD47780 Character Generator RAM (CGRAM)
Se pueden formar hasta 8 caracteres de una matrix de 5x8
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
16
Character Generator RAM (CGRAM) Controlador HD47780 Direcciones
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
17
Inicialización 8 Bits
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
18
Inicialización 4 Bits
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
19
Instrucciones
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
20
Instrucciones
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
21
Visualizador LCD
Generador de caracteres : http://bitmap2lcd.com/ http://www.vwlowen.co.uk/arduino/cgramdesigne r.zip
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
22
Código del Caracter
0x00
Dirección CGRAM
7
Patrones de la CGRAM 6 5 4 3 2 1
0
0
0
0
0
0
x
x
x
0
0
0
0
0
0
0
0
0
1
x
x
x
0
1
0
1
0
0
0
0
1
0
x
x
x
0
1
0
1
0
0
0
0
1
1
x
x
x
0
0
0
0
0
0
0
1
0
0
x
x
x
1
0
0
0
1
0
0
1
0
1
x
x
x
1
0
0
0
1
0
0
1
1
0
x
x
x
0
1
1
1
0
0
0
1
1
1
x
x
x
0
0
0
0
0
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
23
const char smile[8]={
0b00000000, 0b00001010, 0b00001010, 0b00000000, 0b00010001, 0b00010001, 0b00001110, 0b00000000};
const char smile[8] = {0x00, 0x0A, 0x0A, 0x00, 0x11, 0x11, 0x0E, 0x00}; JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
24
const char smile[8]={
0b00000000, 0b00001010, 0b00001010, 0b00000000, 0b00010001, 0b00010001, 0b00001110, 0b00000000};
const char smile[8] = {0x00, 0x0A, 0x0A, 0x00, 0x11, 0x11, 0x0E, 0x00}; JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
25
Funciones
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
26
Funciones cursor
Matriz de 5x8 2 Líneas 4 bits
0 1
0 x x
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
27
Funciones
0
0 1
0 x x
0 1 0 1
0 0 0
Byte de configuración
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
28
Funciones 0b00101111 & 0b00111011
=
FOUR_BIT & LINES_5x7
0
0b00101011
0 1
0 x x
0 1 0 1
0 x x
Byte de configuración
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
29
Funciones 0b00101011
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
30
Funciones
Columna 15 Columna 0 Fila 0 Fila 1 0a7
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
31
Funciones
XLCD.h
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
32
Funciones
XLCD.h
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
33
Programación MPLABx
JVM-Facultad de Electrónica– Universidad Tecnológica del Perú
34