Sei sulla pagina 1di 10

Compilamos (F9) y luego en proyecto (project) abrimos todos los archivos (OPEN ALL

Filles) y no ubicamos en la ventana LCD.C



Librera LCD Fig-12

Aqu nos indica como debemos usarla, lo primero que dice es que debemos colocar
lcd_init(); (linea 7 figura-14) luego del void main {} (linea 5 figura-14)

Ms abajo encontramos (Figura-13) la informacin para conectar el PIC con la pantalla
LCD la cual usaremos para armar nuestro circuito en ISIS Proteus, como se puede apreciar
la librera indica la forma de usarla y la conexin.

PIC-C tiene una variedad de libreras para los dispositivos LCD ya que como sabemos hay
muchos tipos de LCD y configuraciones (Libreras), por ejemplo la Pantalla LCD
mediante I2C.


Librera LCD conexin Fig-13

Continuando con el ejemplo vamos a la pestaa lcd.c

Para evitar inconveniente borramos la pantalla (como una pizarra borramos todo lo
anterior en vez de escribir encima) con el comando printf(LCD_PUTC, "\f"); (linea 18
figura-14) se puede usar cuanta veces se requiera en nuestro programa, luego dentro de un
bucle infinito (linea 20 al 26 figura-14) colocamos nuestro primer ejemplo.

Ejemplo LCD Fig-14

En el circuito seleccionamos un PIC18F877A y un LM016L una pantalla LCD 16X2,
como en ejercicios anteriores algunas conexiones no se hacen por simplificar, pero eso no
indica que, cuando vamos hacerlo en un Proto-Board no debamos hacerlas.

Hay que recordar de configurar el reloj 500kHz (en la simulacin), tambin colocar en alto
el pin 1 del PIC (el 18F877A lo requiere) si usamos un botn y colocamos el pin 1 en bajo
se reseteara el PIC.

Diagrama del circuito Fig-15

El ejemplo es muy simple para comenzar, as que explicare lo necesario para que funcione,
basado en la figura-14

En la linea 2 declare la librera -----------> #include < lcd.c >

En la linea 7 por peticin de la librera coloque ----------> lcd_init();

En la linea 18 borre la LCD antes de escribir -------------> printf(LCD_PUTC, "\f");



Luego uso dentro del bucle infinito, el siguiente ejercicio.

//ejemplo1
lcd_gotoxy(1,1); // cd_gotoxy(x,y) donde x es la fila, y la columna.
printf(LCD_PUTC, "Hola ^_^"); // entre comillas el mensaje.



Ejemplo 1 Fig-16


Descripcin:
1) La primera linea es un simple comentario, en C todo lo que esta luego de // en una linea
de programacin se toma como un comentario, en este caso una descripcin.

2) lcd_gotoxy(1,1); nos indica que se ubicara en la fila 1 columna 1.

3) printf(LCD_PUTC, " escribir aqui "); Este comando es para escribir en la pantalla
LCD y escribe lo que esta dentro de la comillas.



Comentamos todo el ejemplo 1 y pegamos el siguiente ejercicio.

//ejemplo 2
lcd_gotoxy(1,1);
printf (LCD_PUTC, "22XD");
lcd_gotoxy(1,2);
printf (LCD_PUTC, "blogspot.com");


Aqu usamos la fila una y dos.


Ejemplo 2 Fig-17



Descripcin:

1) Lo nuevo aqu es que escribimos en la segunda columna y primera
linea lcd_gotoxy(1,2);


Comentamos el ejemplo 1 y 2 para colocar el ejemplo 3 que es texto en movimiento.
Antes debemos declarar -------------> int i;
Usando la figura -14 la podemos ubicar en la linea16.

//ejemplo 3
lcd_gotoxy(1,1);
printf (LCD_PUTC, "Loading");
f or (i=1;i<=16;++i)
{
lcd_gotoxy(i,2);
printf (LCD_PUTC, "*");
delay_ms( 500 );
}
printf (LCD_PUTC, "\f ");



Hacemos un efecto de carga, tambin lo podemos hacer con un texto.

Ejemplo 3 Fig-18


Descripcin:

1) Usamos la funcin FOR y la variable "i" en una estructura de repeticin, cada vez que
se ejecuta la funcin de repeticin se incrementa la variable "i" .

2) La variable "i" la usamos en la funcin lcd_gotoxy(i,2); as desplazamos lo que
escribimos en la funcin printf(LCD_PUTC, "*");

3) Usamos un retardo dentro de la estructura FOR usando comando delay_ms( 500 ); as
controlamos la velocidad de la barra de carga.

4) La estructura FOR se repetir hasta que "i" se incremente hasta 16, que coincide con los
16 filas de la columna.

5) Luego de escribir Loading y llenar la Columna 2 de * borramos la pantalla
con printf(LCD_PUTC, "\f"); hay que recordar que estamos dentro de un bucle infinito
figura 14 linea 20.



Comentamos todos los ejemplos anteriores y pegamos el ultimo ejemplo el 4, recuerde
que debemos tener declarada "i"como entero.

//ejemplo 4
printf (LCD_PUTC, "\f ");// borrar lcd
f or (i=1;i<=16;++i)
{
lcd_gotoxy(1,1);
printf (LCD_PUTC, "Loading (%02i)",i);
lcd_gotoxy(i,2);
printf (LCD_PUTC, "*");
delay_ms( 500 );
}
printf (LCD_PUTC, "\f ");

Podemos usar un texto en movimiento y dentro de este una variable, por ejemplo un aviso
que seale un temperatura.


Ejemplo 4 Fig-19


Descripcin:
1) Usamos la funcin FOR y la variable "i" en una estructura de repeticin, cada vez que
se ejecuta la funcin de repeticin se incrementa la variable "i" .hasta que llegue el valor
de 16 la cual usamos para desplazar "*".

2) Aqu usamos variable "i" no solo para controlar el FOR y desplazar *, si
no tambin mostramos este valor en la columna 1 mediante el
comando printf(LCD_PUTC, "Loading (%2i)",i);



Digamos que tenemos una pantalla LCD de una sola Columna y de 40 filas por poner un
ejemplos, la usamos como una marquesina donde desplazamos temperaturas en tiempo
real, as podemos aprecia que no solo podemos escribir palabras, si no variables
que estn cambiando.

Otro ejemplo es censando una velocidad o temperatura, pero aqu todava no hemos tocado
ese tema de censar variables, por eso usamos el valor de "i" para mostrar un valor
cambiante.

Para comentar todo un ejemplo o un segmento de cdigo usamos al comienzo */ y al final
/*

Para una mejor compresin un Vdeo con los cuatros ejemplos.

Potrebbero piacerti anche