MICROCONTROLADORES Y SISTEMAS EMBEBIDOS LABORATORIO Nº02
Enviado por Sf4m • 13 de Octubre de 2022 • Examen • 1.991 Palabras (8 Páginas) • 41 Visitas
[pic 1]
MICROCONTROLADORES Y SISTEMAS EMBEBIDOS LABORATORIO Nº02
Informe Previo (Semestre 2022-A)
Integrantes:
Aliaga Malaver Segundo Fernando
Indicaciones generales Horarios: 90G -91G
La solución del programa se presenta en el aula virtual de SGA-UNAC, en su horario respectivo Nombre del archivo: apellidos_integrantes.zip
El INFORME del archivo debe contener el desarrollo de cada pregunta y su respectivo enlace web.. Fecha: Martes 26 de abril . Hora: 4.30 p.m. (solo un integrante entrega el trabajo)
CUESTIONARIO
Para cada problema, presentar:
- Diagrama de flujo (1 ptos)
- Programa documentado y comprobado su funcionamiento ( 5 ptos) Presentar el archivo del programa main.c (en editor de textos)
Anotar enlace web del video de la simulación (la duración con una breve explicación no debe pasar los 4 minutos)
Programa 1.
En un Sistema digital, cuatro diodos leds (D1, D2, D3 y D4) están conectados al microcontrolador ATmega328P en los pines PC0, PC1, PB4 y PD7. Implementar un programa para lograr el parpadeo de cada led con un valor igual a un dígito de su código alumno UNAC incrementado en 5 de acuerdo a las consideraciones siguientes:
- PC0 relacionado con el dígito más significativo incrementado en 5
- PC1, relacionado con el último dígito incrementado en 5
- PB4 , relacionado con el penúltimo dígito incrementado en 5
- PD7, relacionado con el antepenúltimo dígito incrementado en 5
El parpadeo de los leds se presenta en orden primero parpadea D1, luego solamente D2, luego el led D3 y finalmente el led D4. Y se repite la secuencia de parpadeos. En ningún saso parpadea más de un led.
El tiempo de retardo o pausa es de acuerdo a su criterio. Ejemplo:
Código UNAC: 1317280427
D1 parpadeará (8+5) veces; D2 parpadeará (7+5) veces; D3 parpadeará (2 +5) veces y D4 hará un parpadeo de (4+5) veces.
Solucion:
- Diagrama de Flujo
[pic 2]
Codigo:
/*
* Programa_01_Labo2.c
*
* Created: 26/04/2022 13:32:26
* Author : Fernando ALiaga
*/
#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
//CódigoDeAlumno=142321(5117)
int main(void)
{ //Configuramos Pin C0, C1,B4,D5 como salidas
int x=0,y=0,z=0,w=0;
DDRD |= (1<<DDC0);//DDRC=0b00000000
DDRD |= (1<<DDC1);//DDRC=0b00000010
DDRC |= (1<<DDB4);//DDRB=0b00010000
DDRC |= (1<<DDD5);//DDRD=0b00100000
while (1)
{
while(x<10) //blucle ultimo digito del codigo aumentado en 5 (5+5)
{ ++x;
//led del puerto prendido
PORTC |= (1<<PORTC0);
_delay_ms(300);
//led del puerto C4 y C5 prendido
PORTC &= ~(1<<PORTC0);
_delay_ms(300);
}
_delay_ms(500);
while(y<12) //blucle ultimo digito del codigo aumentado en 7 (7+5)
{ ++y;
//led del puerto C4 y C5 prendido
PORTC |= (1<<PORTC1);
_delay_ms(300);
//led del puerto C4 y C5 apagado
PORTC &= ~(1<<PORTC1);
_delay_ms(300);
}
_delay_ms(500);
while(z<6) //blucle ultimo digito del codigo aumentado en 5 (1+5)
...