This is probably a beginner question but I've look everywhere and can't find any answer. I'm using PicBasic Pro with Microcode Studio and COLT Bootloader. This is PIC 18F4620, internal clock, 4X PLL.

I have this very simple program and the count (TMR var) is slowing down with a longer pause. Can someone explain why? Is this because I'm using internal clock?

Thanks!

'PIC 18F4620
DEFINE RESET_ORG 800h
DEFINE OSC 32

DEFINE LCD_LINES 4
define LCD_DREG PORTD
DEFINE LCD_RSREG PORTC
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTC
DEFINE LCD_EBIT 1

OSCCON = %11110000 '8 mhz, internal osc
OSCTUNE = %11000000 '4x PLL enabled
INTCON = %10100000 'Interrupt enabled

T0CON.0 = 1 '1:256 prescaler
T0CON.1 = 1
T0CON.2 = 1
T0CON.3 = 0 'prescaler enabled
T0CON.4 = 1
T0CON.5 = 0 'int clk
T0CON.6 = 0 '16 bits timer
T0CON.7 = 1 '0= disabled

TMR var word 'Speed waves Min speed

on interrupt goto SetTime

TMR = 0

start:
LCDout $FE,1, "timer: " , #tmr
pause 500
goto start

'pause = 50 ---> count up to 1450 approx (30 sec)
'pause = 500 ---> count up to 150 approx (30 sec)

disable
SetTime:
TMR = TMR + 1
resume
enable

end