MICROCONTROLADORES
Laboratorio N°10:
PROGRAMACIÓN CON DISPLAY DE 7 SEGMENTOS
I. CAPACIDAD TERMINAL
Conocer el Display de 7 segmentos y su funcionamiento.
Conocer las técnicas de multiplexación.
III. FUNDAMENTO TEÓRICO
a. TIPOS DE VARIABLES
Los tipos de datos basicos definidos por C son caracteres, numeros enteros y numeros en punto flotante. Los caracteres son representados por char, los enteros por short, int, long y los numeros en punto flotante por float y double. Los tipos básicos disponibles y su tamaño son:
Los tipos de datos enteros son : short, int, long y long long, cada uno representando un numero entero de un tamaño o capacidad determinado. Según el compilador y la plataforma de hardware, cada uno de estos tipos de dato puede ocupar desde 1 byte hasta 8 bytes en memoria. Cabe añadir que en caso que no se declare si es con o sin signo, se toma con signo.
Los tipos de datos que representan a los números reales, ya que utilizan un sistema de representación basado en la técnica de coma flotante, que permite operar con números reales de diversas magnitudes, mediante un número decimal llamado mantisa y un exponente que indica el orden de magnitud.
La forma de declarar una variable flotante es escribiendo en una línea uno de los tipos de datos flotantes y a continuación el nombre de la variable y tal vez algún valor que se les quiera dar.
Los caracteres se representan utilizando el tipo de char, que tiene solo 1 byte de tamaño. Este tipo se utiliza para representar los 256 caracteres de la tabla de caracteres del sistema. El tipo char es tambien un tipo entero, ya que puede tomar valores de 0 a 255. Por lo tanto también puede ser signed o unsigned.
IV. DESARROLLO DE LAS TAREAS
a. TAREAS A SER EVALUADAS
Las condiciones que se tuvieron que cumplir para esta tarea fue la de:
Se tiene un sistema con dos pulsadores (D0, D1) de entrada y 3 display de salida, además de un zumbador en el pin E1. Programe según lo siguiente:
Al empezar el programa, se debe mostar el numero 500.
Al presionar D0, el número mostrado se debe incrementar en 5 unidades, ademas debe zonar un pitido.
Al presionar D1, el número mostrado debe disminuir 5 unidades pero de 1 en 1 cada segundo
Si el numero llegar a ser mayor a 600, debe sonar 3 pitidos.
1. Programación

2. Simulación en Proteus
En la simulación de Proteus, no mostraba el dato que debia dado la programación que se establecio, es por ello que fue necesario introducir el watch window que es una interfaz que permite ver el numero que en el display no se puede lograr ver.

V. VÍDEO DEMOSTRATIVO
- 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.
Conocer el Display de 7 segmentos y su funcionamiento.
Conocer las técnicas de multiplexación.
III. FUNDAMENTO TEÓRICO
a. TIPOS DE VARIABLES
Los tipos de datos basicos definidos por C son caracteres, numeros enteros y numeros en punto flotante. Los caracteres son representados por char, los enteros por short, int, long y los numeros en punto flotante por float y double. Los tipos básicos disponibles y su tamaño son:
char Carácter (normalmente 8 bits)
short Entero corto con signo (normalmente 16 bits)
int Entero con signo (depende de la implementación)
unsigned Entero sin signo (depende de la implementación)
long Entero largo con signo (normalmente 32 bits)
float Flotante simple (normalmente 32 bits)
double Flotante doble (normalmente 64 bits)
Enteros
Los tipos de datos enteros son : short, int, long y long long, cada uno representando un numero entero de un tamaño o capacidad determinado. Según el compilador y la plataforma de hardware, cada uno de estos tipos de dato puede ocupar desde 1 byte hasta 8 bytes en memoria. Cabe añadir que en caso que no se declare si es con o sin signo, se toma con signo.
-> Variables enteras: Con signo (+, -) y sin signo (+)
Enteros de 8 bits -> 1 byte
Enteros de 16 bits -> 2 bytes
Enteros de 32 bits -> 4 bytes
Enteros de 64 bits -> 8 bytes
Reales
Los tipos de datos que representan a los números reales, ya que utilizan un sistema de representación basado en la técnica de coma flotante, que permite operar con números reales de diversas magnitudes, mediante un número decimal llamado mantisa y un exponente que indica el orden de magnitud.
La forma de declarar una variable flotante es escribiendo en una línea uno de los tipos de datos flotantes y a continuación el nombre de la variable y tal vez algún valor que se les quiera dar.
-> Variables reales (en como flotante)
Reales de 32 bits -> 4 bytes
Reales de 64 bits -> 8 bytes
Reales de 128 bits -> 16 bytes
Caracteres
Los caracteres se representan utilizando el tipo de char, que tiene solo 1 byte de tamaño. Este tipo se utiliza para representar los 256 caracteres de la tabla de caracteres del sistema. El tipo char es tambien un tipo entero, ya que puede tomar valores de 0 a 255. Por lo tanto también puede ser signed o unsigned.
-> Variable no Numericas
Lógicas -> 1 - 8 bytes
Alfanumericas -> "n" bytes
IV. DESARROLLO DE LAS TAREAS
a. TAREAS A SER EVALUADAS
Las condiciones que se tuvieron que cumplir para esta tarea fue la de:
Se tiene un sistema con dos pulsadores (D0, D1) de entrada y 3 display de salida, además de un zumbador en el pin E1. Programe según lo siguiente:
Al empezar el programa, se debe mostar el numero 500.
Al presionar D0, el número mostrado se debe incrementar en 5 unidades, ademas debe zonar un pitido.
Al presionar D1, el número mostrado debe disminuir 5 unidades pero de 1 en 1 cada segundo
Si el numero llegar a ser mayor a 600, debe sonar 3 pitidos.
1. Programación

