Andrew,

have you looked Darrel's instant interrupt : elapsed timer ?
I think you can modify the sample code to make it work as you suggest

I have tried this instant interrupt : elapsed timer for similar application and it works fine

Johan