jueves, 31 de octubre de 2019

L10-Programación con Display de 7 segmentos

LABORATORIO 10


Programación con Display de 7 segmentos


1. OBJETIVOS
  • Conocer el Display de 7 segmentos y su funcionamiento
  • Conocer las técnicas de multiplexación
  • Programar HMI para juego de encestar.

2. MARCO TEÓRICO

Descripción de los tipodvariables en el CCS COMPILER:

En cuanto a los tipos de variables, los más habituales en C los expondremos a continuación:


Descripción:

Char :  Guarda caracteres del codigo ASCII.

Int : Guarda numeros enteros.

Float: Guarda numeros decimales con precisión de 6 digitos decimales.

Short: Guarda numeros enteros con menor capacidad de almacenamiento(y rango) que int..

Double: Igual que Float pero con mayor precisión (hasta 15 digitos decimales) y mayor rango.

Long: Guarda números enteros con mayor capacidad de almacenamiento que int.

Long double: Mucho mayor precisión en calculo decimal, incluso mayor que double (hasta 19 digitos decimales).

3. TAREAS REALIZADAS

a) Problema planteado:


Se tiene un sistema con 2 pulsadores (D0, D1) de entrada y 3 displays de salida, además de un zumbador en el pin E1.
Programe según lo siguiente:
a.  Al empezar el programa, se debe mostrar el número 500.
b.  Al presionar D0, el número mostrado se debe incrementar en 5 unidades, además debe zonar un pitido.
c.   Al presionar D1, el número mostrado debe disminuir 5 unidades pero de  1 en 1 cada segundo.
d.  Si el número llega a ser mayor a 600, debe sonar 3 pitidos.

4.VIDEO





5. OBSERVACIONES
  • El entrenador brindado en el laboratorio inicialmente no funcionaba, por lo que se tuvo que volver a colocar los jumpers adecuadamente tomando como guía otro entrenador en óptimas condiciones.
  • Al momento de compilar el código de programa en el CCS C compiler nos daba un error, para lo cual se optó  por copiar el archivo 16F877A ubicado dentro de la ruta del programa instalado hacia la carpeta en donde se estaba trabajando el proyecto.
  • Durante el laboratorio para poder encender el speaker o bocina, fue necesario utilizar un bucle for, esto con la finalidad de generar un pulso cuadrado, ya que dicho dispositivo sólo funciona con corriente alterna y no con continua. posteriormente en la simulación con Isis Proteus
  • Al momento de simular el código de programación en el Proteus, se debe seleccionar el archivo “.cof”, ya que de lo contrario la simulación no sería la correcta debido a la presencia de fallas y errores.
  • Es muy importante que después de cada instrucción en el CCS COMPILER se coloque el punto y coma, para de esa manera evitar errores en el momento de la compilación.
  • Para el funcionamiento de los displays se utilizó compuertas NOT; pero lo real es utilizar transistores NPN en conjunto con resistencias para la conexión.
  • Se debe tener bastante cuidado el declarar variables en la programación, ya que estas siempre deben estar indicadas como que tipo de dato van a trabajar, ya sea entera, flotante, etc.
6. CONCLUSIONES
  • En conclusión, se aprendió la forma correcta de poder conectar y programar un display de 7 segementos cátodo común con el PIC 16F877A, esto  partir de la técnica de multiplexado.
  • Se concluye que en el código de programación se aplicó un algoritmo de división y resta , para de esa manera poder determinar el valor de las centenas, decenas y unidades, las cuales posteriormente en conjunto con el vector “tabBCD”, poder obtener un número binario y poderlo visualizar.
  • Se logró realizar la simulación del funcionamiento del PIC 16F877A y la correcta verificación del código mediante el Isis Proteus.
  • También se concluyó que para poder grabar nuestra programación hecha en el PIC físico, se debe usar el programa PICKIT 2 e importar el archivo “.hex” generado por el CCS compiler.
  • se concluye que conoció los bucles más comunes en la programación en C, los cuales son "For", "While","If-else"; reconociendo la sintaxis de cada de una de ellas.

No hay comentarios:

Publicar un comentario