Sunteți pe pagina 1din 5

GESTION DE UN LCD USANDO CCS COMPILER (PICC)

La mayoría de displays de cristal líquido se usan con controlador del tipo HD44780, con un número
de líneas variable y una cantidad de caracteres también variable, por ejemplo, en la figura 1 se
observa un LCD de 2 líneas de 16 caracteres cada una, con el cual se realizan muchas de las
aplicaciones de tipo académico.

Figura 1. LCD Típico de 16 x 2

El bus de datos es de 8 bits, aunque también existe la posibilidad de trabajar con 4 bits (con un
número menor de caracteres). El compilador C incluye un fichero (archivo lcd.c en la carpeta
drivers) al instalarse, el cual contiene las funciones básicas necesarias para manejar el LCD en
lenguaje C con solo incluir este fichero (#include) al inicio del programa.

Este archivo dispone de algunas funciones como:

 lcd_init();
Es la primera función que debe ser llamada.
Borra el LCD y lo configura en el formato de 4bits, con 2 líneas y con caracteres de 5 x 8 puntos, en
modo de encendido, cursor apagado y sin parpadeo.
Configura el LCD con un autoincremento del puntero de direcciones y sin desplazamiento del
display real.
 lcd_gotoxy(byte x, byte y);
Indica la posición de acceso al LCD. Por ejemplo, (1,1) indica la primera posición de la primera línea
y (1,2) indica la primera posición de la segunda línea.
 lcd_getc(byte x, byte y);
Lee el carácter de la posición (x,y).
 lcd_putc(char s);
S es una variable de tipo char. Esta función escribe la variable en la posición correspondiente. Se
pueden usar caracteres de escape como:
• \f : Limpia el LCD.
• \n : Lleva el cursor hacia la posición (1,2).
• \b : Retrocede el cursor una posición.
El compilador de C ofrece una función más versátil para trabajar con el LCD:

printf (string)
printf (cstring, values…)
printf (fname, cstring, values…)
String es una cadena ó un arreglo (array) de caracteres, values es una lista de variables separadas
por comas y fname es una función.
El formato es %nt, donde n es opcional y puede ser:
1-9: para especificar cuantos caracteres se deben especificar.
01-09: para indicar la cantidad de ceros a la izquierda.
1.1-9.9: para coma flotante.

t puede indicar:

c carácter
s cadena o carácter
u entero sin signo
d entero con signo
Lu entero largo sin signo
Ld entero largo con signo
x entero Hexadecimal minúsculas
X entero Hexadecimal mayúscula
Lx entero largo Hexadecimal minúscula
LX entero largo Hexadecimal mayúscula
f flotante truncado
g flotante con redondeo
e flotante en formato exponencial
w entero sin signos con decimales insertados. La 1ª cifra indicada el total, la 2ª el
número de decimales.

A continuación se observan una serie de ejemplos de aplicación con la salida en pantalla de la


variable Valor en los algunos formatos:

Formato Valor = 0x12 Valor = 0xFE


%03u 018 254
%u 18 254
%2u 18 *
%5 18 254
%d 18 -2
%x 12 fe
%X 12 FE
%4X 0012 00FE
%3.1w 1.8 25.4
En el programa en lenguaje C una instrucción válida para desplegar un mensaje en el LCD es:

printf (lcd_putc, “n= %u”, Valor);

El driver LCD.c está pensando para trabajar con el PORTD o el PORTB. Por defecto, utiliza el PORTD
a menos que se le indique lo contrario mediante:

#define use_portb_lcd TRUE, se pone o quita el comentario modificando el archivo que se


encuentra en la carpeta drivers dentro de la carpeta PICC donde queda instalado el programa.

Por defecto este driver utiliza siete terminales de comunicación entre el LCD y el PIC. En la figura 2
se observa parte del archivo LCD.c donde se encuentran definidas las conexiones utilizadas y la
posibilidad de cambiar el puerto usado (subrayado en azul).

Figura 2. Segmento de código del driver LCD.c dado por el fabricante del compilador PICC

También se puede trabajar con otros puertos, por ejemplo con el PORTC, ó con pines diferentes a
los que se han predefinido para los puertos B ó D. Para este procedimiento es necesario realizar
varias modificaciones del archivo LCD.c como se muestra en el archivo EjemploLCD y los archivos
lcd_modificado_lewin y lcd_modificado_lewin2.

GESTION DE UN LCD USANDO CCS COMPILER (PICC)

En este compilador es posible manejar un LCD gráfico con una controladora KS0108 (Ver figura 3).

Figura 3. LCD Gráfico común de fondo azul.


El compilador de C también maneja sus propios drivers para controlar este tipo de dispositivos.
Particularmente existen 3 archivos que se encuentran en la carpeta de instalación del programa y
son: GLCD.c, GRAPHICS.c y uno más específico que es HDM64GS12.c. Cada uno de estos define en
su código la forma en que debe ser conectado el microcontrolador a ellos (Ver Figura 4).

Figura 4. Segmento de código del archivo GLCD.c para ver la distribución de pines.

Las funciones definidas son:

glcd_init(mode);

Debe ser la primera función en usarse o invocarse. Mode puede ser ON u OFF, si es ON, enciende
el LCD.

glcd_pixel(x, y, color);

Establece el color del pixel. Puede activarse o desactivarse (color ON u OFF).

glcd_fillScreen(color);

Rellena el LCD de un color determinado. Puede activarse o desactivarse (color ON u OFF).

glcd_line(x1,y1,x2,y2,color)

Dibuja una línea del punto (x1,y1) al punto (x2,y2) con el color dado. Puede activarse o
desactivarse (color ON u OFF).

glcd_rect(x1,y1,x2,y2,fill,color)

Dibuja un rectángulo entre en punto (x1,y1) extremo superior izquierdo al punto (x2,y2) extremo
inferior derecho. Fill indica si es o no rellenado en su interior. Puede activarse o desactivarse (color
ON u OFF).
glcd_bar(x1,y1,x2,y2,width,color)

Dibuja una barra (linea amplia) del primer punto (x1,y1) al Segundo (x2,y2). Width es la cantidad
de pixeles de ancho. El color puede activarse o desactivarse (ON/OFF).

glcd_circle(x,y,radius,fill,color)

Dibuja un circulo con centro en (x,y) y radio radius. Puede ser o no rellenado en su interior. El color
puede activarse o desactivarse (ON/OFF).

glcd_text57(x,y,textptr,size,color)

Escribe el texto indicado por textptr. Se inicia su despliegue en las coordenadas (x,y) y se puede
escalar el tamaño 7x5 por defecto (size = 1). El color puede activarse o desactivarse (ON/OFF).

En el archivo glcd_pic compilando el programa picCCS_006 se puede comprobar una forma de usar
este tipo de dispositivos.

S-ar putea să vă placă și