ORG 4
INT_SERVE:
SAVE_REG
;
CLEAR_INT_FLAG
;-----------------------------------------------------------
BTFSS MOTOR_STAT,0
GOTO DO_PULSE_OFF1
;
MOVF SPEED1,W
ADDWF PRE_COUNT1,F
;
BTFSC STATUS,C
DECFSZ POST_COUNT1,F
GOTO DO_PULSE_OFF1
DO_PULSE_ON1:
MOVLW 4 ; CAN BE 2-16
MOVWF POST_COUNT1
;
GEN_PULSE_HIGH 1
;
GOTO SKIP1
DO_PULSE_OFF1:
GEN_PULSE_LOW 1
SKIP1:
;-----------------------------------------------------------
BTFSS MOTOR_STAT,1
GOTO DO_PULSE_OFF2
;
MOVF SPEED2,W
ADDWF PRE_COUNT2,F
;
BTFSC STATUS,C
DECFSZ POST_COUNT2,F
GOTO DO_PULSE_OFF2
DO_PULSE_ON2:
MOVLW 4 ; CAN BE 2-16
MOVWF POST_COUNT2
;
GEN_PULSE_HIGH 2
;
GOTO SKIP2
DO_PULSE_OFF2:
GEN_PULSE_LOW 2
SKIP2:
;-----------------------------------------------------------
INT_SERVE_END:
;
CLEAR_INT_FLAG
;
LOAD_REG
;
RETFIE