 org 4

;---------------------------------------------------------------------------
; прерывания каждые 520 ms
;-----------------------------------------------
Interrupt:	clrwdt

		movwf	w_temp          	; сохранение данных
		swapf	status, w
		clrf	status
		movwf	status_temp
		movf	pclath, w
		movwf	pclath_temp
		clrf	pclath
;-----------------
		bcf	pir1, tmr1if	; сброс флага прерывания
;-----------------------------------------------
		btfss	ac_ok
		goto	int_2
;-----------------
int_1:		bsf	pin_sv_max
		goto	interrupt_end
;-----------------
int_2:		incf	int_counter

		btfss	int_counter, 0
		bsf	pin_sv_max
		btfsc	int_counter, 0
		bcf	pin_sv_max
	                
;------------ Выход из прерывания --------------

interrupt_end:	movf	pclath_temp, w		; восстановление данных
		movwf	pclath
		swapf	status_temp, w
		movwf	status
		swapf	w_temp, f
		swapf	w_temp, w

		retfie
;---------------------------------------------------------------------------



