Análisis del código fuente del programa de retardo en lenguaje C del microcontrolador. Espero puedan ayudarme a agregar comentarios y decirme el significado de cada afirmación, ¡gracias!
H_CLK BIT P3.4 Igual que arriba, nombra P3.4 como H_CLK
?PR?DELAY30US CÓDIGO DE SEGMENTO FUNCIÓN DELAY30US declaración
PUBLIC DELAY30US
RSEG ?PR?DELAY30US
;
;35.8US
DELAY30US: cuerpo de la función
PUSH 05H;2 Dado que la función usa R5, presione R5 en el montón antes de ingresar a la función.
Antes de que la función presione R5 en el montón, devuelva el MOV r5 propuesto por el primero, #50; 25 es el valor de R5
DE30S1:
DJNZ r5, DE30S1 ;2*14 =28 Disminuir R5 en uno, si no es igual a cero saltar a DE30S1; si es igual a cero salir
POP 05h 2 Restaurar R5 antes de ingresar a la función
POP; 05h; 2 Ingrese Restaurar R5 antes de la función
retorno de la función RET
;************************ ******* ****************************************
?PR?DELAY10US Función DELAY10US de instrucción SEGMENT CODE
PUBLIC DELAY10US
RSEG ?PR?DELAY10US
; DELAY10US: texto de función DELAY10US
p>PUSH 05H; 2 Debido a que la función usa R5, presione R5 en la pila antes de ingresar R5 y regrese a la función propuesta anteriormente
MOV r5, # 20; 10 es el valor de R5
DE10S1:
DJNZ r5, DE10S1; 5*2=10 Resta uno de R5, si no es igual a cero, salta a DE10S1. ; si es igual a cero, salga
POP 05H; 2 Restaurar R5 antes de ingresar a la función
retorno de función RET
?PR?CLSSIGNAL SEGMENT CODE declarar función CLSSIGNAL
CLSSIGNAL PÚBLICA
RSEG ?PR?CLSSIGNAL
CLSSIGNAL:
;CUANDO EL SISTEMA ENVÍA INFORMACIÓN AL PINPAD, ENVÍA EL BIT DE PARADA AL FINAL , LUEGO SIGUIENTE
;ENVIAR OPERACIÓN
CCLSL1:
PUSH 05H Debido a que la función usa R5, presione R5 antes de ingresar la función a la pila y regresar. a la propuesta anterior
CCLSL1_U:
p>MOV R5, #6EH Asignar valor a R5
CLLSL2: JNB H_DATA, CLSL1_U Determinar que p3.2 es no es un salto cero, continúe asignando el valor inicial
JNB H_CLK, CLSL1_U Determine que p3.4 no es cero, continúe asignando el valor inicial
DJNZ R5, CLSL2 Si ambas entradas son cero, resta uno de r5, si no es cero, salta a clsl2
POP 05H
RET
END