User manual
00066_MCP402XEV.ASM Source Code
© 2005 Microchip Technology Inc. DS51546B-page 41
;************
; VARIABLE 5 Tcy DELAY UP TO 256*5Tcy+5Tcy
; DLYCNT1 = W
; DELAY = T(1 + 5 DLYCNT1 - 1) + CALL + RETLW
;
; ex. To create a 250us delay, (250/5)-1 = 49
; movlw .49 ;load .49 into WREG
; call VAR5TcyDELAY ;call VAR5TcyDELAY
;************
; The value in W at the time of the CALL = x. Delay = 5*Tcy + 5Tcy
VAR5TcyDELAY
movwf DLYCNT1 ; LOADS CONTROLLING DLY # INTO PRIMARY COUNTER
DLOOP3 clrwdt ;or NOP
nop
decfsz DLYCNT1,f ; DECREMENT AND TEST ZERO
goto DLOOP3 ; CONTINUE LOOP
retlw .250 ; preload W for the next CALL VAR5TcyDELAY
;***********************************************************************************************
end
TABLE E-1: 00066_MCP402XEV.ASM SOURCE CODE (CONTINUED)