GUIA DE LCD
-
Upload
hernando-gomez-palencia -
Category
Documents
-
view
227 -
download
0
description
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.