Hallo,

jetzt bin ich endlich wieder da...

Hier also mein Code für 5 Sensoren:

Code:
$regfile = "m32def.dat"
$crystal = 8000000

Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.4 , Db7 = Portd.3 , E = Portb.7 , Rs = Portb.6
Config Lcd = 16 * 2
Config Lcdbus = 4
Cursor Off
Cls

Config 1wire = Portc.5

Dim Timer As Word
Timer = 55800
Config Timer1 = Timer , Prescale = 1024
Enable Timer1
On Timer1 Sekundentakt
Enable Interrupts
Timer1 = Timer
Dim X As Byte : X = 1

Dim Tempsensor1(8) As Byte
Dim Tempsensor2(8) As Byte
Dim Tempsensor3(8) As Byte
Dim Tempsensor4(8) As Byte
Dim Tempsensor5(8) As Byte

Dim Ar1(9) As Byte
Dim Ar2(9) As Byte
Dim Ar3(9) As Byte
Dim Ar4(9) As Byte
Dim Ar5(9) As Byte

Dim Temp1 As Single
Dim Temp2 As Single
Dim Temp3 As Single
Dim Temp4 As Single
Dim Temp5 As Single

Dim Tmp1 As Byte
Dim Tmp2 As Byte
Dim Tmp3 As Byte
Dim Tmp4 As Byte
Dim Tmp5 As Byte

Dim T1 As Integer
Dim T2 As Integer
Dim T3 As Integer
Dim T4 As Integer
Dim T5 As Integer
Dim T6 As Integer
Dim T7 As Integer
Dim T8 As Integer
Dim T9 As Integer
Dim T10 As Integer

Tempsensor1(1) = 1wsearchfirst()
Tempsensor2(1) = 1wsearchnext()
Tempsensor3(1) = 1wsearchnext()
Tempsensor4(1) = 1wsearchnext()
Tempsensor5(1) = 1wsearchnext()

Do
   Locate 1 , 1 : Lcd X                           'Debug :-)
   Locate 1 , 4 : Lcd Fusing(temp1 , "##.#")
   Locate 1 , 10 : Lcd Fusing(temp2 , "##.#")
   Locate 2 , 1 : Lcd Fusing(temp3 , "##.#")
   Locate 2 , 7 : Lcd Fusing(temp4 , "##.#")
   Locate 2 , 13 : Lcd Fusing(temp5 , "##.#")
   Wait 1                                         'Test
   Cls                                            'Test
Loop

Sekundentakt:
   Timer1 = Timer
   Incr X
   If X = 2 Then
 'Waitms 500
 1wreset
 1wwrite &H55
 1wwrite Tempsensor1(1) , 8
 1wwrite &H44
   End If

   If X = 3 Then
 'Waitms 300
 1wreset
 1wwrite &H55
 1wwrite Tempsensor1(1) , 8
 1wwrite &HBE
 Ar1(1) = 1wread(9)
 1wreset
       Tmp1 = Ar1(1) And 1
       If Tmp1 = 1 Then Decr Ar1(1)
       T1 = Makeint(ar1(1) , Ar1(2))
       T1 = T1 * 50
       T1 = T1 - 25
       T2 = Ar1(8) - Ar1(7)
       T2 = T2 * 100
       T2 = T2 / Ar1(8)
       T1 = T1 + T2
       T1 = T1 / 10
       Temp1 = T1 / 10
   End If

   If X = 4 Then
 'Waitms 500
 1wreset
 1wwrite &H55
 1wwrite Tempsensor2(1) , 8
 1wwrite &H44
   End If

   If X = 5 Then
 'Waitms 300
 1wreset
 1wwrite &H55
 1wwrite Tempsensor2(1) , 8
 1wwrite &HBE
 Ar2(1) = 1wread(9)
 1wreset
       Tmp2 = Ar2(1) And 1
       If Tmp2 = 1 Then Decr Ar2(1)
       T3 = Makeint(ar2(1) , Ar2(2))
       T3 = T3 * 50
       T3 = T3 - 25
       T4 = Ar2(8) - Ar2(7)
       T4 = T4 * 100
       T4 = T4 / Ar2(8)
       T3 = T3 + T4
       T3 = T3 / 10
       Temp2 = T3 / 10
   End If

   If X = 6 Then
 'Waitms 500
 1wreset
 1wwrite &H55
 1wwrite Tempsensor3(1) , 8
 1wwrite &H44
   End If

   If X = 7 Then
 'Waitms 300
 1wreset
 1wwrite &H55
 1wwrite Tempsensor3(1) , 8
 1wwrite &HBE
 Ar3(1) = 1wread(9)
 1wreset
       Tmp3 = Ar3(1) And 1
       If Tmp3 = 1 Then Decr Ar3(1)
       T5 = Makeint(ar3(1) , Ar3(2))
       T5 = T5 * 50
       T5 = T5 - 25
       T6 = Ar3(8) - Ar3(7)
       T6 = T6 * 100
       T6 = T6 / Ar3(8)
       T5 = T5 + T6
       T5 = T5 / 10
       Temp3 = T5 / 10
   End If

   If X = 8 Then
 'Waitms 500
 1wreset
 1wwrite &H55
 1wwrite Tempsensor4(1) , 8
 1wwrite &H44
   End If

   If X = 9 Then
 'Waitms 300
 1wreset
 1wwrite &H55
 1wwrite Tempsensor4(1) , 8
 1wwrite &HBE
 Ar4(1) = 1wread(9)
 1wreset
       Tmp4 = Ar4(1) And 1
       If Tmp4 = 1 Then Decr Ar4(1)
       T7 = Makeint(ar4(1) , Ar4(2))
       T7 = T7 * 50
       T7 = T7 - 25
       T8 = Ar4(8) - Ar4(7)
       T8 = T8 * 100
       T8 = T8 / Ar4(8)
       T7 = T7 + T8
       T7 = T7 / 10
       Temp4 = T7 / 10
   End If

   If X = 10 Then
 'Waitms 500
 1wreset
 1wwrite &H55
 1wwrite Tempsensor5(1) , 8
 1wwrite &H44
End If

   If X = 11 Then
 'Waitms 300
 1wreset
 1wwrite &H55
 1wwrite Tempsensor5(1) , 8
 1wwrite &HBE
 Ar5(1) = 1wread(9)
 1wreset
       Tmp5 = Ar5(1) And 1
       If Tmp5 = 1 Then Decr Ar5(1)
       T9 = Makeint(ar5(1) , Ar5(2))
       T9 = T9 * 50
       T9 = T9 - 25
       T10 = Ar5(8) - Ar5(7)
       T10 = T10 * 100
       T10 = T10 / Ar5(8)
       T9 = T9 + T10
       T9 = T9 / 10
       Temp5 = T9 / 10
 X = 1
   End If

Return