⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delay.inc

📁 简单51程序
💻 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 + -