📄 delay.inc
字号:
/**************************************************************************
函数名:Delay1ms
函数功能:延时1ms
参数:R6,R7
返回值:无
总机器周期=2000*R6+6
其中.RET、CALL各占2个机器周期.
**********************************************************************/
Delay1ms:
MOV R6,A
Delay1ms_Loop0:
MOV A,#0XF9 ;1个机器周期
MOV R7,A ;1个机器周期
NOP ;1个机器周期
NOP ;1个机器周期
NOP ;1个机器周期
NOP ;1个机器周期
Delay1ms_Loop1:
NOP ;1个机器周期
NOP ;1个机器周期
NOP ;1个机器周期
NOP ;1个机器周期
NOP ;1个机器周期
NOP ;1个机器周期
DJNZ R7,Delay1ms_Loop1 ;2个机器周期
DJNZ R6,Delay1ms_Loop0 ;2个机器周期
RET ;2个机器周期
/*************************************************************
函数名:Delay100ms
函数功能:延时100*R5ms
参数:R5,R6,R7
返回值:无
总机器周期=200 004*R5+6
其中.RET、CALL各占2个机器周期.调用延时函数前MOV A,#k占一个周期
本函数每次多出6个机器周期,即误差为3us
***********************************************************************/
Delay100ms:
MOV R5,A
Delay100ms_Loop0:
MOV A,#0XC8 ;1个机器周期
MOV R6,A ;1个机器周期
Delay100ms_Loop1:
MOV A,#0XF9 ;1个机器周期
MOV R7,A ;1个机器周期
Delay100ms_Loop2:
NOP ;1个机器周期
NOP ;1个机器周期
DJNZ R7,Delay100ms_Loop2;2个机器周期
DJNZ R6,Delay100ms_Loop1;2个机器周期
DJNZ R5,Delay100ms_Loop0;2个机器周期
RET ;2个机器周期
;------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -