Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ise Pa1 2022-2 Sec2 - Prac - Sol
Ise Pa1 2022-2 Sec2 - Prac - Sol
INDICACIONES
La evaluación es estrictamente personal.
Suba al buzón sus respuestas en un archivo comprimido: el diagrama de flujo en formato PDF y el código en
formato assembler.
Encienda su cámara cuando le sea requerido.
La documentación (comentarios, redacción, ortografía) será considerada en la evaluación.
La evaluación completa (teoría y práctica) es de 100 minutos.
El siguiente circuito recibe un dato de 3 bits de un equipo externo, el mismo que indica mediante un pulso
(‘1’ por menos de 1 ms) cuándo el microcontrolador debe leer el dato. Con el objetivo de enviar un dato
estable por ’Salida’, el microcontrolador debe promediar 32 lecturas recibidas por el equipo externo y
mostrarlas en la ‘Salida’ (PB2..0). Si el valor promediado es mayor a 5, el LED debe encenderse.
Además, los valores promediados deben ser almacenados en memoria RAM desde la dirección 0x1AA,
siendo el máximo valor de datos almacenados 100. Al llegar a dicho máximo, se debe almacenar
nuevamente desde la dirección 0x1AA.
En caso sea presionado el pulsador P1, el proceso se debe reiniciar.
Considere que P1 no genera rebotes mecánicos.
Vdd
PD2
P1 PD0 LED
Atmega328P
Data_in
3
PC2..0
Equipo 3
En PB2..0 Salida
externo
PD1
1 de 4
Introducción a Sistemas Embebidoss
Práctica Calificada 1 (segunda parte) Sec2 (pregrado)
6to Ciclo / 2022-2
Inicio
Configura puertos
Count_mem = 0
Count_lec = 0
Sum = 0
Prom = 0
Est_pres = 0
Dir_mem = 0x1AA
No
EN = 1
Sí
No
EN = 0
Sí
Count_lec ++
No
Count_lec = 32
Sí
Prom = Sum/32
Sí Prom > 5
No
Dir_mem ++
Count_mem++
Count_lec = 0
Sum = 0
Prom = 0
Count_mem = No
100
Sí
Count_mem = 0
Dir_mem = 0x1AA
Est_pres = 1
Sí
No
Pulsador Pulsador
presionado presionado No
Sí
No Sí
Est_pres = 0 Est_pres = 1 2 de 4
Introducción a Sistemas Embebidoss
Práctica Calificada 1 (segunda parte) Sec2 (pregrado)
6to Ciclo / 2022-2
b) Código assembler. Debe ser coherente con su diagrama de flujo (7 puntos). Es obligatorio el uso
de comentarios adecuados y encabezado del código
;*****************************************
; ISE2022_2_s2-P1.asm
; Propuesta de solución de la PC1 - S2
; Semestre: 2022-2
;
; El siguiente circuito recibe un dato de 3 bits de
; un equipo externo, el mismo que indica mediante un
; pulso (‘1’ por menos de 1 ms) cuándo el microcontrolador
; debe leer el dato. Con el objetivo de enviar un dato
; estable por ’Salida’, el microcontrolador debe
; promediar 32 lecturas recibidas por el equipo externo
; y mostrarlas en la ‘Salida’ (PB2..0). Si el valor
; promediado es mayor a 5, el LED debe encenderse.
; Además, los valores promediados deben ser almacenados
; en memoria RAM desde la dirección 0x1AA, siendo el
; máximo valor de datos almacenados 100. Al llegar a
; dicho máximo, se debe almacenar nuevamente desde la
; dirección 0x1AA. En caso sea presionado el pulsador P1,
; el proceso se debe reiniciar. Considere que P1 no genera rebotes mecánicos.
;
; PC2..0: Data_in
; PD1: En
; PB2..0: Salida
; PD0: P (pull-up externo)
; PD2: LED (activo en alto)
;
;***********************************************
;Configuración de puertos
LDI R16, 0x07
OUT DDRB, R16
SBI DDRD, 2
; Inicia variables
INICIO_VAR:
CLR Count_mem
CLR Count_lec
CLR Sum
3 de 4
Introducción a Sistemas Embebidoss
Práctica Calificada 1 (segunda parte) Sec2 (pregrado)
6to Ciclo / 2022-2
; Calcula el promedio
Prom_32:
LSR Sum
LSR Sum
LSR Sum
LSR Sum
LSR Sum
Env_prom:
; envía el promedio por el puerto B
OUT PORTB, Sum
; Limpia variables
CLR Count_lec
CLR Sum
P_presionado1:
SBIS PIND, PD0 ; Evaluación de pulsador presionado por primera vez
RJMP EVAL_En_1 ; No se presionó, continua recibiendo datos
SBR Est_pres, 0 ; Se presionó. Cambia bit para evaluar próxima lectura
RJMP INICIO_VAR ; Reinicia el sistema
P_presionado2:
SBIC PIND, PD0
RJMP EVAL_En_1 ; Sigue presionado
CBR Est_pres, 0 ; limpia el estado, el pulsador fue soltado
RJMP EVAL_En_1
4 de 4