Explicación detallada del código de marquesina del microcontrolador
ORG 0000H ;Entrada del programa principal al encender
AJMP START ;Vaya al programa principal tan pronto como entre el sistema
ORG 0030H ;Programa principal dirección
INICIO: MOV A, #0FFH ;Se inicia el programa principal, A se inicializa a todos 1
CLR C ;c se borra
MOV R2, #08H ;R2 gira a la izquierda Contador de bucle
BUCLE: RLC A < MOV P2, A; envíalo a P2, para que P2 encienda el LED del bit 0 al bit 7 en secuencia CALL DELAY El microcontrolador funciona muy rápido. para ver el cambio de luz, se debe retrasar, disminuir la velocidad DJNZ R2, LOOP; Disminuya R2 en 1 cada vez para determinar si es =0. Después de 8 veces =0, el el programa bajará, de lo contrario volverá al LOOP MOV R2,#07H ;Contador de rotación derecha R2 LOOP1: RRC A >>C+A+C>> Derecha rotación con acarreo, el contenido en A cambia de 7 a 8 en este ciclo Los bits 0 se cambian a 0 en secuencia MOV P2, A; Enviar a P2, de modo que P2 encienda el LED de 7 bits a 0 bits en secuencia CALL DELAY ;Igual que el ciclo anterior, Delay DJNZ R2, LOOP1 Determina si R2 es igual a 0 después de cada disminución en 1. el programa solo bajará después de =0 después de 7 veces; de lo contrario, regresará a LOOP1 JMP START Regresará a la posición inicial del programa y repetirá el siguiente ciclo DELAY: MOV R3, #20; Subrutina de retardo, esto no debería necesitar explicación D1: MOV R4, #200 D2: MOV R5, #248 DJNZ R5, $ DJNZ R4, D2 RET FIN