Está en la página 1de 9

24

SESIÓN 3

MANEJO DE VISUALIZADORES
(DISPLAY DE 7 SEGMENTOS Y LCD)

3.1 El display de 7 segmentos

El display de 7 segmentos es un componente usado para representar números y letras.


Internamente está conformado por un arreglo de leds posicionados para formar un “8”.
Los segmentos que diferencian a cada led del arreglo se identifican con las letras a, b, c,
d, e, f y g, como se muestra en la figura 3.1. También existe un octavo segmento dp,
usado para la representación del punto decimal.

Figura 3.1 Display de 7 segmentos

Internamente los leds de un display de 7 segmentos pueden estar conectado en


ánodo o cátodo común. Si la conexión es ánodo común los segmentos tienen sus ánodos
unidos al potencial positivo, entonces para encender un segmento debe enviarse un “0”
lógico. En cátodo común los leds tienen sus cátodos unidos al potencial negativo o tierra,
entonces para encender un segmento debe enviarse un “1” lógico. En la figura 3.2 se
muestra las conexiones en ánodo y cátodo común.
25

Cátodo Común Ánodo Común


“1" lógico enciende “0" lógico enciende
el segmento g el segmento b

“1" lógico
enciende el “0" lógico enciende
segmento e el segmento c

Figura 3.2 Estructura interna del display

Para generar los números del 0 al 9 en un display de cátodo común, se escribe un


“1” lógico en un segmento para encenderlo y un “0” lógico para que permanezca apagado.
En la figura 3.3 se muestra los valores que debe escribirse en los segmentos del display
para visualizar los números dos y cuatro.

“1" “0"

“1" “1" “1"


“0"
“1"

“1" “0" “0" “1"

“1" “0"

Figura 3.3 Visualización de números en el display de 7 segmentos.

3.1.1 Multiplexación de los displays de 7 segmentos

Si es necesario usar más de un display, estos pueden usar el mismo puerto de datos es
decir multiplexarse tal como se muestra en la figura 3.4. Cada display debe controlarse de
forma individual, uno a la vez, para prenderlo y apagarlo periódicamente. Al realizar esto a
una alta velocidad podemos visualizar simultáneamente valores distintos en los tres
displays. Esto es solo en apariencia ya que los displays comparten el mismo puerto de
datos y deberían mostrar siempre el mismo valor, pero el ojo humano no puede detectar
cambios a velocidades altas. Así que se enciende y apaga un display tan rápido de forma
que no sea detectable. Es decir se representa un número en el primer display se apaga
ese display y se enciende el segundo para representar otro número luego se apaga el
26

segundo display y se enciende el tercero para representar el tercer número, esto se


realiza de forma continua. En apariencia nuestro ojo siempre visualizará los tres displays
encendidos.

Puerto de datos

Control de
encendido/
apagado

Figura 3.4 Multiplexación de 3 displays de 7 segmentos.

3.2 El LCD

El LCD (Liquid Cristal Display) es una pantalla donde puede mostrarse mensajes
formados por caracteres, números y símbolos. El LCD tiene un microcontrolador propio,
comúnmente el Hitachi HD44780, que se encarga de gestionar el funcionamiento de la
pantalla (ver figura 3.5). El usuario interactúa con el LCD enviándole comandos a su
puerto de periféricos que son salidas de su microcontrolador. En nuestro caso estos
comandos son enviados por el PIC16F877A para generar caracteres, controlar el cursor
de la pantalla, etc.

Figura 3.5 Módulo LCD


27

3.2.1 Conexiones a un LCD con el PIC16F877

El número de pines del LCD de 2x16 es de 14 o 16 (si cuenta con retroiluminación). En la


tabla 3.1 se muestra los pines del LCD y su descripción.

En la figura 3.6 se muestra la forma de cómo debe conectarse la alimentación al


LCD, es necesario añadir un potenciómetro de 10kΩ para regular el contraste. Es común
que al encender el LCD la primera fila aparezca sombreada, de no ser así será necesario
regular el contraste girando el potenciómetro.

15 A

16 K

Figura 3.6 Conexión para el ajuste del contraste en el LCD.

Las señales de control del LCD RS, RW y E (pines 4, 5y 6 respectivamente). La


señal RS permite seleccionar si el LCD trabaja en modo dato o en modo comando. En el
modo dato se escribe caracteres o símbolos en el LCD y en el modo comando se escribe
una instrucción al LCD como limpiar la pantalla, incrementar la posición del cursor, etc.
La señal R/W permite la escritura o lectura del LCD, comúnmente esta línea es conectada
al terminal negativo que habilita solo la escritura. Cuando R/W=0 se escribe en el LCD y
cuando R/W=1 se lee el LCD. Tanto RS como R/W necesitan de la habilitación de la señal
E, cuando E=0 no se podrá utilizar el LCD y cuando E=1 se podrán transferir datos y
realizar las demás operaciones.

El bus de datos del LCD tiene 8 líneas (pines 7 a 14) donde el bit de menor peso
es D0 y el de mayor peso es D7. El bus de datos es bidireccional ya que se puede escribir
y leer sobre el LCD. Hay dos formas en que puede conectarse el bus de datos al PIC,
usando todas las líneas (modo 8bits), según la figura 3.7, o solo cuatro líneas (modo 4
bits), según la figura 3.8.
28

