LCD funcionamiento del display de 16x2

34
1

Transcript of LCD funcionamiento del display de 16x2

1

Visualizador LCD

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 2

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.

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

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 6

8 bits

4 bits

Controlador HD47780

Es uno de los controladores que mas comúnmente seencuentran en los LCDs.

Para poder visualizar caracteres, se requiere mandar unaserie de comandos e instrucciones detallados por elcontrolador HD47780 como limpiar pantalla, posicionarcursor , etc . Estos comandos son necesarios para mostrarmensajes 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 estosson:

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 displayclear, cursor shift , etc

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 9

Controlador HD47780

Funcionamiento general

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 10

Registro de Instrucciones

Registro de Instrucciones(RI)

Registra los códigos de instrucciones como

display clear, cursor shift , etc

Controlador HD47780

Funcionamiento general

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 11

Registro de datos

Registro de Datos (RD)

Almacena temporalmente los datos a la

DDRAM (display data RAM) y CGRAM

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

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 13

Character Generator ROM

(CGROM)

La CGROM genera un

caracteres patrones de 5×8

puntos o 5×10 desde codigos

de caracteres de 8-bit

Controlador HD47780

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 14

Character Generator ROM (CGROM)

Controlador HD47780

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 15

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.

Controlador HD47780

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 16

Character

Generator RAM

(CGRAM)

Se pueden formar

hasta 8 caracteres

de una matrix de

5x8

Controlador HD47780

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 17

Character

Generator RAM

(CGRAM)

Direcciones

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/cgramdesigner.zip

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 22

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 23

x x x 0 0 0 0 0

x x x 0 1 0 1 0

x x x 0 1 0 1 0

x x x 0 0 0 0 0

x x x 1 0 0 0 1

x x x 1 0 0 0 1

x x x 0 1 1 1 0

x x x 0 0 0 0 0

Patrones de la CGRAMDirección CGRAM

Código del

Caracter

0 0 0 0 0

0 0 0 0 1

0 0 0 1 0

0 0 0 1 1

0 0 1 0 0

0 0 1 0 1

0 0 1 1 0

0 0 1 1 1

0x00

7 6 5 4 3 2 1 0

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

const char smile[8]={ 0b00000000,

0b00001010,

0b00001010,

0b00000000,

0b00010001,

0b00010001,

0b00001110,

0b00000000};

const char smile[8] = {0x00, 0x0A, 0x0A, 0x00, 0x11,

0x11, 0x0E, 0x00};

Funciones

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 26

Funciones

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 27

0 1 0 x x

cursor

4 bits2 LíneasMatriz de 5x8

Funciones

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 28

0 1 0 x x

0 0 1 0 1 0 0 0 Byte de configuración

Funciones

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 29

0 1 0 x x

0 0 1 0 1 0 x x Byte de configuración

FOUR_BIT & LINES_5x7

0b00101111

0b00111011

0b00101011

=

&

Funciones

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 30

0b00101011

Funciones

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 31

Fila 0

Fila 1

Columna 0Columna 15

0 a 7

Funciones

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 32

XLCD.h

Funciones

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 33

XLCD.h

Programación MPLABx

JVM-Facultad de Electrónica– Universidad Tecnológica del Perú 34