GUIA DE LCD

3
Practica #4 (Escribir en una LCD) *La LCD es algo muy sencillo aunque tiene varias instrucciones, pero todas ellas son fáciles de aprender y combinar. La LCD que manejaremos es una de 2 x 16, conectada a 4 bits. 1. La librería de la LCD que esta incluida en el compilador esta hecha para que la LCD se trabaje en el puerto D, pero nuestro micro no tiene puerto D, por este motivo vamos a utilizarla en el puerto B. Pero antes de hacer eso vamos a decirle al programa que vamos a utilizar la LCD de lo contrario al escribir alguna instrucción que tenga algo que ver con la LCD este nos va a marcar error: #include <lcd.c> Esta instrucción es la que indica que vamos a utilizar la LCD, pero el programa todavía nos sigue marcando error porque no le hemos indicado que vamos a utilizar el puerto B; antes de incluir la librería de la LCD escribimos lo siguiente: #define use_portb_lcd true #include <lcd.c> Esto indica que vamos a utilizar la LCD en el puerto B. Pero estas dos instrucciones nuevas van después de las ya conocidas: #include <18f2550.h> #use delay(clock=8000000) #define use_portb_lcd true #include <lcd.c> 2. Ahora tenemos que agregar algo nuevo dentro de la función principal, la siguiente instrucción siempre la tendremos que colocar cada ves que utilicemos la LCD si la omitimos el programa nunca funcionara así todo este bien: lcd_init(); Esta instrucción inicia la LCD para que este pendiente de cualquier instrucción que reciba. Nuestro programa va de la siguiente forma #include <18f2550.h> #use delay(clock=8000000) #define use_portb_lcd true #include <lcd.c> void main (void) { lcd_init(); while(true) { } } 3. A continuación explicare las instrucciones utilizadas en una LCD antes de empezar a escribir el programa: *lcd_putc(„a‟); podemos escribir en la LCD cualquier letra, numero o simbolo encerrándola en comillas sencillas y dentro de los paréntesis, de esta manera solo se puede escribir un solo caracter, si se escriben mas de dos marca error.

description

Este documento contiene todas las formas para trabajar con la LCD

Transcript of GUIA DE LCD

Practica #4 (Escribir en una LCD)

*La LCD es algo muy sencillo aunque tiene varias instrucciones, pero todas ellas son fáciles de

aprender y combinar. La LCD que manejaremos es una de 2 x 16, conectada a 4 bits.

1. La librería de la LCD que esta incluida en el compilador esta hecha para que la LCD se

trabaje en el puerto D, pero nuestro micro no tiene puerto D, por este motivo vamos a utilizarla

en el puerto B.

Pero antes de hacer eso vamos a decirle al programa que vamos a utilizar la LCD de lo

contrario al escribir alguna instrucción que tenga algo que ver con la LCD este nos va a marcar

error:

#include <lcd.c>

Esta instrucción es la que indica que vamos a utilizar la LCD, pero el programa todavía nos

sigue marcando error porque no le hemos indicado que vamos a utilizar el puerto B; antes de

incluir la librería de la LCD escribimos lo siguiente:

#define use_portb_lcd true

#include <lcd.c>

Esto indica que vamos a utilizar la LCD en el puerto B. Pero estas dos instrucciones nuevas

van después de las ya conocidas:

#include <18f2550.h>

#use delay(clock=8000000)

#define use_portb_lcd true

#include <lcd.c>

2. Ahora tenemos que agregar algo nuevo dentro de la función principal, la siguiente instrucción

siempre la tendremos que colocar cada ves que utilicemos la LCD si la omitimos el programa

nunca funcionara así todo este bien:

lcd_init();

Esta instrucción inicia la LCD para que este pendiente de cualquier instrucción que reciba.

Nuestro programa va de la siguiente forma

#include <18f2550.h>

#use delay(clock=8000000)

#define use_portb_lcd true

#include <lcd.c>

void main (void)

{

lcd_init();

while(true)

{

}

}

3. A continuación explicare las instrucciones utilizadas en una LCD antes de empezar a escribir

el programa:

*lcd_putc(„a‟); podemos escribir en la LCD cualquier letra, numero o simbolo encerrándola en

comillas sencillas y dentro de los paréntesis, de esta manera solo se puede escribir un solo

caracter, si se escriben mas de dos marca error.

*lcd_putc(“Marlon Gomez”); cuando utilizamos comillas dobles podemos escribir palabras

completas procurando no exceder el limite de caracteres admitidos por la LCD.

En esta instrucción podemos agregar algunos términos que se usan para borrar la pantalla o

