Está en la página 1de 6

INSTITUTO DE EDUCACION SUPERIOR SANTA MARIA

MECATRONICA INDUSTRIAL

CÓDIGO : P03
Práctica N°3
ASIGNATURA : EFSRT
PRIMERA FASE Docente:
Lenguaje en C – Estructura Condicional IF - ELSE Ing. Jaime Enrique Villegas Medina.

I. OBJETIVOS
a. Reconocer el funcionamiento de la estructura condicional IF – ELSE mediante el uso
de GPIO

II. HERRAMIENTAS
1. 1 PC
2. Libros de referencias
3. Apuntes y Guía de laboratorio.

III. BIBLIOGRAFIA
[1] Lenguaje en C:
https://www.iesm.edu.pe/einstituto2021/pluginfile.php/2370/mod_resource/content/1/
Lenguaje-C.pdf

[2] Guía de prácticas

Ing. Jaime Enrique Villegas Medina


PRÁCTICA N°2: IMPLEMENTACION DE SISTEMAS ELECTRONICOS PROGRAMABLES
IV. DESARROLLO:

4.1 Creación de un programa en Microchip Studio:

Crear un nuevo proyecto ejecutable indicando el nombre y el microcontrolador a utilizar en este caso
elATMega328p.

De esta manera se creará una plantilla básica donde se podrá crear tus primeros programas.

Vamos crear el siguiente programa ahora utilizando la librería “delay.h” que se encuentra dentro de la carpeta
“Útil”:

Ing. Jaime Enrique Villegas Medina


PRÁCTICA N°2: IMPLEMENTACION DE SISTEMAS ELECTRONICOS PROGRAMABLES

De esta manera lograremos controlar el tiempo de espera entre una instrucción y otra. Podemos comprobarlo en
proteus en el mismo circuito de la clase pasada utilizando el Pin 5 del puerto B. Probar este código cambiando el
tiempo de espera del comando delay por 1000, 5000 y 10000.

4.2 Incorporación de la sentencia IF - ELSE

Para entender su funcionamiento primero configuraremos el puerto C como entrada, y usaremos el pin 3 para
recepcionar una señal.

Ahora ese pin 3 del puerto C está configurado como entrada y por esa entrada mediante un pulsador permitiremos
el paso de voltaje y bajo una condición “if-else”, se activará el bucle infinito “while” que se encarga de encender y
apagar el led.

Recordemos que para enviar un nivel de voltaje por un puerto utilizamos el comando “PORT” y cuando deseamos
leer el valor de voltaje que ingresa a un puerto utilizamos el comando “PIN”.

En este caso estamos utilizando la condición PINC & (1<<PINC3) que se puede traducir de la siguiente manera:
“Cuando el valor leído en el PINC se igual al valor en bits como fue configurado el PINC3 (0001000) realizar la
siguiente acción, de lo contrario no realizar nada.”

Ing. Jaime Enrique Villegas Medina


PRÁCTICA N°2: IMPLEMENTACION DE SISTEMAS ELECTRONICOS PROGRAMABLES

4.3 Prueba del código en Proteus:

Abriremos el programa proteus y creamos el siguiente circuito con los siguientes elementos:

• Atmega328p - Microcontrolador
• RES - Resistencia
• SWITCH - Pulsador
• GROUND – Tierra
• POWER – Fuente de poder

A la salida de pin C3 se forma un circuito conocido como Pull Down, donde se tiene dos caminos: el primero
habilitado por defecto que es una señal en bajo, y el segundo habilitado a partir de un “Switch” que es una señal en
alto. Cuando la señal en alto es activada mediante el switch, esta toma prioridad sobre la señal en bajo. La
resistencia de 10k (un valor alto) siempre se coloca entre ambas señales para evitar que estas se llegue a cruzar.

Vamos a configurar nuestro microcontrolador para que pueda funcionar con el programa, haciendo doble clic en
él. Modificaremos lo que se ve marcado.

Procederemos a guardar el archivo en la misma carpeta del proyecto de microchip studio pero en la subcarpeta
de “debug”.

Ing. Jaime Enrique Villegas Medina


PRÁCTICA N°2: IMPLEMENTACION DE SISTEMAS ELECTRONICOS PROGRAMABLES

Vamos a abrir ahora el archivo “.hex” desde nuestro microcontrolador en proteus haciendo nuevamente doble
clic en el e ingresando a la opción “program file”.

Para poder ver en sí el programa funcionando utilizamos el archivo “.hex”.

Y procedemos a simular el circuito. Debería observarse el led aun apagado puesto que la condición aun no se activa
pues la señal que recibe aun es abajo. Únicamente cuando se presione el switch se enviará una señal en alto que
permitirá cumplir la condición de igual de la sentencia IF y permitirá el paso al bucle infinito while.

Ing. Jaime Enrique Villegas Medina


PRÁCTICA N°2: IMPLEMENTACION DE SISTEMAS ELECTRONICOS PROGRAMABLES

V. PRACTICA:

5.1 Crear un programa que permita encender y apagar un led a una velocidad de intermitencia de
500 ms cuando el interruptor este activado y cambiar la intermitencia de encendido y apagado
a 2000 ms cuando el interruptor ese desactivado.

Ing. Jaime Enrique Villegas Medina

También podría gustarte