Hello, here is some spaghetti, you can remove the extra junk but it counts.
Code:
'*******************************************************************************
'
'jellis00
' File...... Toilet_Meter.BAS                                              *
' Compiler.. PICBASIC PRO Compiler from microEngineering Labs              *
' Purpose... PIC16F690 microcontroller for Toilet Meter Project            *
' Author.... John R. Ellis,                         *
' Started... 2/20/2009                                                     *
'                                           *
' Updated... Version 1.0.6 on 5/2/2009                                    *
'*******************************************************************************
'
'
'
' -----[ Device Declaration ]--------------------------------------------------*
' __config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_ON & _CP_OFF
@ __config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF &_CP_OFF
INCLUDE "DT_INTS-14.bas" ' Base Interrupt System
INCLUDE "ReEnterPBP.bas" ' Include if using PBP interrupts
' -----[ Variables Initialization ]--------------------------------------------*
'
 k             CON 15  ' Calibration factor for flow meter = # pulses per gal
 i             VAR Byte   ' Index used in Gallon counter Repeat...Until loop
 
' -----[ Initialization of Registers ]-----------------------------------------*
'

'Register Settings
TRISA = %00001010   ' Set PORTA pins RA1 and RA3 to inputs, others as outputs
TRISB = %00000000   ' Set PORTB pins as outputs
TRISC = %01000000   ' Set PORTC pin RC6 to input, all others as outputs
PORTC = %0000000    ' Pre-set PORTC LED pins low, turning LEDs off
'A/D & Comparators disabled
    ADCON1 = %01110000  ' Set PORTA to digital I/O & FRC (clock derived from a 
                      ' dedicated internal oscillator)
    ANSEL=0             ' Set PortA to digital I/O
    ANSELH=0            ' Analog module disabled
    CM1CON0=0
    CM2CON0=0
TRISA.1 = 1         ' Set RA1 as input port for simulated meter pulse inputs
TRISA.3 = 1         ' Set RA3 as Master Reset input port
PORTA.1 = 1         ' Pre-set RA1 at High value
GIE VAR INTCON.1
OPTION_REG = %01110000    ' CLOCK ON RISING EDGE  'enable timer 0 count mode on RA.2
    
ASM
INT_LIST macro ; IntSource, Label, Type, ResetFlag?
    INT_Handler INT_INT, _Interrupt_Handler, PBP, yes
  endm
  INT_CREATE ; Creates the interrupt processor
  INT_ENABLE  TMR0_INT     ; enable Timer 0 interrupts
  INT_ENABLE   INT_INT     ; enable external (INT) interrupts
ENDASM
' Setup  Interrupts
INTCON = %10011000  ' Enable RA2/Int external interrupt and PORTA interrupts on
                    ' change
'IOCA = %00000010    ' Enable RA1 for interrupt on change for pulses received
                    ' from momentary switch, activation which simulates external HS1 sensor pulses
'on interrupt goto Int_Handler
i=0                 ' Initialize counter index to zero
 GIE = 0         ' Clear interrupt flags
' -----[ Main Code ]-----------------------------------------------------------*

flush:if portA.1 = 1 then
       
      goto main
      else
      endif  
      goto flush
MAIN:
    IF i < k Then
    goto main        'k is 15 pulse threshold
Else
        if i >= k then
        PULSOUT PORTC.3,1000  ' Generate required 10 msec pulse to RC3
        WRITE 7,i  'Store updated count result
        I=0 ' CLEAR COUNTER FOR NEXT FLUSH
    ENDIF
    endif
    GOTO flush   'Main program loops while waiting for RA1 on change interrupt to count pulses
Disable 
Interrupt_Handler:   ' only get here if interrupt occured
        
        PULSOUT PORTC.0,500         ' Blink the LED once
        i = i + 1    'Increment pulse count value
GIE = 0 
@ INT_RETURN ;    Resume                     ' Return to main program


Enable

END