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...
Lesezeichen