Malcolm,

I think you're on the right track.

something like this?

Code:
LCDCount_Max con 3000   'Set to what you want

LCDCount var word
LCDUpdate var bit

goto Main

UpdateLCD:
    'do your LCD Update stuff here
    
    return

Main:
    LCDCount = 1    'Used to display the first time        

CycleLoop:
    if LCDUpdate then
        gosub UpdateLCD
        LCDUpdate = 0
    endif
    
    ''do your normal polling stuff here
   
   '' Then do the LCD test stuff here
    LCDCount = LCDCount - 1
    if LCDCount = 0 then
        LCDCount =  LCDCount_Max
        LCDUpdate = 1
    endif 


    goto CycleLoop