Its possible that the LCDOUT routine really is taking that long.

But ive found that its generally best to stop the timer to take a reading, and usually best to store that reading in a variable before displaying it, or doing anything else with it.

See what happens if you do it like this:


temp VAR word

TMR1H=0 ' Reset timer value
TMR1L=0
T1CON.0=1 ' Start the timer
pauseus 1000
T1CON.0=0 ' Stop the timer
temp.HighByte=TMR1H
temp.LowByte=TMR1L
T1CON.0=1 ' Restart the timer
LCDOUT $FE,$80,"TMR1 = ", dec temp
T1CON.0=0 ' Stop the timer
temp.HighByte=TMR1H
temp.LowByte=TMR1L
LCDOUT $FE,$C0,"TMR1 = ", dec temp

The difference between the 2 results will tell you how long the first LCDOUT routine is taking.