miércoles, 20 de marzo de 2019

lab 03 Programación con Display de 7 segmentos

                        MICROCONTROLADORES LABORATORIO

                                   Programación con Display de 7 segmentos


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

 II. COMPETENCIA ESPECIFICA DE LA SESIÓN 

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

III. CONTENIDOS A TRATAR 

-Display 7 segmentos 
-Multiplexación de datos

IV. MARCO TEORICO TIPOS DE VARIABLES

Una variable es un objeto del lenguaje cuyo valor se puede cambiar. Antes de utilizar una variable ésta debe de ser declarada. Al declarar una variable, se le asocia un identificador, es decir, un nombre, con un tipo de almacenamiento cuya forma determina la visibilidad y existencia de la variable.

  •  TIPO ENTERO

Representa números enteros con o sin signo, que estarán compuestos por los dígitos del 0 al 9, pudiendo ser precedidos por los signos + o -.
Algunos ejemplo de datos enteros son: 0, 23, -176, -1, etc.
Para definir variables en C se antepone la palabra reservada del tipo al identificador de la variable. El tipo de datos entero se define en el lenguaje de programación C por la palabra reservada int.
Para definir un tipo de dato en C se escribe lo siguiente:
int nombre_variable = valor;
No es necesario que la variable tenga un valor predeterminado. Se puede definir sin asignarle ningún valor.
Si tenemos varios datos que son del mismo tipo, se pueden definir todas en la misma línea de código escribiendo un único int, separando el nombre de las variables por “,”. Una vez que se haya acabado de definir variables, se cierra la línea de código con “;”.

Por ejemplo:
int edad = 24;
int edad;
int edad, num, contador;

  • TIPO REAL
Se emplean para representar números reales (con decimales).
Para definir datos reales se antepone la palabra reservada float al identificador de la variable.
float identificador = valor;

Por ejemplo:
float numero1, numero2;
float numero3 = 123.43;
float numero3;

  • TIPO CARÁCTER
Este tipo de datos se emplea para representar un carácter perteneciente a un determinado código utilizado por el ordenador (normalmente el código ASCII).
Para representar este tipo de dato se antepone la palabra reservada char al identificador de la variable.
Char identificador = ‘valor’;
Una constante tipo char se representa como un solo carácter encerrado entre comillas simples.

Por ejemplo:
char letra, letra2;
char letra=’a’;
  • TIPO CADENA DE CARACTERES

Una cadena de caracteres es un número de caracteres consecutivos (incluso ninguno) encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles.
Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena.
Char identificador[cantidad] = “ mensaje ”;

Por ejemplo:
char cadena[20];
char cadena[20] = “Hola mundo”;
char cadena[] = “HOLA”;


TAREA EVALUADA

1. 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 de 1 en 1 cada segundo
d. Si el número llega a ser mayor a 600, debe sonar 3 pitidos. 

2. Describa el funcionamiento del programa previamente diseñado, demuestre funcionamiento mediante simulación y en tarjeta entrenadora. Grabe en video para evidencia.  



videos explicativos del laboratorio

ARTURO MAMANI BERNAL

https://youtu.be/InS0AkMlIlE


GUSTAVO MAMANI DE LA CRUZ





OBSERVACIONES:

-Para llamar a una subrutina, debemos colocar el nombre de esta y luego colocar paréntesis con la variable a ser evaluada, dependiendo del caso.
-Para hacer que la visualización de los tres Displays de 7 segmentos se vea en forma continua, tenemos que multiplexar el encendido de estos a una gran velocidad.
-Para hacer que se escuche un pitido en el parlante del entrenador se realizó una subrutina en la programación, en donde se creaba un tren de pulsos a una determinada frecuencia.
-Para realizar los tres pitidos en caso de que se sobrepase el número 600, se estableció un intervalo de 200ms entre ellos y uno de 1000ms en cada secuencia.
-Al momento de presionar los pulsadores, en los Displays de 7 segmentos solo se mostraba la cifra de unidades. Para solucionar este problema se creó un bucle con "for" adicional en vez de un retardo de tiempo.

CONCLUSIONES

-Se realizaron subrutinas y se aprendió a cómo llamarlas dentro del programa principal.
-Se modificó el programa base con las tareas a ser evaluadas, utilizando el programa PIC C Compiler, en donde se crearon nuevos bucles con "for" y se llamaron a las subrutinas necesarias.
-Se programaron bucles con "for" en la modificación del programa base, para no tener que copiar demasiadas lineas repetitivas.
-Se crearon bucles con "for" adicionales en lugar de los delays, para hacer que el numero se muestre en todo momento en los Displays casi de manera simultánea.
-Se logró transferir el archivo generado HEX al entrenador utilizando el programa PICKIT2.
-Se probó en el entrenador el correcto funcionamiento de las tareas a ser evaluadas, incluso se realizaron mejoras al programa anterior para que los Displays se visualizaran en todo momento incluso cuando se presionaban los pulsadores.



No hay comentarios:

Publicar un comentario