In the ISR you have this:To me, this looks a bit strange - you're only reloading the TMR0 registers once every 1000 interrupts meaning that only the "first" period will be 1ms, then there will be 999 periods where the timer will freerun all the way from 0 to rollover.Code:if seconds<1000 then seconds=seconds+1 else seconds=0 Timer0=0 'Stop timer0 TMR0H=$C1 'Load Timer 0 with start value $C187 TMR0L=$87 'to count up 16000 steps until rollover Timer0=1 'Start timer0
Bookmarks