Hallo Martin,

so geht das noch nicht. Ich habe mir jetzt 'mal dein Prog etwas genauer angesehen:
1. Config Clock = User bedeutet, dass nur die Clock-Variablen erzeugt werden. Die Clock läuft aber nicht (kein Fortschritt von _second).
Das heißt: Getdatetime, Settime und Setdate brauchst du nicht. Du kannst sie mit Return irgendwo einstellen:
Getdatetime:
Settime:
Setdate:
Return
Du nennst deine Schreib- und Leseroutine anders: Z.B. Schreib_rtc, Lese_rtc. Darin schreibst/liest du immer ALLE Werte (Sekunden bis Jahr).

2. Am Anfang deiner Hauptschleife liest du die RTC mit Lese_rtc. Du vergleichst die Sekunde (_second) mit der letzten Sekunde (die du vorher z.B. in einer Variablen Oldsecond gespeichert hast). Sind die ungleich, läuft deine Schleife weiter ab (auch mit LCD-Anzeige). Wenn _second = Oldsecond, dann wird gewartet. Das Waitms 1000 nimmst du dafür ganz weg.

3. Beim erstmaligen Stellen der RTC hier ...:
'Time$ = "01:50:00" ' to watch the day changing value
Date$ = "28.10.07" ' erstmaliges stellen der Uhr
Weekday = 7
... müßte anschließend einmalig Schreib_rtc aufgerufen werden, um die Werte in die RTC zu bringen.

4. Auf den Timer-Interrupt kannst du komplett verzichten. (Alles weg,- auch die ISR)

Gruß Dirk