用汇编为单片机 延时1毫秒程序,使用子程序实现

2019-04-15 12:21发布

想要调用子程序,只要输入 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