想要调用子程序,只要输入 LCALL XXXX,XXXX代表你子程序的名字 如一个延时子程序 LCALL DELY1MS 这是调用一个延时1毫秒的延时子程序 当然,子程序的名字可以自己定 DELY1MS: 这个名字一定要与调用中出现的名字一样,否则的话,调用的就不是这个子程序了
DELY1MS:
MOV R7,#250
DL1: NOP
NOP
DJNZ R7,DL1
RETRET的作用是子程序返回。调用一个子程序,当单片机执行到RET语句的时候,单片机就会返回到调用的地方并继续向下执行。
下面给你一个例程:
闪烁灯
ORG 00H
AJMP START
ORG 30H
START:
MOV P0,#00H
LCALL DELY;调用延时子程序
MOV P0,#0FFH
LCALL DELY;调用延时子程序
AJMP START
DELY:
MOV R7,#250
DL1:MOV R6,#250
DJNZ R6,$
DJNZ R7,DL1
RET
END