Letztendlich sollte das doch auch so gehen mit der Wartezeit für das LCD ohne die main loop aufzuhalten ?

Code:
$eeprom
$eepromhex
$regfile = "m32def.dat"                                     ' Prozessortyp ATmega32
$crystal = 16000000                                         ' Taktrate
$hwstack = 32
$swstack = 10
$framesize = 40
$baud = 4800


Config Portb.2 = Output
Led1 Alias Portb.2
Config Portb.3 = Output
Led2 Alias Portb.3


Config Lcd = 20 * 2
 Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.5 , Rs = Porta.4
  Cls
  Cursor Off


Config Timer0 = Timer , Prescale = 64
On Timer0 Timer_irq
Const Timervorgabe = 6
Enable Timer0
Enable Interrupts


Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Dim W As Word
Dim Taktzaehler02 As Integer
Dim Taktzaehler05 As Integer
Dim Taktzaehler1000 As Integer


Do


If Timer0_flag = 1 Then
Taktzaehler02 = Taktzaehler02 + 1
Taktzaehler05 = Taktzaehler05 + 1
Taktzaehler1000 = Taktzaehler1000 + 1
Timer0_flag = 0
End If

If Taktzaehler02 = 200 Then
Toggle Led1
Taktzaehler02 = 0
End If

If Taktzaehler05 = 500 Then
Toggle Led2
Taktzaehler05 = 0
End If

If Taktzaehler1000 = 1000 Then
W = Getadc(7)
Locate 2 , 15
Lcd W ; " "
Taktzaehler1000 = 0
End If

Loop


Timer_irq:
  Timer0 = Timervorgabe

  Timer0_flag = 1

Return
End