include "P16F628.inc"
cblock 0x20
Count
w_temp
s_temp
p_temp
endc
org 0x0000
goto Initialize
org 0x0004
Interrupt
movwf w_temp
swapf STATUS, w
clrf STATUS
movwf s_temp
movf PCLATH, w
movwf p_temp
clrf PCLATH
btfss PIR1,TMR2IF
goto Int_Re
bcf PIR1,TMR2IF
decfsz Count,F
goto Int_Re
movlw d'250'
movwf Count; set breakpoint here
;.
Int_Re
movf p_temp, w
movwf PCLATH
swapf s_temp, w
movwf STATUS
swapf w_temp, f
swapf w_temp, w
retfie
Initialize
;.
bcf STATUS, RP0
movlw b'00011101' ;Prescale*postscale=16
movwf T2CON
bsf STATUS, RP0
movlw d'249'
movwf PR2
bsf PIE1, TMR2IE
bcf STATUS, RP0
bsf INTCON, PEIE
bsf INTCON, GIE
;.
;.
;.
Main goto Main
;.
;.
end