?? delay.src
字號:
; .\delay.SRC generated from: delay.c
; COMPILER INVOKED BY:
; D:\Program Files\keil\C51\BIN\C51.EXE delay.c ROM(SMALL) BROWSE DEBUG OBJECTEXTEND SRC(.\delay.SRC)
NAME DELAY
?PR?long_delay?DELAY SEGMENT CODE INBLOCK
?PR?short_delay?DELAY SEGMENT CODE INBLOCK
?PR?_delay1ms?DELAY SEGMENT CODE INBLOCK
PUBLIC _delay1ms
PUBLIC short_delay
PUBLIC long_delay
; #include<intrins.h>
; void long_delay(void)
RSEG ?PR?long_delay?DELAY
long_delay:
; SOURCE LINE # 2
; {
; SOURCE LINE # 3
; #pragma asm
; LONGDELAY: MOV R5,#125//延時約250us
LONGDELAY: MOV R5,#125
; DJNZ R5,$
DJNZ R5,$
; #pragma endasm
; }
; SOURCE LINE # 8
RET
; END OF long_delay
; void short_delay(void)
RSEG ?PR?short_delay?DELAY
short_delay:
; SOURCE LINE # 9
; {
; SOURCE LINE # 10
; #pragma asm
; SHORTDELAY: MOV R6,#50 //延時約100us
SHORTDELAY: MOV R6,#50
; DJNZ R6,$
DJNZ R6,$
; #pragma endasm
; }
; SOURCE LINE # 15
RET
; END OF short_delay
; void delay1ms(unsigned int ms)
RSEG ?PR?_delay1ms?DELAY
_delay1ms:
USING 0
; SOURCE LINE # 16
;---- Variable 'ms?240' assigned to Register 'R6/R7' ----
; {
; SOURCE LINE # 17
; unsigned char i,j;
; for(i=0;i<ms;i++)
; SOURCE LINE # 19
;---- Variable 'i?241' assigned to Register 'R5' ----
CLR A
MOV R5,A
?C0003:
MOV A,R5
CLR C
SUBB A,R7
CLR A
SUBB A,R6
JNC ?C0009
; for(j=0;j<200;j++) //執(zhí)行時間約1ms
; SOURCE LINE # 20
;---- Variable 'j?242' assigned to Register 'R4' ----
CLR A
MOV R4,A
?C0006:
; {
; SOURCE LINE # 21
; _nop_();
; SOURCE LINE # 22
NOP
; _nop_();
; SOURCE LINE # 23
NOP
; }
; SOURCE LINE # 24
INC R4
CJNE R4,#0C8H,?C0006
?C0005:
INC R5
SJMP ?C0003
; } ; SOURCE LINE # 25
?C0009:
RET
; END OF _delay1ms
END
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -