; DELAY EQUATES
CNT EQU 0X25 ;ADDRESS FOR COUNTER CNT2 EQU 0X26 ;ADDRESS FOR COUNTER2 CNT3 EQU 0X27 ;ADDRESS FOR COUNTER3 CNT4 EQU 0X28 ;ADDRESS FOR COUNTER4
;************************************************************* ; 1 MICROSECOND DELAY ;*************************************************************
MDELAY: MOVWF CNT ;LOAD DELAY TIME COUNT: NOP ;TWO NO OPERATIONS NOP ;TO OBTAIN THE DELAY DECFSZ CNT,1 ;DECREMENT THE COUNTER GOTO COUNT ;GOTO COUNT IF NOT FINISHED RETURN
;************************************************************* ; SECOND DELAY, A DELAY FOR 1 SECOND! ;*************************************************************
SEC_DELAY: MOVWF CNT ;LOAD DELAY TIME IN APPROX SECONDS
LOOP5: MOVLW .42 ;LOAD W WITH .42 MOVWF CNT4 ;AND INTO COUNTER
LOOP4: MOVLW .198 ;LOAD W WITH .198 MOVWF CNT3 ;AND INTO COUNTER
LOOP3: MOVLW .199 ;LOAD W WITH .199 MOVWF CNT2 ;AND INTO COUNTER
LOOP2: DECFSZ CNT2,1 ;DECREMENT THE COUNTER GOTO LOOP2 ;GOTO LOOP AGAIN
DECFSZ CNT3,1 ;DECREMENT THE OTHER COUNTER B LOOP3 ;IF NOT FINISHED, GOTO LOOP AGAIN
DECFSZ CNT4,1 ;DECREMENT THE OTHER COUNTER B LOOP4 ;IF NOT FINISHED, GOTO LOOP AGAIN
DECFSZ CNT,1 ;DECREMENT THE OTHER COUNTER B LOOP5 ;IF NOT FINISHED, GOTO LOOP AGAIN
RETURN
END