Nein, keine Ausgabe auf dem Display...
Code:
$regfile = "m32def.dat"
$crystal = 16000000


' LCD konfigurieren Port auf Ausgabe setzten und Pin's entsprechend zuordnen
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Config Lcd = 16 * 4
Config Lcdbus = 4
Config Portd.0 = Output                                     'bloß für meine displaybeleuchtung
Portd.0 = 1


' Pin für 1wire Schnittstelle festlegen, Schnittstelle wird von Bascom durch Software realisiert
Config 1wire = Portd.7


Dim Dsid(24) As Byte
' Die Adresse meines DS1820 die ich vorher ermittelt habe
Dsid(1) = &H10 : Dsid(2) = &H99 : Dsid(3) = &H4E : Dsid(4) = &H71 : Dsid(5) = &H01 : Dsid(6) = &H08 : Dsid(7) = &H00 : Dsid(8) = &H6D
'^= 1
Dsid(9) = &H10 : Dsid(10) = &H3D : Dsid(11) = &H48 : Dsid(12) = &H71 : Dsid(13) = &H01 : Dsid(14) = &H08 : Dsid(15) = &H00 : Dsid(16) = &H71
'^= 2
Dsid(17) = &H10 : Dsid(18) = &H4D : Dsid(19) = &H47 : Dsid(20) = &H71 : Dsid(21) = &H01 : Dsid(22) = &H08 : Dsid(23) = &H00 : Dsid(24) = &H86
'^= 3
Dim Sc(9) As Byte
Dim Sc2(9) As Byte
Dim T As Integer
Dim T1 As Integer
Dim I As Byte
Dim Halb As Byte
Dim Halb2 As Byte
Dim Ds1820 As Byte
Dim Ds1820_2 As Byte
Cursor Off


Do
   
' Alle angeschlossenen DS1820 zum Messen veranlassen
   1wreset
   1wwrite &HCC
   1wwrite &H44
   Waitms 750
   ' Den gewünschten Sensor auswählen
   1wverify Dsid(1)
   ' Kommando READ SCRATCHPAD
   1wwrite &HBE
   Sc(1) = 1wread(1)
   If Sc(9) = Crc8(sc(1) , 8) Then
      T = Sc(1)
      If Sc(2) > 0 Then
         Lcd "-";
        T = 256 - T
      End If
      T = T / 2
      Locate 1 , 1
      If Sc(2) > 0 Then Lcd "-";
      Lcd T ;
      If Sc(1).0 = 1 Then
         Lcd ".5°C"
      Else
         Lcd ".0°C"
      End If
   End If
   ' Ausgabe alle 0,75 Sekunden
   Waitms 750


  1wreset
  1wwrite &HCC
  1wwrite &H44
  Waitms 750
  1wreset
  1wverify Dsid(9)
  1wwrite &HBE
  Ds1820 = 1wread(9)
  Locate 4 , 1
  Lcd Ds1820
  1wreset
  Halb = Ds1820 And 1
  Shift Ds1820 , Right

  If Ds1820 > 127 Then
  Ds1820_2 = 256 - Ds1820
  Else
  Ds1820_2 = Ds1820
  End If

  If Halb = 1 Then
  Ds1820_2 = Ds1820_2 - 1
  End If

  Locate 3 , 1
  Lcd Ds1820_2 ; ".";

  If Halb = 1 Then
  Lcd "5"
  Else
  Lcd "0"
  End If
  Lcd "C "
  Waitms 700

Loop


End
Mit dem 2. Teil des Codes habe ich wie gesagt das Problem unter 0°, aber wenigstens ne Anzeige...