Einen schönen Sonntag euch allen!

Ich bin dabei oder besser versuche eine Heizungssteuerung zu programmieren.

Mit folgendem Code, den ich hier gefunden habe ist eine Uhr auf meinem Controller implementiert.

Hierzu habe ich zwei Fragen:
1) Was ist die '$lib "ds1307rtc.lib" und wo finde ich diese?
2) In der Datumsanzeige sind sonderzeichen drin, die ich so nicht haben möchte. Wie und wo kann ich diese ändern (z.B. dass es so aussieht
14-01-07).

Neben den obigen Fragen habe ich noch eine weitere.
Um Schaltvorgänge zu bestimmten Uhrzeiten zu realisieren muss ich in bestimmten Zeitintervallen die Uhrzeit abfragen. Z.B. Wenn später wie 22:00 dann ausschalten. Wenn später wie 06:00 dann einschalten. Wie macht man sowas am besten.

Code:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600

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

Config Sda = Portc.4
Config Scl = Portc.5
Cls


$lib "mcsbyte.lbx"                 ' for smaller code
'$lib "ds1307rtc.lib"                                        ' modified lib

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

Config Clock = User                ' this will dim the bytes automatic
'dim other needed variables
Dim Weekday As Byte
'Locate 1 , 1
'Lcd "DS1307"
'Waitms 100
' assigning the time will call the SetTime routine
Time$ = "23:22:30"                 ' to watch the day changing value
Date$ = "13.01.07"                 ' 13 november 2002
Cls
Do
  Locate 1 , 1
  Lcd Date$ ;
  Locate 2 , 1
  Lcd Time$
  Waitms 500
Loop

End

'called from ds1307clock.lib
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
Danke für die Hilfe an alle!

Martin