Hi for_ro

Danke, das war der entscheidende Hinweis.
Manchmal denkt man einfach zu kompliziert.

Wie habe ich das jetzt realisiert:

In meiner Timer Subroutine, die schon da ist (alle 25ms), habe ich eine Variable (Dim Count as byte) erhöht. Jetzt frage ich diese ab und verzweige. Die 750ms warten im Sub Convert_temp kann ich jetzt rausnehmen.

Code:
If Count = 100 Then Gosub Convert_temp
If Count = 200 Then Gosub Read_temp1


Code:
'-------------------------------------------------------------------------------
'Sub Convert_Temp
Sub Convert_temp
 1wreset
 1wwrite &HCC                                               'Skip Rom
 1wwrite &H44                                               'Convert Temp
' 1wreset
End Sub

'-------------------------------------------------------------------------------
'Sub Read_temp1
Sub Read_temp1
1wreset
1wwrite &H55                                                'Match Rom
1wwrite Id1(1) , 8                                          'DS1820 ID senden
1wwrite &HBE                                                'Read Scratchpad
Ar1(1) = 1wread(9)                                          'Temp Wert auslesen
1wreset
      Tmp = Ar1(1) And 1
      If Tmp = 1 Then Decr Ar1(1)
      T = Makeint(ar1(1) , Ar1(2))
      T = T * 50
      T = T - 25
      T1 = Ar1(8) - Ar1(7)
      T1 = T1 * 100
      T1 = T1 / Ar1(8)
      T = T + T1
      T = T / 10
      T6 = T / 10
      T4 = Fusing(t6 , "#.#")
End Sub
Grüße Eisbaeeer