Red de conocimientos turísticos - Información de alquiler - Explicación detallada del código de marquesina del microcontrolador

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