Pantalla LCD

     1. Conceptos básicos

     2. Terminales de conexión

     3. Comandos utilizados

     4. Set de caracteres

     5. Términos utilizados

     6. Posiciones de los caracteres

     7. Ubicación LCD en iBOARD

     8. Esquemas de conexiones

     9. Ejemplos

   10. Caracteres personalizados

   11. Descarga de Archivos

 


CONCEPTOS BÁSICOS:

La Pantalla LCD es uno de los periféricos más empleados para la presentación de mensajes, variables y casi cualquier información proveniente de un microcontrolador. Gracias a su flexibilidad, buena visibilidad y precio reducido se ha convertido en el estándar de visualización más utilizado con los microcontroladores.

 

Vocabulario sobre LCD

 

LCD Alfanumérica

Pantalla en la cual, se pueden presentar caracteres y símbolos especiales en las líneas predefinidas del LCD. Su especificación viene dada como cantidad de caracteres por columna y número de filas. Por ejemplo: 2 x 16, 4 x 20.

 

LCD Gráfica

Pantalla en la cual, se pueden presentar caracteres, símbolos especiales y gráficos. Su especificación viene dada en píxeles. Por ejemplo 128 x 64.

 

LCD Paralela

Los datos y comandos son enviados a través de un bus de datos paralelo, ya sea en modo de 4 ó 8 bits.

 

LCD Serial

La pantalla es capaz de recibir la información serial asincrónica utilizando un bus de sólo 2 líneas. Toda pantalla paralela puede ser convertida a serial mediante un circuito especializado, como por ejemplo el Controlador serial para LCD modelo  SLCD-IC.

 

Las pantallas de LCD poseen un microcontrolador integrado dentro de su propio módulo, el cual, se encarga de gestionar el control de sus terminales para la presentación de los caracteres. Almacena un  conjunto de letras y caracteres predefinidos en una memoria no volátil. El controlador más utilizado para las pantallas alfanuméricas es el HITACHI 44780.

 

 

 

 

 

 

 

                 

 Figura No. 1.  LCD de 2x16 Caracteres

Fuente: http://www.crystalfontz.com

 

 

 

 

 

 

 

 

 

 

 

Figura No. 2. LCD Gráfica 128 x 64 pixel

Fuente: http://www.crystalfontz.com

 

Las pantallas LCD que incluyen un microcontrolador interno como el HITACHI 44780 o compatible pueden:

                 ·  Presentar caracteres ASCII y griegos.

                 ·  Recibir y mostrar caracteres personalizados.

                 ·  Desplazamiento de caracteres (Scroll) tanto a la derecha como a la izquierda.

                 ·  Cambiar el aspecto y el movimiento del cursor.

                 ·  Direccionar de manera simple la posición de visualización de los caracteres.

 

TERMINALES DE CONEXIÓN: 

Los terminales de conexión de las pantallas LCD de caracteres han sido estandarizados, siendo generalmente compatibles pin a pin con lo mostrado en la tabla No. 1:

  

Terminal

Nombre

Función

Descripción

1

Vss

Energía

Referencia 0 V. GND

2

Vdd

Energía

+5 V DC

3

Vee

Ajuste Contraste

Variable de 0 a 5 V

4

RS

Comando

Selección de Dato/Comando

5

R/W

Comando

Control de Lectura/Escritura

6

E

Comando

Habilitación

7

D0

E/S

DATO LSB

8

D1

E/S

DATO

9

D2

E/S

DATO

10

D3

E/S

DATO

11

D4

E/S

DATO

12

D5

E/S

DATO

13

D6

E/S

DATO

14

D7

E/S

DATO MSB

Cuadro de texto: Tabla No. 1: Terminales de Conexión para una LCD alfanumérica estándar.
Fuente: The Nuts and Volts of BASIC Stamps, Vol 1 ,p 308.

 

 

 

 

 

COMANDOS UTILIZADOS:

La información que se envía a la pantalla LCD puede interpretarse de dos formas: como un comando, cuando se coloca al (pin) denominado RS en nivel bajo. Y como un carácter, cuando el (pin) RS está en nivel alto. Un comando es un dato numérico de 8 bits que le indica al controlador HITACHI 44780 o compatible, que deber realizar una cierta operación, entre las cuales se encuentran, como se indica en la tabla No. 2:

 

Comandos

Valor Numérico

Descripción

Nulo

0

No se efectúa ninguna operación especial.

Limpiar LCD

1

Limpia la pantalla y desplaza el cursor a la posición 0 (Home).

Home LCD

2

Mueve el cursor a la posición de inicio.

Incrementar Cursor

6

Mueve el cursor a la derecha sin desplazar la pantalla.

Off LCD

8

Apaga al LCD sin perder los datos que esta tenía.

On LCD

12

Enciende al LCD sin mostrar el cursor y con el último contenido almacenado en buffer.

Cursor Parpadeo

13

Enciende el LCD con el cursor parpadeando.

Cursor Subrayado

14

Enciende el LCD con el cursor con un subrayado.

Cursor Izquierda

16

Mueve el cursor un carácter a la izquierda.

Cursor Derecha

20

Mueve el cursor un carácter a la derecha.

Scroll Izquierda

24

Desplaza la pantalla 1 carácter a la izquierda.

Scroll Derecha

28

Desplaza la pantalla 1 carácter a la derecha.

Mover a dirección CGRAM

64

+ dirección

Mueve el apuntador a una localidad de la memoria de generación de caracteres (Character Generator RAM).

Mover a dirección SCRRAM

128

+ dirección

