Práctica 4 con Miuva. Display LCD 2×16 en modo 4 bits en PIC C

A veces hay tareas que son muy comunes cuando trabajamos con microcontroladores y en ciertas ocasiones se necesitan demasiadas líneas de código para realizarlas, por lo tanto para algunas de estas tareas existen librerías, las cuales ya tienen predefinido todas estas líneas de código en funciones, las cuales podemos simplemente llamar para evitar repetirlas constantemente y tener demasiadas líneas de código. Una acción muy usual es utilizar una LCD para mostrar información al usuario, por lo tanto utilizaremos una librería para facilitar el uso de la LCD en Miuva (DESCARGA) La librería se llama MLCD.c y esta debe agregarse a la siguiente carpeta:

C:Program Files (x86)PICCDrivers

Miuva tiene un puerto en donde podremos conectar directamente una LCD, es importante revisar que los pines coincidan antes de conectar la LCD.

Imagen1. Puerto para LCD en Miuva

Internamente está conectado de la siguiente forma:

Imagen2. Conexiones entre el PIC y la LCD

Para agregar la librería y poder utilizarla en nuestro código tenemos que escribir la siguiente línea en la parte de la configuración del PIC:

#include <MLCD.c>

En esta librería tendremos definidas algunas funciones, entre ellas las siguientes:

lcd_init();     //Inicializa LCD

Esta función se tendrá que utilizar antes de cualquier otra, lo que hace es realizar toda la secuencia necesaria para inicializar la LCD.

lcd_gotoxy(2,1);     //Nos envia a la posición 2,1 de la LCD.

Esta librería es para una LCD de 2×16 líneas, por lo tanto con la función anterior podemos situar el cursor en cualquier parte, mediante coordenadas (x,y).

printf(lcd_putc, "INTESC-MIUVVA");

Con esta función podemos escribir directamente en la LCD cualquier texto.

Con esto podemos realizar el siguiente código:

Código en PIC C:

#include <18f4550.h>          // la librería del PIC
#Fuses HSPLL, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL2, CPUDIV1, VREGEN
#use delay (clock=48M)        //Seleccionamos la frecuencia de reloj de 48MHz
#include<MLCD.c>
void main(){
   lcd_init();                         //Se inicializa la LCD
   lcd_gotoxy(2,1);                    //Vamos al punto 2,1
   printf(lcd_putc, "INTESC-MIUVVA");  //Escribimos en la LCD
   lcd_gotoxy(5,2);                    //Vamos al punto 5,2
   printf(lcd_putc, "TEST-LCD");       //Escribimos en la LCD
}

Observa el video demostrativo

Descarga el proyecto en PIC C o Mikro C

Menú