LAB 6 - Manejo de una Pantalla LCD
CURSO DE PROGRAMACIÓN DE MICROCONTROLADORES PIC
PARTE A: Programación de Microcontroladores PIC de MICROCHIP.
MANEJO DE UNA PANTALLA LCD
CAPACIDAD TERMINAL
Utilizar al microcontrolador en aplicaciones de control electrónico.
Desarrollar y ejecutar programas en un microcontrolador PIC
Programar y configurar interfaces básicas del microcontrolador.
COMPETENCIA ESPECIFICA DE LA SESION
• Conocer el Display LCD y su funcionamiento
• Programar eficientemente el LCD
CONTENIDOS A TRATAR
Pantalla LCD
Envío de datos y variables a una pantalla LCD
RESULTADOS
Diseñan y optimizan sistemas y procesos para cumplir con las condiciones establecidas y gestionando adecuadamente los recursos materiales y humanos.
MATERIALES Y EQUIPO
CCS Compiler instalado.
Entrenador de PICS
PIC16F877A
Guía de Laboratorio. El trabajo se desarrolla de manera GRUPAL.
PC con Software de simulación.
DIAGRAMA ESQUEMÁTICO:
CÓDIGO DE PROGRAMACIÓN EN PIC C COMPILER:
#INCLUDE <16F877A.H>
#USE DELAY(CLOCK=4000000) //Cristal externo 4MHz
#FUSES XT,NOPROTECT,NOWDT,NOBROWNOUT,PUT,NOLVP
#INCLUDE <lcd.c>
void MAIN()
{
LCD_INIT(); //Inicializa el LCD
LCD_PUTC("\f"); //Borrar el contenido del LCD
WHILE(TRUE)
{
LCD_GOTOXY(5,1); //Se ubica En la columna 5 fila 1
LCD_PUTC("Control"); //Muestre el mensaje "Control"
LCD_GOTOXY(3,2); //Ubicarse en la columna 3 fila 2
LCD_PUTC("Automatico"); // Sacar el mensaje "Automatico"
} //Cierra while true
}
#INCLUDE <16F877A.H>
#USE DELAY(CLOCK=4000000) //Cristal externo 4MHz
#FUSES XT,NOPROTECT,NOWDT,NOBROWNOUT,PUT,NOLVP
#INCLUDE <lcd.c>
int16 dato=0;
void main ()
{
lcd_init () ; // Inicializamos pantalla LCD
dato = 50; // Damos valor inicial para empezar la cuenta
printf (lcd_putc, " CONTADOR") ; // Mandamos mensaje por única vez
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %4lu", dato) ;
WHILE (true)
{
IF (!input(PIN_A0)) // Rutina para INCREMENTAR dato
{
dato++;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %4lu", dato) ;
while (!input(PIN_A0)) // Rutina ANTIRREBOTE por software
{}
}
IF (!input(PIN_A1))
{
dato--;
lcd_gotoxy(1,2);
printf (lcd_putc, "Valor: %4lu", dato) ;
while (!input(PIN_A1)) // Rutina ANTIRREBOTE por software
{}
}
}
}
pruebas
video
RETO DE LA SEMANA:
Se dispone de una pantalla LCD. Elaborar un programa que INCREMENTE un número en 150 unidades cada vez que se presione un pulsador y DECREMENTE dicho número en 25 unidades cada vez que se presione otro pulsador.
Si el valor del número supera 1000 unidades, mostrar en la pantalla LCD en la primera línea: “FULL”. Si el valor llega a ser menor o igual a 10, mostrar “VALOR MINIMO”. En ambos casos el valor del número no debe incrementarse ni decrementarse.
aqui vemos la programacion del reto de la semana
video del reto
observaciones
- para poder hacer el laboratorio se necesito de un buen internet y ver el video completo ya que por la pandemia el internet es demasiado lento
conclusiones
- se logro poder armar el circuito dado y compilar en la aplicación cccompiler y así poder demostrar lo que el profesor enseño , cambiando algunos datos para poder ser modificado
- se pudo observar bucles de control toma importancia en el presente laboratorio nos permitio realizar operaciones múltiples, ya sea WHILE (mientras) o FOR (para una accion).
No hay comentarios:
Publicar un comentario