Hallo Florian,

so lese ich den DS18S20 aus und rechne um:

Code:
Sub 18s20_auslesen
    1wreset Pinc , F                                        ' Reset
    1wwrite Skip_rom , 1 , Pinc , F                         ' Chip ansprechen
    1wwrite Read_ram , 1 , Pinc , F                         ' Befehl zum Auslesen des Rams
    Bd(1) = 1wread(9 , Pinc , F)                            ' 9 Bytes lesen
    1wreset Pinc , F                                        ' Reset
    Temp = Bd(2)
    Shift Temp , Left , 8
    Temp = Temp + Bd(1)
    If Temp > $f000 Then
      Temp = $ffff - Temp
      Temp1 = Temp + 1
      Grad = Temp1 * -0.0625
    Else
      Grad = Temp * 0.0625                                  ' Auflösung 12 Bit
    End If
End Sub
In Grad steht die umgerechnete Temperatur. Störe Dich nicht an de Parametern hinter den 1Wire-Befehlen, die geben nur an welcher Port und welcher Pin benutzt werden soll. Denke daran, es müssen 9 Byte ausgelesen werden.
Ich hoffe, es hilft Dir weiter.

mfg

AVRWALLI