Red de conocimientos turísticos - Información de alquiler - 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!

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_DATA BIT P3.2 Nombra el pin p3.2 como H_DATA, y luego usa H_DATA para representar P3.2

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