Sunteți pe pagina 1din 5

MICROCONTROLADORES

LABORATORIO N° 09

Programación básica con bucles de


control.

Alumno(s) Nota

Grupo
Ciclo 4C5 Electrónica y Automatización – Microcontroladores
Fecha de entrega

ELECTRONICA Y AUTOMATIZACION INDUSTRIAL


PROGRAMA DE FORMACIÓN REGULAR
Nro.
LABORATORIO MICROCONTROLADORES Página 2 de 4

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 SESION


● 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. CONTENIDOS A TRATAR


● Control de puertos como entradas y/o salidas
● Generación de salida pulsante
● Bucles de control

IV. RESULTADOS
● Diseñan y optimizan sistemas y procesos para cumplir con las condiciones establecidas
y gestionando adecuadamente los recursos materiales y humanos.

V. MATERIALES Y EQUIPO
● CCS Compiler instalado.
● Entrenador de PICS
● Pantalla LCD
● PIC16F877A
● Motor DC
● Guía de Laboratorio. El trabajo se desarrolla de manera GRUPAL.
● PC con Software de simulación.

VI. REPASO DEL LABORATORIO ANTERIOR


● Herramientas de Programación en Hardware y Software

VII. FUNDAMENTO TEÓRICO


● Estructuras y Bucles de control.
● Si quieres profundizar, ingresa a la página www.coursera.org , logearse y buscar el
curso “¡A Programar! Una introducción a la programación”, inscribirse en el mismo.

VIII. SEGURIDAD EN LA EJECUCIÓN DEL LABORATORIO

Tener cuidado con el tipo y niveles de voltaje con


los que trabaja.

Antes de utilizar el multímetro, asegurarse que esta


en el rango y magnitud eléctrica adecuada.

Tener cuidado en la conexión y en la desconexión


de los equipos utilizados
Nro.
LABORATORIO MICROCONTROLADORES Página 3 de 4

IX. TAREAS GUIADAS DENTRO DEL LABORATORIO:

1. Transcriba el programa mostrado, compile dicho programa, simule en Proteus y


compruebe funcionamiento en Tarjeta Entrenadora.

#include <16f877a.h> // Incluimos archivo con PIC a utilizar


#use delay (clock=20M) // Indicamos al compilador que trabajaremos a 20Mhz
#fuses HS, NOPROTECT, NOWDT // Configuración básica de los fusibles

int salida=1; // Declaramos variable "salida" como entera y valor UNO


int variable=0;

void main () // FUNCION PRINCIPAL del programa, indispensable


{
output_c(0b00000000); // Sacamos por el puerto C el valor de salida (00000000)
// Este comando se realiza por única vez
while (true) // Bucle de REPETICION infinita por valer "true"
{
IF (!input(PIN_A5)) // SI detectamos 0 voltios en PIN A5 (presionando pulsador)
{
output_c(salida); // Sacamos por el puerto C el valor de salida (00000001)
delay_ms(500); // "Congela el tiempo" durante 500 ms para evitar falsos disparos
}

IF (!input(PIN_D0)) // SI detectamos 0 voltios en PIN D0 (presionando pulsador)


{
output_high(PIN_C5); // Pone a "1" el pin C5 (envía 5 voltios)
output_bit(PIN_C4, 1); // Pone a "1" el pin C4 (envía 5 voltios)
output_toggle (PIN_C1); // Invierte el valor del PIN C1 (si estaba en 0, pasa a 1 y viceversa)
delay_ms(500); // "Congela el tiempo" durante 500 ms para evitar falsas pulsaciones
}

IF (!input(PIN_D1)) // SI detectamos 0 voltios en PIN A5 (presionando pulsador)


Nro.
LABORATORIO MICROCONTROLADORES Página 4 de 4

{
salida = salida << 1; // Recorremos el contenido de "salida" una posición a la izquierda
output_c(salida); // Sacamos por el puerto C el valor de salida (00000001)
variable = 1; // asignamos el valor "1" a variable
delay_ms(500); // "Congela el tiempo" durante 500 ms para evitar falsas pulsaciones
}

IF (!input(PIN_E2) && (variable == 1)) // SI detectamos 0 voltios en PIN E2 variable vale 1....
{
output_bit(PIN_C5,0); // Pone a "0" el pin C0 (envía cero voltios o GND)
variable = 0; // asignamos el valor "0" a variable
delay_ms(500); // "Congela el tiempo" durante 500 ms para evitar falsas pulsaciones
}

}
}

X. TAREAS A SER EVALUADAS:


Realice las modificaciones que se sugieren al programa, experimente y responda las
preguntas planteadas

1. Se tiene un sistema con 3 pulsadores (A5, D0, D1) de entrada y 8 leds de salida
(Puerto C): Programar para que se comporte de la siguiente manera:
a. Al iniciar el programa todos los leds deben permanecer apagados.
b. Al presionar A5, debe encender C0, al volver a presionar, debe encender C1 y
así sucesivamente.
c. Al presionar D0, los deben encender sucesivamente pero en sentido inverso.
d. La entrada D1 debe funcionar como un habilitador, es decir, por defecto el
sistema está habilitado y funcionará como lo antes mencionado. Si presiono D1,
el sistema quedará “congelado” y nada funcionará. Si vuelvo a presionar D1, el
sistema nuevamente queda habilitado.
2. Describa el funcionamiento del programa previamente diseñado, demuestre
funcionamiento mediante simulación y en tarjeta entrenadora. Grabe en video para
evidencia.

XI. CONTENIDO DEL INFORME EN EL BLOG:

1. Descripción de los principales BUCLES DE CONTROL: while, if, if-else, for.


2. Video mostrando las TAREAS A SER EVALUADAS realizadas en laboratorio.
3. Video mostrando en SIMULACION e IMPLEMENTACION del programa solicitado.
4. Nombre de los integrantes durante todo el video, en la pantalla de simulación y un
“selfie” al principio de la explicación de los videos. La explicación de los videos será
repartido entre los integrantes del grupo.
5. Incluir OBSERVACIONES Y RECOMENDACIONES en modo texto al final del BLOG.

XII. RESÚMEN
● Programación de los puertos como Entradas y/o salidas
● Prueba y uso de buzzer, pulsadores y leds
● Simulación paso a paso en PROTEUS

XIII. PROXIMO LABORATORIO:


● Fase 3: Display de 7 segmentos y Temporizadores.

XIV. BIBLIOGRAFIA Y WEBGRAFIA RECOMENDADA


● Marin, Francisco (2007) Diseño basado en microcontroladores. Málaga:
Universidad de Málaga. (004.16/M26D)
● Pereira, Fabio (2007) Microcontroladores PIC. Sao Paulo:s.n. (005.13/P43)
● José María Angulo Usátegui [y otros]. (2007) Electrónica digital y
microprogramable .Madrid: Thomson. (621.381/A37/I)
Nro.
LABORATORIO MICROCONTROLADORES Página 5 de 4

S-ar putea să vă placă și