2. Simulación en Proteus
En la simulación de Proteus, no mostraba el dato que debia dado la programación que se establecio, es por ello que fue necesario introducir el watch window que es una interfaz que permite ver el numero que en el display no se puede lograr ver.

V. VÍDEO DEMOSTRATIVO
:
link del video del laboratorio : https://www.youtube.com/watch?v=RbD0FuwHbtM&feature=youtu.be
Observaciones:
- Al inicio se presento un pequeño error, dado que el software PIC C COMPILER no creaba las demás carpetas que permitían simular como el archivo .hex, y para resolverlo se tuvo que recordar la anterior sesión la que se debía extraer en la base de datos del programa la información del pic 167F88A, y se copio a la carpeta donde se guardo una vez copiado se genero los archivos para poder simularlo en PROTEUS.
- En el desarrollo del laboratorio se observo que la programación realizada al principio no lograba ejecutar las acciones que se programaron, lo cual perjudico el desarrollo del mismo por lo que se recurrió a revisar la programación notando que en una parte de la programación no se negaba lo que contradecía las configuraciones que se dispuso, lo cual era el problema por el cual el entrenador no cumplía las configuraciones que se programaron..
- Se observo que todo lo aprendido en anteriores semestres, nos ayudo a lograr realizar con mayor eficiencia en este laboratorio en diversas plataformas de programación como lo es Arduino la que nos familiarizo con algunos comandos de bucles de control.+
- Cuando el puerto C se desciende hasta el ultimo puerto, este ya no regresa por mas que presionemos D0, por lo tanto, se deduce que esto sucede porque el PIC no presenta un proceso de bucle interno.
- En la investigación con respecto a los bucles de control se observo que existen ciertos comandos que se utilizan a ciertas configuraciones especificas lo que nos demuestra que las soluciones a un problema con respecto a la programación pueden ser infinitas, con respecto a los muchos ejemplos que se puede encontrar en la web.
Conclusiones
- Se logró realizar las actividades propuestas por el docente, realizando una correcta programación que permitió simular en el software PROTEUS a través del uso de los bucles de control como los es while, if-else, for, if.
- Se concluye que el PIC 16F877a no presenta una función de bucles internos, dado que se demostro que al llegar al ultimo pin del puerto C este no puede regresar incluso si presionamos D0.
- Se logró utilizar todo el puerto_C gracias a la configuración "output_c(0b00000000);" que permitió realizar las actividades propuestas por el docente.
- Se concluye que es necesario establecer una buena programación de acuerdo a los parametros que se soliciten, demostrando que hasta un ";" puede ser crucial para que la programación no compile, e incluso un "!" para que no funcione como se programe, por lo tanto se debe ser exhaustivo en esta parte, para evitar futuros errores.
No hay comentarios:
Publicar un comentario