Red de conocimiento informático - Conocimiento sistemático - ¿Quién puede explicar o traducir el siguiente programa en lenguaje ensamblador de 51 microcontroladores (2)?

¿Quién puede explicar o traducir el siguiente programa en lenguaje ensamblador de 51 microcontroladores (2)?

Esta es una función de interrupción Al juzgar los niveles de diferentes pines, la parte de visualización ingresa en un ciclo de nivel alto o bajo:

INTE: PUSH PSW Después de ingresar a la interrupción, primero proteja la escena

PUSH ACC

JNB P1.7,KE3; si P1.7 es de nivel alto o P1.6 es de nivel bajo, salte a KE3

JNB P1.6, KE3

LCALL D10MS ;Retraso 10 milisegundos

LCALL DISP ;Llamar función de visualización

INC R3 ;R3 incrementa en 1, si ya es 10, luego regresa 0

CJNE R3,#0AH,GO1

MOV R3,#00H

GO1.MOV 32H,R3 ; Reemplace el conjunto P1.7 y P1 .6; a nivel alto o bajo, luego salte a KE3: MOV 32H, R3; almacene R3 y R4 en la memoria 32H y 31H, y luego llame a la función de visualización (supongo que los parámetros de la función de visualización están en el contenido de 31H y 32H)

MOV 31H, R4

LCALL DISP

KC1: JNB P1, continúe esperando; de lo contrario, salte y prepárese para salir de la interrupción. .

LJMP OUT

KE3:JB P1.5,OUT ;Si P1.5 es un salto alto hacia afuera listo para salir de la interrupción, de lo contrario similar a R3, haga un bucle 0~9 en R4 y coloque el resultado en 31H para que use la función DISP

LCALL D10MS

LCALL DISP<

INC R4

CJNE R4,#0AH,GO2

MOV R4,#00H

GO2:MOV 31H,R4

MOV 32H,R3

LCALL DISP

KC2: JNB P1.5, KC2; si P1.5 es de nivel bajo, continúe esperando; de lo contrario, salte y prepárese para salir de la interrupción.

OUT: LCALL D10MS; Prepárese para salir de la interrupción y reanudar la escena

LCALL DISP

POP ACC

POP PSW

p>

RETI ;Regreso de interrupción

END