> I think so. This is a lot more complicated to explain than to do, so here > is a example. This example will extend the capture timer to 24 bits, so > the > sofware accumulator will be 16 bits wide. All numbers are in HEX: Depending on the application, it might be simpler to just monitor the change in the MSB of TMR1H: ; 24-bit software timer that shadows TMR1 ; ; Copy TMR1H:L to the low 16 bits of the software timer. ; If TMR1 rolled over since the last update, then increment ; high byte of the software timer ; ; Software timer ; SWTmrHigh ; bits 23-16 ; SWTmrMid ; bits 15-8 ; SWTmrLow ; bits 7-0 MOVF TMR1L,W ;Read the HW timer (latches TMR1H too) MOVWF SWTmrLow INCF SWTmrHigh,F ;Assume that there was a roll over BTFSS TMR1H,7 ;If the MSB of the HW timer is set BTFSS SWTmrMid,7 ;or bit 15 of the SW timer is clear DECF SWTmrHigh,F ;then there was no roll over MOVF TMR1H,W ;Update the middle byte. MOVWF SWTmrMid This assumes that the software timer is updated at a rate faster then one half of the period of time for a hardware timer roll over. Note, this has not been tested! Scott -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist