MICROCONTROLADORES
Laboratorio N°09:
Programación básica con bucles de control
Programación básica con bucles de control
- 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.
- Manejo de puertos de forma grupal e independiente para manejo de luces.
- Programación de sonidos mediante subrutinas.
- Creación de Subrutinas mediante funciones.
- Declaración de variables enteras.
3. CONTENIDOS A TRATAR
- Control de puertos como entradas y/o salidas.
- Generación de salidas pulsante.
- Bucles de control
4.1. PIC 16F877A:
Este microcontrolador es fabricado por MicroChip familia a la cual se le denomina PIC. El modelo 16F877A posee varias características que hacen a este microcontrolador un dispositivo muy versátil, eficiente y práctico para ser dar uso en diferentes aplicaciones.
Algunas de estas características se muestran a continuación:
- Soporta modo de comunicación serial, posee dos pines para ello.
- Amplia memoria para datos y programa.
- Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH; este tipo de memoria se puede borrar electrónicamente (esto corresponde a la "F" en el modelo).
- Set de instrucciones reducido (tipo RISC), pero con las instrucciones necesarias para facilitar su manejo.
4.2. BUCLE WHILE:
para escribir una instrucción while (repetitiva mientras) se utiliza la sintaxis:
Cuando el <bloque_de_instrucciones> sólo contiene una instrucción, los caracteres abrir llave ({) y cerrar llave (}) son opcionales.
Por otra parte, al igual que en las instrucciones alternativas doble y simple, a la <expresión_lógica> de una instrucción repetitiva while, también se le llama condición.
Para que se ejecute el <bloque_de_instrucciones>, la condición tiene que ser verdadera. Por el contrario, si la condición es falsa, el <bloque_de_instrucciones> no se ejecuta.
Por tanto, cuando el fde un programa llega a un bucle while, existen dos posibilidades:
Por otra parte, al igual que en las instrucciones alternativas doble y simple, a la <expresión_lógica> de una instrucción repetitiva while, también se le llama condición.
Para que se ejecute el <bloque_de_instrucciones>, la condición tiene que ser verdadera. Por el contrario, si la condición es falsa, el <bloque_de_instrucciones> no se ejecuta.
Por tanto, cuando el fde un programa llega a un bucle while, existen dos posibilidades:
- Si la condición se evalúa a falsa, el bloque de instrucciones no se ejecuta, y el bucle while finaliza sin realizar ninguna iteración.
- Si la condición se evalúa a verdadera, el bloque de instrucciones sí que se ejecuta y, después, se vuelve a evaluar la condición, para decidir, de nuevo, si el bloque de instrucciones se vuelve a ejecutar o no. Y así sucesivamente, hasta que, la condición sea falsa.
Cuando el programa llega a una sentencia condicional del tipo If …Else, primero se evalúa una expresión; si se cumple (es cierta) se ejecuta un bloque de sentencias y si es falsa se ejecuta otro bloque.
4.4. BUCLE FOR
La sintaxis del bucle for es la siguiente:
expr1: Ajustas un variable a un valor.
expr2: Colas la condición para el bucle.
expr3: Puedes realizar un incremento a la variable.
4. EVIDENCIA DE TAREAS EN LABORATORIO:
En este video se explicará cada actividad desarrollada en el laboratorio.
|
5. OBSERVACIONES:
- El pulsador A5 no se utilizo debido a que no funcionaba correctamente.
- El tiempo para hacer el antirrebote se puso en 300 ms.
- Al ejercicio se le aumento la realimentación para evitar usar el botón de RESET.
- Para proponer las condiciones para el bucle IF es necesario tomar en cuenta donde se deja el led prendido para asi continuar ya sea con el varrido hacia abajo o arriba.
6. CONCLUSIONES:
- Se logró plantear un programa que cumpla con las condiciones que se propusieron en el laboratorio usando lo aprendido en esta y la anterios sesión.
- Se comprendió la sintaxis y como poder usar los bucles IF, WHILE y FOR.
- Antes de subir el programa en el entrenador lo simulamos en Proteus para poder encontrar fallas y evitar dañar al equipo.
- Mejoramos el código para poder evitar usar el botón RESET, haciendo que se realimente automáticamente ya sea cuando se use el barrido hacia arribo o abajo













