2013-01-21 38 views
0

我想使用8051過程。我想要做的是聲明延遲程序並將其用於指示燈閃爍。我正在使用Keil uVision3來編寫我的代碼。我搜索了很多,但沒有找到任何幫助。以下是我的程序的示例代碼。無法在8051彙編編程語言中聲明過程

ORG 00h 

MOV P0, #00h 
MOV P1, #00h 
MOV P2, #00h 
MOV P3, #00h 

CALL DELAY PROC  ;calling delay procedure to produce some delay. 


DELAY PROC   ;procedure implementation starts here for generating some delay 

    MOV R0, #255 

    NOW: 
    DJNE R0, 0 , HERE 

    MOV R1, #255 

    HERE: 
    DJNE R1, 0, NOW 

    RET 
    ENDP 


END 

此代碼給出了一些語法錯誤。什麼是正確的語法來聲明一個過程以及如何使用它。請指導我,我的代碼有什麼問題,請讓我正確。我會感謝你。

回答

0

對於普通的8051芯片,您甚至不必費心通過聲明程序 - 給他們一個標籤並給他們打電話。如:

ACALL delay 
    ; ... main progam continues here 
    ; make sure you don't fall through into your procedure! 

delay: 
    ; ... procedure code here ... 
    RET 

如果你想你的申報程序,根據你必須做這樣的事情的keil manual

CALL delay 
    ; ... main progam continues here 
    ; make sure you don't fall through into your procedure! 

delay PROC 
    ; ... procedure code here ... 
    RET 
delay ENDP 
+0

非常感謝你@Jester – Rebbeca