Code:
$crystal = 16000000
$regfile = "m128def.dat"
Config 1wire = Portd.5 'DS1820
Match_rom Alias &H55
Read_scratchpad Alias &HBE
Start_conversion Alias &H44
Aussen Alias 0
Boiler Alias 1
Kessel Alias 2
Rücklauf Alias 3
Vorlauf Alias 4
Dim Read_temp As Integer
Dim Sensor_ids(40) As Byte
Dim Id As Byte
Dim Offset As Byte
Dim Ds_array(7) As Byte
Dim Bruchteil As Single
Dim Temperatur As Single
Dim I As Integer
Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Porta , Ce = 4 , Cd = 5 , Wr = 2 , Rd = 3 , Reset = 7 , Fs = 6 , Mode = 6
Cursor Off
Cls
For Id = 1 To 40 'Einlesen der 5 Sensoren IDs (5*8 Byte)
I = Id - 1
Readeeprom Sensor_ids(id) , I
Next Id
Do
Wait 1
For Id = Aussen To Vorlauf
Offset = Id * 8
Offset = Offset + 1 'Offset geht auf 1, 9, 17, 25 und 33
1wreset 'hier wird der Temperaturwert eingelesen
1wwrite Match_rom
1wwrite Sensor_ids(offset) , 8 '8 Byte ID wird übertragen
1wwrite Read_scratchpad
For I = 1 To 7 'nur bis 7, weil 8 und 9 uninteressant
Ds_array(i) = 1wread()
Next I
Read_temp = Makeint(ds_array(1) , Ds_array(2))
1wreset 'jetzt wird wieder die Konvertierung gestartet
1wwrite Match_rom
1wwrite Sensor_ids(offset) , 8
1wwrite Start_conversion
Shift Read_temp , Right
If 127 < Read_temp Then Read_temp = Read_temp - 32767
Bruchteil = 16 - Ds_array(7)
Bruchteil = Bruchteil / 16
Bruchteil = Bruchteil - 0.25
Temperatur = Read_temp + Bruchteil
Locate 11 , 1 : Lcd " Auss Boil Kess Rück Vorl "
Select Case Id
Case Aussen:
Locate 12 , 2 : Lcd Fusing(temperatur , "#.#")
Case Boiler: 'ausgabe im Display ist dann z.B.
Locate 12 , 8 : Lcd Fusing(temperatur , "#.#") ' Auss Boil Kess Rück Vorl
Case Kessel: ' 14.4 52.4 67.3 43.0 62.8
Locate 12 , 13 : Lcd Fusing(temperatur , "#.#")
Case Rücklauf:
Locate 12 , 18 : Lcd Fusing(temperatur , "#.#")
Case Vorlauf:
Locate 12 , 23 : Lcd Fusing(temperatur , "#.#")
End Select
Next Id
Loop
End
$eeprom
Data &H10 , &H50 , &H4F , &HE3 , &H00 , &H08 , &H00 , &HE4
Data &H10 , &HFD , &HE8 , &HE2 , &H00 , &H08 , &H00 , &H1F
Data &H10 , &H44 , &H42 , &HFF , &H00 , &H08 , &H00 , &HA5
Data &H10 , &H1D , &H14 , &HE3 , &H00 , &H08 , &H00 , &H3E
Data &H10 , &HB0 , &HEF , &HE2 , &H00 , &H08 , &H00 , &H71
Vielleicht kann jemand was damit anfangen.
Lesezeichen