我在彙編語言中使用8051微控制器的延遲例程。我可以在彙編語言程序中使用它們,但我想從c語言中使用這些例程,因爲它們是生成的對我來說完美的延遲。從keil ide的c源代碼中調用匯編例程
延遲的代碼,delay.asm文件我剛剛發佈... beleow
;ALL DELAYS ROUTINES HERE
DELAY_SEG SEGMENT CODE
RSEG DELAY_SEG
;DELAY OF 1MS SUBROUTINE
DELAY1MS:
MOV R7,#250
DJNZ R7,$
MOV R7,#247
DJNZ R7,$
RET
;DELAY OF 100MS SUBROUTINE
DELAY100MS:
MOV R6,#99;1MUS
L1:
ACALL DELAY1MS ;99MS
DJNZ R6,L1;198MUS
MOV R6,#250;1MUS
DJNZ R6,$;500US
MOV R6,#147;1US
DJNZ R6,$;294US
NOP
RET;1US
;DELAY 0F 1SEC SUB ROUTINE
DELAY1S:
MOV R5,#9
L2:
ACALL DELAY100MS
DJNZ R5,L2
MOV R5,#99
L3:
ACALL DELAY1MS
DJNZ R5,L3
MOV R5,#250
DJNZ R5,$
MOV R5,#138
DJNZ R5,$
RET
我包括在彙編語言代碼並使用simply.But我想打電話從C源代碼這些例程。
謝謝you.it對我來說工作正常.. – rajesh6115
不客氣) – Serge