Hallo AVRWALLI,
danke für den Tipp, man sollte das Datasheet halt genau lesen, jetzt klappts!
Hab nurnoch ein kleines Problem:

Ich bekomm ne Temperatur von 52°C raus, es ist zwar grad richtig heiß, aber 52 hats wohl doch nicht ganz, die Hälfte würde stimmen. Ist das irgandwie in nem anderen Datenformat codiert oder so?, ich versteh da das Datasheet auf S.3 net so ganz.
Datasheet:
http://pdfserv.maxim-ic.com/en/ds/DS1820-DS1820S.pdf

Achja, hier mein Code, ich werd, wenn er komplett fertig ist nen neuen Beitrag aufmachen, wo dann der Code von der kompletten Wetterstation mit RTC, zwei Temp Sensoren und nem Drucksensor als Barometer drin ist.
Hier also meine Code:

Code:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600

Config 1wire = Portb.0

Config Lcd = 40 * 4
Config Lcdpin = Pin , Rs = Portb.6 , Db4 = Portb.7 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portb.1 , E2 = Portb.2


Dim ___lcdno As Bit
Dim T1 As Byte
Dim T2 As Byte
Dim I As Byte
Dim Id1(8) As Byte
Dim Id2(8) As Byte
Dim Ar1(2) As Byte
Dim Ar2(2) As Byte


 ___lcdno = 0
  Initlcd
  Cursor Off
  Cls

 ___lcdno = 1
 Initlcd
 Cursor Off
 Cls




Id1(1) = 1wsearchfirst()
Id2(1) = 1wsearchnext()


Do
1wreset                                                     'reset
1wwrite &H55                                                'Match Rom command
1wwrite Id1(1) , 8                                          'Id von Sensor 1
1wwrite &H44                                                'Convert T

Waitms 300                                                  'warten bis convert T fertig ist
1wreset                                                     'reset
1wwrite &H55                                                'match rom command
1wwrite Id1(1) , 8                                          'id von sensor 1
1wwrite &HBE                                                'scratchpad lesen
Ar1(1) = 1wread(1)                                          'erstes byte auslesen, da steht Temp drin
Ar1(2) = 1wread(1)                                          'zweites Byte auslesen, wenn 00000000 dann pos vorzeichen, wenn 11111111 dann neg vorzeichen


Waitms 500
1wreset                                                     'reset
1wwrite &H55                                                'Match Rom command
1wwrite Id2(1) , 8                                          'Id von Sensor 2
1wwrite &H44                                                'Convert T

Waitms 300                                                  'warten bis convert T fertig ist
1wreset                                                     'reset
1wwrite &H55                                                'match rom command
1wwrite Id2(1) , 8                                          'id von sensor 2
1wwrite &HBE                                                'scratchpad lesen
Ar2(1) = 1wread(1)                                          'erstes byte auslesen, da steht Temp drin
Ar2(2) = 1wread(1)                                          'zweites Byte auslesen, wenn 00000000 dann pos vorzeichen, wenn 11111111 dann neg vorzeichen

T1 = Ar1(1)
T2 = Ar2(1)






 ___lcdno = 0


  Upperline

    If Ar1(2) = 0 Then                                      'wenn byte 2 aus dem sensor = 0 dann temp pos, sonst neg
       Lcd "Temperatur 1:" ; " " ; T1

     Else
      Lcd "Temperatur 1:" ; "-" ; T1

    End If

  Lowerline

        If Ar2(2) = 0 Then                                  'wenn byte 2 aus dem sensor = 0 dann temp pos, sonst neg
       Lcd "Temperatur 2:" ; " " ; T2

     Else
      Lcd "Temperatur 2:" ; "-" ; T2

    End If

 ___lcdno = 1

  Upperline
   Lcd "ID 1:" ; Id1(1) ; Id1(2) ; Id1(3) ; Id1(4) ; Id1(5) ; Id1(6) ; Id1(7) ; Id1(8)

  Lowerline
   Lcd "ID 2:" ; Id2(1) ; Id2(2) ; Id2(3) ; Id2(4) ; Id2(5) ; Id2(6) ; Id2(7) ; Id2(8)

Waitms 500

Loop
Gruß
Florian