LABORATORIO N°9
PROGRAMACIÓN BÁSICA CON BUCLES DE CONTROL
while (condición)
Si la condición es verdadera (se cumple), se ejecuta la sentencia1, de lo contrario la sentencia2. (esta estructura suena de la siguiente forma: “si la (condición) se cumple, se ejecuta la sentencia1, sino, se ejecuta la sentencia2). También se pueden escalonar los if:
if (condición)
for(inicialización; condición; incremento)
Para un bloque de sentencias (recordemos que el bloque queda definido por las llaves).
for(inicialización; condición; incremento)
1. COMPETENCIA ESPECIFICA DE LA SESIÓN.
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.
2. 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.
3.SOFTWARE UTILIZADOS.
Pic c compiler:
PIC C es una herramienta que permite programar un microcontrolador por medio de lenguaje C, a diferencia del lenguaje máquina o ensamblador (ASM) que se maneja por defecto, este hace los programas más fáciles de escribir, analizar y comprender.
PICkit 2:
Pic c compiler:
PIC C es una herramienta que permite programar un microcontrolador por medio de lenguaje C, a diferencia del lenguaje máquina o ensamblador (ASM) que se maneja por defecto, este hace los programas más fáciles de escribir, analizar y comprender.
PICkit 2:
PICkit es una familia de programadores para microcontroladores PIC fabricados por Microchip Technology . Se utilizan para programar y depurar microcontroladores.
4.DESCRIPCIÓN DEL PIC16F877A.
Es un microcontrolador de Microchip Technology fabricado en tecnología CMOS, su consumo de potencia es muy bajo y además es completamente estatico (esto quiere decir que el reloj puede detenerse y los datos de memoria no se pierden) capaz de realizar diferentes actividades que requieran del procesamiento de datos digitales y del control y comunicación digital de diferentes dispositivos.
Principales características:
Procesador de arquitectura RISC (Reduced Instruction Set Computer) avanzada
Juego de 35 palabras de instrucción a aprender.
Velocidad de operación: Frecuencia de entrada 20 Mhz, ciclos de instrucción de 200ns.
Hasta 8K en palabras de 14 bits para la memoria tipo flash.
Hasta 368 Bytes de memoria de datos RAM.
Hasta 256 Bytes de memoria datos EEPROM
Capacidad de interrupción de hasta 14 fuentes internas y externas
Power on reset
Power-up Timer (PWRT) y Oscillator Start-up Timer (OST)
Compatible modo SLeep
Protección de código Programable
Voltaje de operación entre 2.0 y 5.5 voltios
Corriente máxima 25 mA.
Bajo consumo.
Puertos del PIC16F887A
Puertos del PIC16F887A
5.DESCRIPCIÓN DE LOS PRINCIPALES BUCLES DE CONTROL
5.1 BUCLE WHILE.
El bucle while permite ejecutar una o mas sentencias en tanto se cumpla una condición.
Si la condición deja de cumplirse, se dejan de ejecutar la o las instrucciones y se “sale
del bloque while para continuar procesando las instrucciones que se encuentran después
del mismo.
while (condición)
sentencia;
while (condición)
{
sentencia1;
sentencia2;
sentencia3;
sentencia4;
.
.
Senttencia_n;
}
5.2 BUCLE IF-ELSE.
Forma general:
if (condición)
sentencia1;
else
sentencia2;
Si la condición es verdadera (se cumple), se ejecuta la sentencia1, de lo contrario la sentencia2. (esta estructura suena de la siguiente forma: “si la (condición) se cumple, se ejecuta la sentencia1, sino, se ejecuta la sentencia2). También se pueden escalonar los if:
if (condición)
Sentencia1;
else if
(condición)
Sentencia2;
else
Sentencia3;
5.3 BUCLE FOR.
Esta sentencia nos permite repetir una o varias sentencias una cantidad de veces
determinada por 3 parámetros.
Forma general del for:
Para una sola sentencia:
for(inicialización; condición; incremento)
sentencia;
Para un bloque de sentencias (recordemos que el bloque queda definido por las llaves).
for(inicialización; condición; incremento)
{
sentencias;
}
6.VÍDEO DE EVIDENCIA:
6.OBSERVACIONES.
- Se observó que, después de grabar el programa en el entrenador, los leds de los puertos no utilizados en el programa encendían un poco por ello se tuvo que añadir lo siguiente "output_B(0);" para apagar los demás leds y deshabilitarlos mediante el dip switch.
- Se observó que, al presionar el pulsador en el entrenador este hacia como si hubiésemos pulsado dos o tres veces, por ello era necesario aumentar un delay para congelar el tiempo.
- Se observó que algunos pulsadores no funcionaban de manera correcta, era necesario pulsarlos dos veces para que funcionarán.
7.CONCLUSIONES.
- Se logró realizar el programa con las condiciones que se propusieron usando los aprendido en la clase y la anterior.
- Se logró entender el funcionamiento de los bucles de control if, while y for.
- Para comprobar si el funcionamineto del programa es correcto, primero se simulo en proteus, para corregir las posibles fallas.
