delay.asm

来自「ATMEGA16芯片+HS0038B红外接收头组成的遥控器测试程序」· 汇编 代码 · 共 64 行

ASM
64
字号
;---------------------------------------------------------------------
;功能:	等待延时程
;入口:	无
;出口:	无
;---------------------------------------------------------------------
Delay_1000ms:
		LDI	temp1,T_1000ms
		RJMP	Delay_Com_Set
Delay_500ms:
		LDI	temp1,T_500ms
		RJMP	Delay_Com_Set
Delay_50ms:
		LDI	temp1,T_50ms
Delay_Com_Set:
		STS	DelayMs,temp1
Delay_Wait_TimeOut:

		LDS	temp1,DelayMs
		CPI	temp1,0
			BRNE	Delay_Wait_TimeOut
		RET

Delay_NOP_500ms:
		LDI	temp3,50
Delay_NOP_500ms_1:
		RCALL	Delay_NOP_10ms
		DEC	temp3
		BRNE	Delay_NOP_500ms_1
		RET
;===================================
Delay_NOP_50ms:
		LDI	temp3,5
Delay_NOP_50ms_1:
		RCALL	Delay_NOP_10ms
		DEC	temp3
		BRNE	Delay_NOP_50ms_1
		RET

Delay_NOP_10ms:
		LDI	temp2,107	;3*250*107 *1/8MHz  =10ms
		WDR			;看门狗
Delay_NOP_10ms_1:
		LDI	temp1,249			;1
Delay_NOP_10ms_2:
		DEC	temp1				;1
			BRNE	Delay_NOP_10ms_2	;2
		DEC	temp2				;1
			BRNE	Delay_NOP_10ms_1	;1
		RET



Delay_NOP_1ms:
		LDI	temp2,10	;3*250*107 *1/8MHz  =10ms
		WDR			;看门狗
Delay_NOP_1ms_1:
		LDI	temp1,249			;1
Delay_NOP_1ms_2:
		DEC	temp1				;1
			BRNE	Delay_NOP_1ms_2	;2
		DEC	temp2				;1
			BRNE	Delay_NOP_1ms_1	;1
		RET

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?