Einen schönen guten Tag an alle!

Da ich mich noch nicht so gut auskenne aber dennoch eine Heizungssteuerung nach und nach bauen möchte, habe ich mir hier im Forum einige Module in mein Projekt eingebunden. Nun aber habe ich ein Problem.

Das auslesen von 5 DS1820 klappt Dank der sehr guten Hilfe und Gedult von Rolf. Einen Code fürs Pollin-Display habe ich auch hier gefunden. Nur jetz das Problem. In der Dritten Zeile wird das was in der ersten Zeile steht auch angezeigt. Also in Zeile 1 und Zeile 3 steht
Inn Auss Kess Vorl Rück

Wenn ich aber folgenden Teile im Programm entferne, ist die Ausgabe auf dem Dilsplay ok. Klar: Steuerung geht nicht!
Tagnacht = 0 'Nachteinstellung
Else
Tagnacht = 1 'Tageinstellung

Was mache ich da falsch.

Danke für die Hilfe
Grüß
Martin

Code:
$regfile = "m8def.dat"
$crystal = 3686400
'***************************Config Schaltausgänge*******************************
Config Portb = Output
Brenner Alias Portb.5
Pumpefb Alias Portb.1
Pumpehk Alias Portb.2
Pumpeww Alias Portb.4
Heizungonoff Alias Portb.5
'**************************Def. allgemeiner Variabeln***************************
Dim Tagnacht As Bit
Dim Nachtbetrieb As Byte
Dim Tagbetrieb As Byte
Dim Tempmessstelle(7) As Single

Const Tagtemp_og = 21.6
Const Nachttemp_og = 21.0
Const Tagtemp_ug = 21.4
Const Nachttemp_ug = 20.8

Nachtbetrieb = 21
Tagbetrieb = 5
'**************************Funktionen LCD-Display*******************************

Config Lcd = 40 * 4
Config Lcdpin = Pin , Rs = Portb.0 , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.6 , E2 = Portd.7
Config Lcdbus = 4
Config Lcdmode = Port

Dim ___lcdno As Bit

___lcdno = 0
 Initlcd
 Cursor Off
 Cls
___lcdno = 1
Initlcd
Cursor Off
Cls
'*******************************************************************************

Config 1wire = Portb.3             'DS1820

Match_rom Alias &H55
Read_scratchpad Alias &HBE
Start_conversion Alias &H44
Innen Alias 0                      'Innen
Aussen Alias 1                     'Aussen
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 Timer1*****************************************
Config Timer1 = Timer , Prescale = 8       '256       'Konfiguriere Timer1
Enable Timer1                      'schalte den Timer1 ein
On Timer1 Isr_von_timer1           'verzweige bei Timer1 überlauf zu   Isr_von_Timer1
Enable Interrupts
Timer1 = 51135                     'Timer1 soll schon von 34285 wegzählen
'***************************Config RTC******************************************
Config Sda = Portc.4
Config Scl = Portc.5

Const Ds1307w = &HD0               ' Addresses of Ds1307 clock
Const Ds1307r = &HD1

Config Clock = User                ' this will dim the bytes automatic
Dim Weekday As Byte

'Time$ = "19:44:00"                 ' to watch the day changing value
'Date$ = "02.26.07"                 ' erstmaliges stellen der Uhr
'***************************Config 1Wire****************************************


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 = Innen 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
      Tempmessstelle(id + 1) = Temperatur
      ___lcdno = 0
      Locate 1 , 1 : Lcd "  Inn Auss Kess Vorl Rück "
      Select Case Id
      Case Innen:
         Locate 2 , 2 : Lcd Fusing(temperatur , "#.#")
      Case Aussen:                 'ausgabe im Display ist dann z.B.
         Locate 2 , 7 : Lcd Fusing(temperatur , "#.#")       '  Inn  Auss  Kess Rück Vorl
      Case Kessel:                 ' 14.4  52.4 67.3 43.0 62.8
         Locate 2 , 12 : Lcd Fusing(temperatur , "#.#")
      'Case Rücklauf:
      '   Locate 2 , 18 : Lcd Fusing(temperatur , "#.#")
      'Case Vorlauf:
      '   Locate 2 , 23 : Lcd Fusing(temperatur , "#.#")
      End Select
   Next Id
  Gosub Anzeigezeit
