quick example of it
Code:
    '
    '    Pic Configuration
    '    =================
    DEFINE LOADER_USED 1
    DEFINE OSC         20
       
    '
    '    Hardware configuration
    '    ======================
    TRISA  = 255               ' PORTA : all input
    CMCON  = 7                 ' disable analog comparator
    ADCON1 = 7                 ' disable ADCs
    OPTION_REG = %11100001     ' TMR0 clock source = T0CKI (RA.4)
                               ' Source edge : low to high
                               ' Prescaller assign to TMR0
                               ' rate 1:4

    '
    '    Serial Communication definition
    '    ===============================
    DEFINE HSER_RCSTA 90h
    DEFINE HSER_TXSTA 24h
    DEFINE HSER_SPBRG 129      ' 9600 Bauds

    '   
    '    Variables definition 
    '    ===================
    Frequency var word
    TMR0IF    var INTCON.2

    '
    '    ------------------------[Program Start Here]--------------------------    
    '    
Start:
    TMR0=0                                                 ' clear TMR0
    IF PORTA.4=1 THEN START                                ' wait 'till T0CKI goes to low
    PAUSE 100                                              ' sampling time
    Frequency=TMR0<<2                                      ' multiply result to compensate the 1:4 rate
    if tmr0if then                                         ' Overflow? frequency over 256*4=1.024 Khz
       hserout ["Overflow Happened",13,10]                 '
       tmr0if=0                                            ' clear overflow flag
       else
           hserout ["Frequency:",dec Frequency dig 2,".",_ ' display results
                    dec Frequency dig 1,_
                    dec Frequency dig 0," KHZ",13,10]
       endif

    goto start