Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Código:
INT0 EQU 400H
RETA EQU 300H
LUCESKIT EQU 200H
MAIN EQU 30H
$include(REG51.inc)
ORG 0H
JMP MAIN
ORG 03H
JMP INT0
;INICIO DEL MAIN
ORG 30H
MOV TCON, #01H
MOV IE, #081H
SALTO1: MOV A, #00H
CALL LUCESKIT
NOP
JMP SALTO1
;FIN DE LA RUTINA DEL MAIN
ORG 300H
MOV R2,#124
E2:
MOV R1,#143
E1:
DEC R1
NOP
NOP
NOP
NOP
NOP
CJNE R1, #00H, E1
DEC R2
NOP
NOP
NOP
NOP
CJNE R2, #00H, E2
ret
;FIN DE LA SUBRUTINA DE RETARDO DE LUCESKITT
POP ACC
MOV R0, A
POP ACC
MOV PSW, A
POP ACC
RETI
;FIN DE LA SUBRUTINA DE INTERRUPCIO INT0...
END
Diagrama de flujo
Capturas de Proteus:
En la imagen se muestra la simulación del programa con Isis Proteus de las
luces KITT con el botón de interrupción en el pin 12 (P3.3/INT1) del
microcontrolador, el cual al ser cambiado de un estado alto a bajo produce un
parpadeo en los 8 pines del puerto 1 interrumpiendo la secuencia de las luces
KITT, la imagen se muestra en el momento de la interrupción.
Fotos de evidencia con explicación
Una vez activada la interrupción se puede apreciar que todo el display de leds
enciende y se apaga con un retardo de medio segundo para el encendido y
apagado respectivamente, y el osciloscopio está arrojando los “0” y “1” que
son pulsos digitales provocados por el accionamiento de la interrupción 0, un
total de 10 veces.
Observaciones y conclusiones:
Como equipo podemos concluir con que una interrupción es un evento que
hace que el microcontrolador deje de ejecutar la tarea que está realizando para
atender dicho acontecimiento y luego regrese y continúe la tarea que estaba
realizando antes de que se presentara la interrupción, esto gracias a las
modificaciones que fuimos haciéndole a la programación.
Con el botón de interrupción en el pin 12 (P3.3/INT1) del microcontrolador
damos inicio a la secuencia de parpadeo en los 8 pines para poder lograr el
efecto del auto increíble, todo esto gracias a las interrupciones anteriormente
programadas en el ensamblador.