MICRO-CONTROLADORES

 " PROGRAMACIÓN BÁSICA CON BUCLES DE CONTROL"
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 ESPECÍFICA 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.

    III. FUNDAMENTO TEÓRICO

    BUCLES DE CONTROL: while, if, if-else, for.

     a. While
    El ciclo while nos permite realizar múltiples iteraciones basándonos en el resultado de una expresión lógica que puede tener como resultado un valor True o False

      1. Tipos de Bucle ‘while’
    A continuación, se presentan algunos ejemplos del uso del bucle while:
             1.1  Bucle ‘while’ controlado por Conteo
    A continuación, se presenta un ejemplo del uso del bucle while controlado por conteo:
    suma, numero = 0, 1
    while numero <= 10:
        suma = numero + suma
        numero = numero + 1
    print "La suma es " + str(suma)
    En este ejemplo tiene un contador con un valor inicial de cero, cada iteración del while manipula esta variable de manera que incremente su valor en 1, por lo que después de su primera iteración el contador tendrá un valor de 1, luego 2, y así sucesivamente.
    Eventualmente cuando el contador llegue a tener un valor de 10, la condición del ciclo numero <=10 sera False, por lo que el ciclo terminará arrojando el siguiente resultado.
             1.2 Bucle ‘while’ controlado por Evento
    A continuación, se presenta un ejemplo del uso del bucle while controlado por Evento:
    promedio, total, contar = 0.0, 0, 0    
    print "Introduzca la nota de un estudiante (-1 para salir): "
    grado = int(raw_input())        
    while grado != -1:
        total = total + grado
        contar = contar + 1
        print "Introduzca la nota de un estudiante (-1 para salir): "
        grado = int(raw_input())
    promedio = total / contar
    print "Promedio de notas del grado escolar es: " + str(promedio)
    En este casi el evento que se dispara cuando el usuario ingresa el valor -1, causando que el bucle while se interrumpo o no se inicie.
     1.3 Bucle ‘while’ con ‘else’
    Al igual que la sentencia if, la estructura while también puede combinarse con una sentencia else).
    El nombre de la sentencia else es equivocada, ya que el bloque else se ejecutará en todos los casos, es decir, cuando la expresión condicional del while sea False, (a comparación de la sentencia if).
    promedio, total, contar = 0.0, 0, 0
    mensaje = "Introduzca la nota de un estudiante (-1 para salir): "
    grado = int(raw_input(mensaje))
    while grado != -1:
        total = total + grado
        contar += 1
        grado = int(raw_input(mensaje))
    else:
        promedio = total / contar
        print "Promedio de notas del grado escolar: " + str(promedio)
    La sentencia else tiene la ventaja de mantener el mismo nombre y la misma sintaxis que en las demás estructuras de control.
     2. Sentencias utilitarias
    A continuación, se presentan algunos ejemplos del uso de sentencias utilitarias usadas en el bucle while:
    2.1Sentencia break
    A continuación, se presenta un ejemplo del uso del bucle while controlado la sentencia break:
    variable = 10
    while variable > 0:
        print 'Actual valor de variable:', variable
        variable = variable -1
        if variable == 5:
            break
    Adicionalmente existe una forma alternativa de interrumpir o cortar los ciclos utilizando la palabra reservada break.
    Esta nos permite salir del ciclo incluso si la expresión evaluada en while (o en otro ciclo como for) permanece siendo True. Para comprender mejor use el mismo ejemplo anterior pero se interrumpe el ciclo usando la sentencia break.
    2.2 Sentencia continue
    A continuación, se presenta un ejemplo del uso del bucle while controlado la sentencia continue:
    variable = 10
    while variable > 0:             
       variable = variable -1
       if variable == 5:
          continue
       print 'Actual valor de variable:', variable
    La sentencia continue hace que pase de nuevo al principio del bucle aunque no se haya terminado de ejecutar el ciclo anterior.

    b.  If

    La sentencia condicional if se usa para tomar decisiones, este evaluá básicamente una operación lógica, es decir una expresión que dé como resultado True o False, y ejecuta la pieza de código siguiente siempre y cuando el resultado sea verdadero.
          1.1  Sentencia if
    La sentencia if EXPRESION, significa, Si se cumple la expresión condicional se ejecuta el bloque de sentencias seguidas.
         1.2. Sentencia elif
    La sentencia elif EXPRESION, significa, De lo contrario Si se cumple la expresión condicional se ejecuta el bloque de sentencias seguidas
    1.3. Sentencia else
    La sentencia else, significa, De lo contrario se cumple sin evaluar ninguna expresión condicional  y ejecuta el bloque de sentencias seguidas.
    1.4. Operador is
    El operador is, significa, que prueba identidad: ambos lados de la expresión condicional debe ser el mismo objeto:
    1.5. Operador in
    El operador in, significa, para cualquier colección del valor del lado izquierdo contenga el valor del lado derecho:
    1.6. Operador not in
    El operador not in, el contrario de operador in, devuelve True cuando un elemento no está en una secuencia.

    c.  If- else
    Ejecuta una sentencia si una condición especificada es evaluada como verdadera. Si la condición es evaluada como falsa, otra sentencia puede ser ejecutada. Quiza la estructura if-else es la estructura de control mas basica y la mas utilizada. La forma mas sencilla seria algo así
    Si (tal cosa es cierta) {
    // Haz esto
    }En caso contrario {
    // Haz esto otro
    }

    d. For
    Los bucles for funcionan exactamente igual que en C. Con una sola instrucción controlamos el bucle.
    for(valor inicial; condicion; ejecutar en cada bucle) {
    // instrucciones a ejecutar mientras la condición sea cierta
    }
    Ejemplo
    for ($cantidad = 1; $cantidad< 10; $i++){
    echo("$cantidad");
    }
    Traducido es igual a : Cantidad es igual a 1, mientras cantidad sea menor que 10 escribe cantidad en pantalla y despues sumale 1 al valor de la cantidad. Es decir, es exactamente el mismo ejemplo que vimos en el bucle while pero de otra manera.



    IV. DESARROLLO DE TAREAS
        1. TAREAS GUIADAS EN EL LABORATORIO
       
           En esta primera etapa se realizo la programación guiada por el docente el cual fue de la siguiente            manera:

     Seguidamente se compilo lo cual genero un archivo en formato .hex, este archivo nos permite poder simularlo en PROTEUS, acción que realizamos para poder verificar que nuestras programación cumpla con las configuraciones que se ha establecido.
    Para la aplicación de esta programación se verifico todos los condiciones:
    a) Con el PIN_D0





     La condición es que debe encender C0, al volver a presionar, debe encender C1 y asi suceivamente.



    Comentarios

    Entradas populares de este blog