Mueve el cursor a una localidad de la memoria de visualización de caracteres (Display Data RAM).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cuadro de texto: Tabla No. 2:  Comandos básicos para una LCD alfanumérica estándar.
Fuente: The Nuts and Volts of BASIC Stamps, Vol 1 ,p 308.

 
Fuente: The Nuts and Volts of BASIC Stamps, Vol 1 ,p 308.

 

 

 

SET DE CARACTERES:

Aún cuando los comandos de la tabla No. 2 son suficientes para manejar la pantalla LCD en la mayoría de las aplicaciones, el programador puede crear sus propios comandos de control para la LCD, utilizando para ello las especificaciones que suministra fabricante.

 

Figura No. 3. Set de caracteres de una pantalla LCD estándar

Fuente: http://www.crystalfontz.com

 

ALGUNOS TÉRMINOS UTILIZADOS CON LCD´S:

 

CGRAM (Character Generator RAM): Memoria volátil  de 64 bytes que permite almacenar hasta 8 caracteres personalizados para ser mostrados en la pantalla.

 

SCRRAM (Display Data RAM): Memoria volátil de 80 bytes, en la cual, se almacenan los caracteres que se van a mostrar en la pantalla.

 

CGROM (Character Generator ROM): Memoria no volátil, en la cual, se almacenan los caracteres predefinidos que soportan la pantalla y su controlador.

 

POSICIONES DE LOS CARACTERES:

 

 

Posiciones Visibles

Posiciones  no Visibles

Línea 1

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

...

39

Línea 2

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

...

103

 

 

 

 

 

 

Posiciones Visibles

Línea 1

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

Línea 2

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

Línea 3

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

Línea 4

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

 

 

 

 

 

 

Tabla No. 3:  Posiciones en una pantalla LCD de 2x16 y 4x20. Números en decimal.

Fuente: PBASIC Syntax guide, Parallax 2003.

 

LCD & iBOARD:

El sistema de desarrollo ó tarjeta iBOARD, incluye una pantalla LCD estándar de 2 líneas x 16 caracteres de información y un conector extraíble para colocar la pantalla LCD al iBOARD. En la figura No. 4 se muestra en detalle el conector.

 

 

Figura No. 4. iBOARD LCD. Conector y pantalla LCD de Caracteres.

 

ESQUEMA DE CONEXIONES:

 

Figura No. 6. iBOARD LCD. Esquema de conexiones de la pantalla LCD.

 

EJEMPLOS EN MBASIC:

Ejemplos de programación en MBASIC utilizando la iBOARD y la LCD:

 

 

Un programa más elaborado:

 

 

Mostrar caracteres ASCII en la pantalla LCD del iBOARD:

 

 

 

CARACTERES PERSONALIZADOS:

Si el set de caracteres estándar de la LCD no contiene un carácter requerido por usted, puede utilizar la memoria CGRAM para almacenar hasta ocho (8) caracteres personalizados. La memoria CGRAM de un LCD estandar compatible con el controlador  HITACHI 44780, es una memoria volátil, lo que significa, que no almacena la información en forma permanente. Una vez desenergizada la LCD, la memoria CGRAM perderá su contenido.

 

Todo carácter visualizado en la pantalla LCD está conformado por una matriz de 5x8 pixel, con la fila inferior reservada para la visualización del cursor.  Usted podrá crear sus propios símbolos; simplemente vaya a la dirección de la memoria de símbolos del LCD llamada CGRAM y escriba en ella los ocho bytes que contienen su selección. Sólo se utilizarán los bit 0 al 4.

El código en MBASIC para escribir un carácter especial como el mostrado anteriormente en la memoria CGRAM de la pantalla LCD de la tarjeta iBOARD es mostrado a continuación:

 

'Crear y cargar el primer carácter especial en la CGRAM Localidad No. 0

LCDWRITE P1\P3\P2, OUTB, [CGRAM+00,31,04,14,10,10,14,04,31]

 

'Si queremos programar un segundo carácter debemos sumar (8) al valor de la CGRAM

LCDWRITE P1\P3\P2, OUTB, [CGRAM+08,31,04,14,10,10,14,04,31]

 

Para el tercer carácter sumar 16
Para el cuarto carácter sumar 24
Para el quinto carácter sumar 32
Para el sexto carácter sumar 40
Para el séptimo carácter sumar 48
Para el octavo caracter sumar 56

 

Para visualizar los caracteres, simplemente le enviaremos a la pantalla el número entre el (0 - 7)

del carácter especial (previamente creado) que deseamos visualizar.

 

'Para visualizar el primer carácter especial creado en la CGRAM localidad 0

LCDWRITE P1\P3\P2, OUTB, [0]

 

'Para visualizar el segundo carácter especial creado en la CGRAM localidad 8

LCDWRITE P1\P3\P2, OUTB, [1]

 

Ejemplos de programación en MBASIC utilizando la iBOARD, LCD y caracteres personalizados:

 

 

Parallax,inc dispone de una aplicación que facilita la creación de caracteres especiales denominada LCDCC "LCD Character Creator", la cual, se puede descargar junto a su ayuda. Una pantalla típica de este programa es mostrada a continuación:

 

 

Los datos de salida de los caracteres creados vienen expresados en numeración hexadecimal, lo cual con una simple conversión lo podemos expresar en decimal y hacer de esta forma la numeración compatible con lo explicado hasta el momento.

 

 

DESCARGAR CÓDIGOS DE PROGRAMAS:

 

     LCD_01.bas

     LCD_02.bas

     LCD_03.bas

     LCD_04.bas

     LCDCC (aplicación)

     LCDCC_(Ayuda)