jueves, 25 de abril de 2019

LABORATORIO 5

PROGRAMACIÓN DE UNA PANTALLA LCD 

COMPETENCIA ESPECÍFICA DE LA SESIÓN

·         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.

I.                   MARCO TEÓRICO

1)      ¿Qué es una pantalla LCD?

Una pantalla LCD (liquid crystal display: ‘pantalla de cristal líquido’ por sus siglas en inglés) es una pantalla delgada y plana formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora. A menudo se utiliza en dispositivos electrónicos de pilas, ya que utiliza cantidades muy pequeñas de energía eléctrica.

Está presente en un sin número de aparatos, desde la limitada imagen que muestra una calculadora de bolsillo hasta televisores de 50 o más pulgadas. Estas pantallas se componen de miles de pequeños cristales líquidos, que no son sólidos ni líquidos en realidad, sino un estado intermedio.

2)      Funcionamiento de la pantalla LCD

La base de su funcionamiento hay que buscarla en los cristales líquidos, elementos que se coloca entre dos capas de cristales polarizados. Cada píxel de la pantalla podríamos decir que incluye moléculas helicoidales de cristal líquido, que es un material especial que comparte propiedades de un sólido y líquido.
II.                  EVIDENCIA DEL LABORATORIO

#include <16f877a.h>
#use delay (clock=20M)
#fuses HS, NOPROTECT, NOWDT

#define LCD_ENABLE_PIN        PIN_D3   //Definimos los pines a ser
#define LCD_RS_PIN            PIN_D2   //pantalla LCD
#define LCD_RW_PIN            PIN_A0
#define LCD_DATA4             PIN_D4
#define LCD_DATA5             PIN_D5
#define LCD_DATA6             PIN_D6
#define LCD_DATA7             PIN_D7 

#include <lcd.c>                 // Incluimos librería para manejar Pantalla LCD

int16 dato;

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_D0))              // Rutina para INCREMENTAR dato
         {
            dato++;
            lcd_gotoxy(1,2);
            printf (lcd_putc, "Valor: %4lu", dato) ;
    while (!input(PIN_D0))     // Rutina ANTIRREBOTE por software
            {}                         
         }
      IF (!input(PIN_D1))
         {
            dato--;
            lcd_gotoxy(1,2);
            printf (lcd_putc, "Valor: %4lu", dato) ;
            while (!input(PIN_D1))     // Rutina ANTIRREBOTE por software
            {}
         }   
    }
}

III.                VIDEO DE LA TAREA

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.

https://www.youtube.com/watch?v=FMXY0NtkVIo&feature=youtu.be



IV.       OBSERVACIONES
·         Se observó que hubo varios saltos cuando incrementamos 150  de forma muy rápido.
·         Se observa que si no declaramos con gran precisión la fila de la pantalla LCD se mostrara en toda la pantalla.
·         Si sobrepasa en la fila y columna debimos dar una variable que nos indique lo excesivo de los valores.

·         La pantalla LCD tiene su propia librería que si no copiamos este nos mostrara error y nos será difícil copilar datos a la pantalla. 
·           
V.                CONCLUSIONES
·         Se concluye que el tiempo que le demos a cada pulsador no nos de muchos satos ya que esto retrasara su incremento será más preciso las pulsaciones que le demos.
·         Se concluye que con este programa logramos el crecimiento de valores a 150 y también los decrecimiento de 25 indicándonos por medio de la pantalla LCD que si nos faltan valores o estamos bien.
·         Se concluye que a través del programa Copiler CCS también se pueden declarar variables para trabajar con LCD.
·         En los comandos de la pantalla LCD tenemos de proporcionar la dirección de las filas y columnas en caso de que queramos colocar varios valores y también si queremos ponerlos en enteros o decimales (lcd_gotoxy(1,2)), printf (lcd_putc, "Valor: %4lu", dato) 




No hay comentarios:

Publicar un comentario