Cuando el bus de datos está en el modo 4 bits se usa solo las líneas D4-D7, las líneas
D0-D3 están deshabilitadas. En este modo para enviar un byte de dato o un byte de
comando, primero se envían los 4 bits mayores y luego los 4 bits menores del dato o
comando.

Tabla 3.1 Descripción de los pines del LCD.

Terminal Símbolo Descripción

1 Vss Conexión a tierra, 0 Volts.

2 Vdd Alimentación positiva, 5V.

3 V0 Ajuste del voltaje de contraste. (0 a 5V)

4 /RS Selección de modo Control o Datos.


(LCD_RS) RS=0 Selección registro de control
RS=1 Selección registro de datos

5 R/W Selección de Lectura o Escritura.


(LCD_RW) R/W=0 Escritura (Write)
R/W=1 Lectura (Read)

6 E Habilitación de señales.
(LCD_E) E=0 Módulo desconectado
E=1 Módulo conectado

7 – 14 D0 – D7 Bus de datos bidireccional.


(LCD_BUS)

15 A Ánodo

16 K Cátodo
29

Figura 3.7 Conexión del LCD a 8 líneas

Figura 3.8 Conexión del LCD a 4 líneas

3.2.2 Zonas de memoria del LCD


3.2.2.1 DDRAM (Display Data RAM)

Es el área de memoria RAM interna del LCD donde se envían los caracteres (en código
ASCII) para visualizarlos en la pantalla. La DDRAM tiene una capacidad de 80
caracteres, 40 por línea. En el LCD de 2x16 solo se puede visualizar 32 caracteres (16
columnas por 2 líneas). Las direcciones en hexadecimal de la DDRAM están asociadas
con las posiciones de almacenamiento del LCD como se muestra en la figura 3.9. A la
primera posición de la línea 1 le corresponde la dirección 0x00 de la DDRAM y a la
primera posición de la línea 2 le corresponde la dirección 0x40.

Figura 3.9 Direcciones de la DDRAM en un LCD de 2x16


30

3.2.2.2 CGROM (Character Generator ROM)

Es el área de memoria ROM (no volátil) interna del LCD donde está definido todos los
caracteres que el display puede mostrar (números, letras, símbolos kanjis y otros). La
tabla se muestra en el apéndice C. Muchos de los caracteres de la tabla ROM coinciden
con el su correspondiente valor Ascii. Para los caracteres que no coincidan con su valor
Ascii será necesario obtener su valor en la tabla ROM para para poder visualizarlos en el
LCD.

3.2.2.3 CGRAM (Character Generator RAM)

Es el área de memoria RAM interna del LCD donde el usuario puede definir caracteres
propios o gráficos. El tamaño de la CGRAM es de 64 bytes lo cual permite crear hasta
ocho caracteres de 5x7 puntos o cuatro caracteres de 5x10 puntos.

3.2.3 Inicialización del LCD

El LCD debe ser configurado en la inicialización para definir sus características de


funcionamiento. Estas características son:

 Líneas del bus de datos (4 u 8 bits) (DL)


 Número de líneas del display (N)
 Tamaño del carácter (5x7 puntos o 5x10 puntos)
 Desplazamiento del cursor (R/L)
 Visualización del cursor (S/C)
 Cursor activo (C)
 Parpadeo del cursor (B)
 Activación del display.

En el apéndice C, se muestra la rutina de inicialización para el LCD a 4 y 8 bits.


Para el curso, nosotros elegiremos la configuración del LCD a 4 bits. Los pasos para la
inicialización en este modo se muestran en la figura 3.10. Los valores para configurar las
características del LCD según lo explicado arriba se pueden encontrar en la tabla 3.2.
31

Figura 3.10 Pasos para la inicialización de un LCD a 4 bits.

Tabla 3.2 Descripción de los pines del LCD.

LISTA DE RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
COMANDOS DE
CONTROL

Borrar pantalla 0 0 0 0 0 0 0 0 0 1
(CTRL_CLEAR)

Cursor a inicio 0 0 0 0 0 0 0 0 1 …

Establece modo 0 0 0 0 0 0 0 1 I/D S


(CTRL_ENTRY)

Control del display 0 0 0 0 0 0 1 D C B


(CTRL_DISPLAY)

Desplazar cursor/ 0 0 0 0 0 1 S/C R/L … …


pantalla

Activar función 0 0 0 0 1 DL N F … …
(CTRL_TYPE)
32

CGRAM (dirección) 0 0 0 1 Dirección CGRAM

DDRAM (dirección) 0 0 1 Dirección DDRAM

Bandera ocupado 0 1 BF Dirección DDRAM

Escribir 1 0 Escritura de Datos


CGRAM/DDRAM

Leer CGRAM/DDRAM 1 1 Lectura de Datos

I/D = 1: Incrementa D = 0: Display OFF DL = 0: Interfase de 4 bits


I/D = 0: Decrementa D = 1: Display ON N = 1: Activa las 2 líneas
S = 1: Elige desplazamiento de texto S/C = 1: Desplaza el display N = 0: Activa solo 1 línea
B = 0: Parpadeo de cursor OFF S/C = 0: Mueve el cursor F = 1: 5*10 puntos
B = 1: Parpadeo de cursor ON R/L = 1: Desplaza a la derecha F = 0: 5*7 puntos
C = 0: Cursor OFF R/L = 0: Desplaza a la izquierda BF = 1: Operando internamente
C = 1: Cursor ON DL = 1: Interfase de 8 bits BF = 0: Acepta instrucciones

También podría gustarte