1. 程式人生 > >用匯編為微控制器 延時1毫秒程式,使用子程式實現

用匯編為微控制器 延時1毫秒程式,使用子程式實現

想要呼叫子程式,只要輸入 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