Loop
End

'***************************Anzeige Zeit****************************************
Anzeigezeit:
  ___lcdno = 1
  Locate 2 , 1
  Lcd Time$
  Locate 2 , 12
  Lcd Date$
  Locate 2 , 21
  Lcd "Tag: " ; Weekday
  Waitms 500
Return
 '*************************Sub Relais schalten***********************************
Schalterelais:
Select Case Tagnacht
  Case 0
    Gosub Nachtbetrieb
  Case 1
    Gosub Tagbetrieb
End Select
Return
 '**************************Sub für Tagbetrieb***********************************
Tagbetrieb:
  Pumpeww = 1
  If Tempmessstelle(1) >= Tagtemp_og Then
    Brenner = 0                    ' Brenner
    If Tempmessstelle(1) <= 2.95 Then
      Pumpefb = 0                  ' Pumpe FB
    End If
    If Tempmessstelle(1) < 3.05 Then
      Pumpehk = 0                  ' PumpeHK
    End If
  End If
  If Tempmessstelle(1) <= Tagtemp_ug Then
    Brenner = 1
    Pumpefb = 1
    Pumpehk = 1
  End If
Return
'**************************Sub für Nachtbetrieb*********************************
Nachtbetrieb:
  If Tempmessstelle(1) >= Nachttemp_og Then
    Brenner = 0
    If Tempmessstelle(1) < 2.9 Then
      Pumpefb = 0                  ' Pumpe FB
    End If
    If Tempmessstelle(1) < 3.0 Then
      Pumpehk = 0                  ' PumpeHK
    End If
  End If
  If Tempmessstelle(1) < Nachttemp_ug Then
    Brenner = 1
    Pumpefb = 1
    Pumpehk = 1
  End If
Return
 '**************************Subroutine für Timer1********************************
Isr_von_timer1:                    'ISR von Timer1
  Timer1 = 51135
  If _hour >= Nachtbetrieb Or _hour < Tagbetrieb Or _hour = 7 Then       'Sp > 2 Then  'Timer1 soll wieder von 34285 wegzählen
    Tagnacht = 0                   'Nachteinstellung
  Else
    Tagnacht = 1                   'Tageinstellung
  End If
Return
'***************************Subs für RTC****************************************
Getdatetime:
  I2cstart                         ' Generate start code
  I2cwbyte Ds1307w                 ' send address
  I2cwbyte 0                       ' start address in 1307

  I2cstart                         ' Generate start code
  I2cwbyte Ds1307r                 ' send address
  I2crbyte _sec , Ack
  I2crbyte _min , Ack              ' MINUTES
  I2crbyte _hour , Ack             ' Hours
  I2crbyte Weekday , Ack           ' Day of Week
  I2crbyte _day , Ack              ' Day of Month
  I2crbyte _month , Ack            ' Month of Year
  I2crbyte _year , Nack            ' Year
  I2cstop
  _sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
  _day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
Return

Setdate:
  _day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)
  I2cstart                         ' Generate start code
  I2cwbyte Ds1307w                 ' send address
  I2cwbyte 4                       ' starting address in 1307
  I2cwbyte _day                    ' Send Data to SECONDS
  I2cwbyte _month                  ' MINUTES
  I2cwbyte _year                   ' Hours
  I2cstop
Return

Settime:
  _sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)
  I2cstart                         ' Generate start code
  I2cwbyte Ds1307w                 ' send address
  I2cwbyte 0                       ' starting address in 1307
  I2cwbyte _sec                    ' Send Data to SECONDS
  I2cwbyte _min                    ' MINUTES
  I2cwbyte _hour                   ' Hours
  I2cstop
Return
'*******************************************************************************


$eeprom

Data &H10 , &HE8 , &HF4 , &H23 , &H01 , &H08 , &H00 , &HEF
Data &H10 , &H1B , &HD0 , &H23 , &H01 , &H08 , &H00 , &H23
Data &H10 , &H78 , &H37 , &H39 , &H01 , &H08 , &H00 , &H11
Data &H10 , &HC0 , &H46 , &H19 , &H01 , &H08 , &H00 , &H67
Data &H10 , &HE8 , &HF4 , &H23 , &H01 , &H08 , &H00 , &HEF       '