Ich fasse das mal zusammen:

-Do...Loop mit Hauptprogramm
-LCD-ISR z.b. über Timer&Bit setzen

(Programm nicht getestet, sollte aber funktionieren)
Code:
$regfile = "m8def.dat" 
$crystal = 8000000 

Config Portb.0 = Output 

Dim Anzeige as Bit

Config Timer1 = Timer , Prescale = 256                    
Const Timervorgabe = 36736  'ca 2x / sec
Enable Timer1
Enable Interrupts
On Timer1 Timer_ISR  

Config Lcd = 16 * 1 
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portd.5 , Rs = Portd.4 
Config Lcdbus = 4 
Cursor Off 
Cls 

Do 

    Toggle Portb.0 
  
    if Anzeige = 1 then
      Anzeige = 0
      goto LCD_ISR
    End if

Loop 


LCD_ISR:
Locate 1 , 1 : Lcd "1,22929" 
Return


Timer_ISR:
Timer1 = 36736
Anzeige = 1
Return
Das LCD aktualisiert 2 mal pro Sekunde - das sollte eigendlich ausreichen...
Wenn du das Signal an deinem Ausgang (Portb.0) mit einem Oszi ansiehst wirst du sehen, dass immer wenn das LCD aktualisiert wird der Ausgang etwas "hängt" das lässt sich nur ändern, wenn du den Ausgang selber über einen Timer laufen lässt(ich weiß ja nicht wie zeitkritisch dein Programm wird).

Tobias