para cambiar de línea cuando se esta escribiendo, esto se hace asi:

lcd_putc(“\F”); esta instrucción borra la pantalla y la pone en blanco, pero también la podemos

usar en conjunto con cualquier frase ejemplo: lcd_putc(“\FMarlon Gomez”); primero borra la

pantalla y luego si escribe mas adelante usaremos esta instrucción.

Y también podemos escribir en las dos líneas de la LCD de la siguiente manera:

lcd_putc(“\n”); cuando colocamos esto significa que lo siguiente que vayamos a escribir en la

LCD será en la segunda línea, ejemplo: lcd_putc(“Marlon \n Gomez”); la palabra Marlon se

escribe en la primera línea y Gomez se escribe en la segunda línea, porque esta después del

\n.

*printf(lcd_putc,"Marlon Gomez”); de esta forma también se pueden escribir palabras,

pero esta instrucción se usa para visualizar valores de variables, sin importar el cambio

constante de la variable. Ejemplo, si se tiene un sensor de temperatura podemos almacenar el

valor leído por el sensor en una variable y visualizarlo en una LCD:

printf(lcd_putc,”Temperatura=” “%u”,variable1);

de esta forma visualizamos el valor de la variable1 en la LCD, por lo tanto si la temperatura

leida por el sensor cambia, lo que se visualiza en la LCD también cambia; aclaro que al utilizar

“%u” esta limitando a usar variables de 8 bits, si es variable de 16 bits seria “%%u”, si es una

variable tipo float “%F”.

*lcd_gotoxy(x,y); con esta instrucción podemos escoger en que línea y en que posición

deseamos empezar a escribir, X indica la posición en nuestro caso podemos escoger de 1 a

16, y Y indica la línea donde se va a escribir nosotros solo tenemos dos líneas, ejemplo:

lcd_gotoxy(5,1); escribimos en la posición 5 y en la primera línea.

Esta instrucción la agregamos antes de escribir cualquier carácter o palabra. Ejemplo:

lcd_gotoxy(4,2);

lcd_putc(“Marlon Gomez”);

Esas son las instrucciones mas utilizadas a la hora de trabajar una LCD, trataremos de utilizar

todas estas en este programa; ya conociendo todo comencemos a escribir el programa.

4. Como habíamos dicho al principio nuestro programa va de la siguiente forma:

#include <18f2550.h>

#use delay(clock=8000000)

#define use_portb_lcd true

#include <lcd.c>

void main (void)

{

lcd_init();

while(true)

{

}

}

Vamos a combinar todas las instrucciones vistas anteriormente; iniciemos con escribir cualquier

palabra en una posición determinada, asi:

lcd_gotoxy(4,1);

lcd_putc(“Practica #4”);

Lo escribimos en la posición 4 para tratar de que quede centrado, ahora escribamos algo en la

segunda línea, podemos hacerlo de las dos formas ya vistas:

lcd_gotoxy(3,2);

lcd_putc(“Pantalla LCD”);

Ahora agregamos un retardo para poder visualizar esto y después borrar la pantalla y escribir

otra cosa.

delay_ms(4000);

lcd_putc(“\F”);

Todo lo anterior es la presentación del programa por lo tanto no es necesario agregarlo dentro

del while, lo podemos colocar antes del while.

Ya borramos la pantalla y vamos a realizar un conteo sencillo y visualizarlo:

lcd_putc(“Conteo:\n”);

++x;

delay_ms(1000);

printf(lcd_putc,”*” “%u “,x);

Escribimos Conteo: en la primera línea y le dimos la orden que después de esto escribiera en

la segunda línea, agregamos la variable x y esta va aumentando de uno en uno con un retardo

de un segundo, luego escribimos un asterisco ( * ) y el valor que tenga la x va a ser visualizado

en la segunda línea.

5. Ya tenemos todo el programa ahora vamos a ordenarlo:

#include <18f2550.h>

#use delay(clock=8000000)

#define use_portb_lcd true

#include <lcd.c>

int x;

void main (void)

{

lcd_init();

lcd_gotoxy(4,1);

lcd_putc(“Practica #4”);

lcd_gotoxy(3,2);

lcd_putc(“Pantalla LCD”);

delay_ms(4000);

lcd_putc(“\F”);

while(true)

{

lcd_putc(“Conteo:\n”);

++x;

delay_ms(1000);

printf(lcd_putc,”*” “%u “,x);

}

}

Como la variable que utilizamos es de 8 bits el conteo solo va a ser de 0 hasta 255, si

queremos aumentar el conteo solo tenemos que cambiar la variable por una de 16 bits o la que

queramos.