hello,
i'm a newbie in programming pic. I want make a dual 7-segment LED display counter and update it every 1 sec for show i the display 00 , 01 , 02 ecc. The code that i use found it in internet and is make for a 16F627 , i try this
code with my 16F88 but the display update is very slow abuot every 2.5 sec
and not every 1 sec. Why happened this?. I use a 4MHz external crystal like
for the 16F627.

please help me
Thank


Cnt VAR Byte ' Cnt is a byte variable
Digit VAR Byte ' Digit is a byte variable
Pattern VAR Byte ' Pattern is a byte variable
Digit1 VAR PORTA.0 '' Digit 1 enable bit
Digit2 VAR PORTA.1 ' Digit 2 enable bit
First VAR Byte ' First is a byte variable
Second VAR Byte ' Second is a byte variable
i VAR Word ' i is a word variable



CMCON = 7 ' RA0-RA3 are digital I/O
TRISA = 0 ' Set PORTA as output
TRISB = 0 ' Set all PORTB pins as outputs

' Enable TMR0 timer interrupts

INTCON = %00100000 ' Enable TMR0 interrupts
OPTION_REG = %00000111 ' Initialise the prescale

TMR0 = 217 ' Load TMR0 register

ON INTERRUPT GOTO ISR
INTCON = %10100000 ' Enable Interrupts

LOOP:

Cnt = 0 ' Initialise Cnt to 0
NXT:
Digit = Cnt DIG 0 ' Get 10s digit
GOSUB CONVERT ' Get segments to turn on
First = Pattern ' Display 10s digit
Digit = Cnt DIG 1 ' Get 1s digit
GOSUB CONVERT ' Get segments to turn on
Second = Pattern ' Display 1s digit


FOR i = 1 to 1000
Pause 1 ' Wait 1 second
NEXT i

Cnt = Cnt + 1 ' Increment Cnt
IF Cnt > 99 THEN LOOP ' If Cnt > 99 then goto LOOP
GOTO NXT ' Continue

'
' This is the Interrupt Service Routine (ISR). The program jumps to this
' routine whenever a timer interrupt is generated.
'
DISABLE ' Disable further interrupts

ISR:
TMR0 = 217

PORTB = First

Digit2 = 0
Digit1 = 1
PAUSE 5

Digit1 = 0
PORTB = Second
Digit2 = 1

PAUSE 1

INTCON.2 = 0 ' Re-enable TMR0 interrupts
RESUME ' Return to main program
ENABLE 'Enable interrupts

CONVERT:

LOOKUP Digit, [$01,$4f,$12,$06,$4c,$24,$60,$0f,$00,$0c], Pattern

RETURN
END ' End of program