Bob - thanks for the answer. Any thoughts on the value of 'fudge'? Is it empirical or should I be able to explicitly calculate it? > fudge = ...number to account for instructions timer is turned off... > magic_value = D'65536'-D'5000'+fudge > > bcf T1CON,TMR1ON ; turn off timer > movlw low(magic_value) > addwf TMR1L,F > btfsc STATUS,C > incf TMR1H,F > movlw high(magic_value) > addwf TMR1H,F > bsf T1CON,TMR1ON ; turn it back on > -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.