Red de conocimiento informático - Computadora portátil - Cómo escribir "programas de retardo múltiple" en lenguaje ensamblador para el microcontrolador at89c51

Cómo escribir "programas de retardo múltiple" en lenguaje ensamblador para el microcontrolador at89c51

En el lenguaje ensamblador del microcontrolador, si un programa de retraso se puede llamar en diferentes circunstancias y retrasarse en diferentes momentos, se puede lograr de una manera similar a pasar parámetros en el lenguaje C. Por ejemplo:

p >

ORG 0000H

LJMP PRINCIPAL

ORG 0030H

PRINCIPAL:

MOV P0,#5AH ;LED encendido P0 La lámpara se enciende a intervalos

MOV R7,#50; R7 es el parámetro de transferencia de retardo

LCALL DELAY;Llame a la función de retardo

MOV P0,# 0A5H La otra mitad de la luz LED en P0 se enciende

MOV R7,#100;Alarga el tiempo de retardo

LCALL DELAY

MOV P0,#; 00H;LED y todo encendido

MOV R7,#150;Retardo alargado nuevamente

LCALL DELAY

MOV P0,#0FFH;Luz apagada

MOV R7, #200 ;El tiempo de retardo se alarga nuevamente

LCALL DELAY

SJMP MAIN ;Bucle

DELAY:

MOV R2, #100

DLY:

MOV R3,#250

DJNZ R3,$

DJNZ R2,DLY

DJNZ R7,DELAY ;R7 es el parámetro pasado asignado antes de la llamada.

RET

FIN