Hi,
hier mal mein Code. Ist ein 1920 im Dreileiter-Mode (kein parasite power) und funktioniert prima. Vielleicht hilft's ja .

Code:
'ds_1920_2_16X4.bas
'DS1920 Temperaturmessung

$regfile = "m16def.dat"
$hwstack = 32
$swstack = 8
$framesize = 24
$crystal = 8000000
$baud = 9600

Config 1wire = Portb.0
Config Lcd = 27 * 4
Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0
Deflcdchar 0 , 6 , 9 , 9 , 6 , 32 , 32 , 32 , 32            'Grad Zeichen Chr(0)
Config Portd.2 = Input                'Taster für Hintergrundbeleuchtung
Config Porta.6 = Output              'LED-Hintergrundbeleuchtung

'Const Parasitpower = 1

Const Ds1920 = &H10

Const Skiprom = &HCC
Const Read_rom = &H33
Const Convertt = &H44
Const Read_ram = &HBE
Const Write_ram = &H4E
Const Copy_ram = &H48
Const Recall_ee = &HB8
Const Read_power = &HB4

Dim Family_code As Byte
Dim Serial_number(6) As Byte
Dim Crc As Byte
Dim Scratch(9) As Byte

Dim I As Byte
Dim Temp As Word
Dim Temp1 As Integer
Dim Stemp As Single
Dim Mint As Single
Dim Maxt As Single

Mint = 200
Do
   1wreset
   If Err = 1 Then Print "iButton Error"
   1wwrite Read_rom
   Family_code = 1wread()
   For I = 1 To 6
      Serial_number(i) = 1wread()
   Next
   Crc = 1wread()
   If Family_code <> Ds1920 Then Exit Do
   1wwrite Convertt
   #if Parasitpower
      Wait 2
   #else
      Do
         Temp = 1wread()
      Loop Until Temp = &HFF
   #endif

   1wreset
   If Err = 1 Then Print "iButton Error"
   1wwrite Skiprom
   1wwrite Read_ram

   For I = 1 To 9
      Scratch(i) = 1wread()
   Next

   Temp = Scratch(2)
   Shift Temp , Left , 8
   Temp = Temp + Scratch(1)
   Temp1 = Temp
   Print "Der Temperaturwert ist " ; Temp ; " Counts."
   Temp1 = Temp1 / 2
   Print "Die gemessene Temperatur ist " ; Temp1 ; " Grad Celsius"
   Stemp = Scratch(8) - Scratch(7)
   Stemp = Stemp / Scratch(8)
   Stemp = Stemp + Temp1
   Stemp = Stemp - 0.25
   Print "Die exakt gemessene Temperatur ist ";
   Print Fusing(stemp , "#.##");
   Print " Grad Celsius"
   If Maxt < Stemp Then
      Maxt = Stemp
      End If
   If Mint > Stemp Then
      Mint = Stemp
      End If
   Cls
   Cursor Off
   If Pind.2 = 1 Then Toggle Porta.6

   Upperline
   Lcd "T-Ist: " ; Fusing(stemp , "#.#") ; Chr(0) ; "C"
   Thirdline
   Lcd "min: " ; Fusing(mint , "#.#")
   Fourthline
   Lcd "max: " ; Fusing(maxt , "#.#")
   'Wait 2
Loop

Print "kein Temperatursensor kontaktiert"

End
Die LCD-Zeilen kannst ja rausnehmen.