¡Cómo escribir un programa en lenguaje ensamblador que encienda ocho luces en secuencia pero que no se pueda apagar, y luego las apague en orden inverso!
Supongamos que ocho luces LED están conectadas al puerto P1. La parte de control de luces del programa es la siguiente:
LEDCTL:
MOV P1,#0FEH ;Enciende la primera luz.
RETARDO DE LLAMADA
MOV R0,#7
LEDLP1:
CLR C
MOV A,P1
RLC A
MOV P1,A
LCALL DELAY
DJNZ R0,LEDLP1
MOV R0, #8
LEDLP2:
SETB C
MOV A,P1
RRC A
MOV P1, A
LCALL DELAY
DJNZ R0,LEDLP2
LJMP LEDCTL
DELAY:
MOV R1,# 100
DELAY1:
MOV R2, #200
DJNZ R2,$
DJNZ R1,DELAY1
RET