Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SESIÓN 3
MANEJO DE VISUALIZADORES
(DISPLAY DE 7 SEGMENTOS Y LCD)
“1" lógico
enciende el “0" lógico enciende
segmento e el segmento c
“1" “0"
“1" “0"
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
Puerto de datos
Control de
encendido/
apagado
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.
15 A
16 K
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.
6 E Habilitación de señales.
(LCD_E) E=0 Módulo desconectado
E=1 Módulo conectado
15 A Ánodo
16 K Cátodo
29
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.
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.
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.
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 …
Activar función 0 0 0 0 1 DL N F … …
(CTRL_TYPE)
32