jueves, 14 de marzo de 2019

Laboratorio N° 02



MICROCONTROLADORES

Laboratorio N° 02

PROGRAMACIÓN BÁSICA CON BUCLES DE CONTROL 

1. CAPACIDAD TERMINA
* 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.

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


3. MARCO TEÓRICO 
El PIC 16F877.a es un microcontrolador de Microchip Technology fabricado en tecnología CMOS, su consumo de potencia es muy bajo y además es completamente estático (esto quiere decir que el reloj puede detenerse y los datos de la memoria no se pierden).
BUCLES DE CONTROL: while, if, if-else, for.
- Bucle Whileel bucle While se usa cuando se desea ejecutar un fragmento de codigo repetidamente hasta que la condicion "while" se evalua como falsa.Se puede definir como se muestra en el siguiente pseudo codigo.
while (/*condicion*/) {
 /* Código */
}

- Bucle "if-else"
En la gran mayoría de los programas será necesario tomar decisiones sobre qué acciones realizar. Esas decisiones pueden depender de los datos que introduzca el usuario, de si se ha producido algún error o de cualquier otra cosa.

La estructura condicional "if-else" es la que nos permite tomar ese tipo de decisiones. Traducida literalmente del inglés, se la podría llamar la estructura "si...si no", es decir, "si se cumple la condición, haz esto, y sino, haz esto otro".
if (condición) {
  sentencias_si_verdadero;
 } else {
  sentencias_si_falso;
 }


- Bucle "for"
El bucle for es un bucle muy flexible y a la vez muy potente ya que tiene varias formas interesantes de implementarlo, su forma más tradicional es la siguiente:
for (/* inicialización */; /* condición */; /* incremento */) {
 /* código a ejecutar */
}
Inicialización: en esta parte se inicia la variable que controla el bucle y es la primera sentencia que ejecuta el bucle. Sólo se ejecuta una vez ya que solo se necesita al principio del bucle.
Expresión condicional: al igual que en el bucle while", esta expresión determina si el bucle continuará ejecutándose o no.
Incremento: es una sentencia que ejecuta al final de cada iteración del bucle. Por lo general, se utiliza para incrementar la variable con que se inicio el ciclo. Luego de ejecutar el incremento, el bucle revisa nuevamente la condición, si es verdadera tiene lugar una ejecución más del cuerpo del ciclo, si es falsa se termina el ciclo y así.

4. EVIDENCIAS
- PROGRAMA REALIZADO 
#include <16f877a.h>           
#use delay (clock=20M)         
#fuses HS, NOPROTECT, NOWDT     
int salida=1;                  
int variable=0;
void main ()                    
{
  output_c(0b00000000);                                      
    while (true)                 
   {
     IF (!input(PIN_A5) )       
          {
            salida = salida << 1;                    
            output_c(salida);                          
            delay_ms(500);                           
          }
       IF (!input(PIN_D0) )       
         {
            salida = salida >> 1;  
            output_c(salida);     
            delay_ms(500);         
          }          
      IF (!input(PIN_D1))  
         {
        IF (variable == 0)
         {
           variable =1;
          }
        else
        variable=0;
          }
    }

 }

5. OBSERVACIONES
- En las pruebas realizadas se tuvo pequeñas dificultades con los bucles, debido a la falta de información.
- Cuando se realizo la tarea del laboratorio se tuvo que usar varias condicionales para que las condiciones se cumpla en el programa.
- Al momento de realizar la prueba, al presionar el botón A5 para iniciar el recorrido del encendido, no prendía en el led C0, si no el C1.

6. CONCLUCIONES
-  Se logro utilizar el microcontrolador en aplicaciones de control electrónico.
- se desarrollo y ejecuto el programa realizado en el laboratorio funcionando de forma adecuada.
- Se logró programar y configurar la interface básica del microcontrolador 

INTEGRANTE
- Aldude Aldudi, Rosmel

1 comentario: