@Gento:
das lässt sich nicht kompilieren, weil er das End If nicht findet.
@for_ro:
- das +1 ist bei mir kein Problem - wie hättest du es geschrieben?
- die 5 Sekundenzeit ist so gewollt - zum testen - wird später wieder auf 60 geändert 
Tobias
Code:
'Konfiguration µC:
$regfile = "m8def.dat" 'AT-Mega8
$crystal = 3686400 'Quarz: 3.6864 MHz
$baud = 9600 'Baudrate der UART: 9600 Baud
'Analogmessung
Config Adc = Single , Prescaler = Auto , Reference = Avcc
'TIMER
On Timer1 Ontimer1overflow 'Timer1-Interruptroutine deklarieren
Config Timer1 = Timer , Prescale = 1024 '3686400Hz/1024=3600Hz
Enable Timer1
Timer1 = 61935 'Sofort Timer1-Überlauf (Bei 16 Bit: 65535+1=0)
Enable Interrupts
'-------------------------------------------------------------------------------
'Ein- Ausgänge:
Ddrb = &B111111 '1 Ausgang, 0 Eingang = Pin PB5-0 als Ausgang
Ddrc = &B0000000 '1 Ausgang, 0 Eingang = Pin PC6-0 als Eingang
Ddrd = &B00000000 '1 Ausgang, 0 Eingang = Pin PD7-0 als Eingang
'-------------------------------------------------------------------------------
' Variablen
'-------------------------------------------------------------------------------
Dim Analog_in0 As Word '=0-1023 vom Analogeingang
'Timer
Dim Stunden As Byte
Dim Minuten As Byte
Dim Sekunden As Byte
'Speicherplätze
Dim Zähler As Word 'zum Werte hochzählen
Dim Merker As Bit 'Werte speichern: damit nur um 1 hochgezählt wird
Dim Wert(200) As Word 'speichern des eigendlichen Wertes (470Werte?)
'-------------------------------------------------------------------------------
'Programm:
'-------------------------------------------------------------------------------
Zähler = 1
Merker = 0 'Werte speichern: damit nur um 1 hochgezählt wird
Do
Start Adc 'Starte analog Messung
'Analogeingänge Auslesen:
Analog_in0 = Getadc(0) 'Wert aus Analogeingang laden
'-------------------------------------------------------------------------------
'Merker zurücksetzen
If Sekunden = 1 Then
Merker = 0
End If
'-------------------------------------------------------------------------------
'Werte Speichern:
If Sekunden = 0 And Merker = 0 Then
Toggle Portb.2 'Led umschalten zur kontrolle
Wert(zähler) = Analog_in0
Incr Zähler
Merker = 1
Print "Zähler: " ; Zähler
End If
'-------------------------------------------------------------------------------
'Werte über RS232 Senden:
If Pinc.3 = 0 Then
Portb.3 = 1 'Led umschalten zur kontrolle
'Zähler = 1 'Zähler zurücksetzen
For Zähler = 1 To 10 Step + 1 'Zähler hochzählen
Print "Wert " ; Zähler ; ": " ; Wert(zähler) 'und Wert senden
Waitms 10
Next
Else
Portb.3 = 0 'Led umschalten zur kontrolle
End If
'-------------------------------------------------------------------------------
'-------------------------------------------------------------------------------
'UHR einstellen:
'Minuten +
'If Pind.3 = 1 And Minuten <= 59 Then
'Minuten = Minuten + 1
'Waitms 300
'End If
'Stunden+
'If Pinc.2 = 1 And Stunden <= 23 Then
'Stunden = Stunden + 1
'Waitms 300
'End If
Loop
'-------------------------------------------------------------------------------
'Sprungmarken
'-------------------------------------------------------------------------------
Ontimer1overflow: 'Timer1-Interruptroutine
'Nächster Überlauf soll in einer Sekunde sein:
Timer1 = 61936 'Überlauf nach 65535, also: 65535+1-3600=61936
Incr Sekunden
If Sekunden >= 5 Then
Sekunden = 0
Incr Minuten
End If
If Minuten >= 60 Then
Minuten = 0
Incr Stunden
End If
If Stunden >= 24 Then
Stunden = 0
End If
Print "Zeit: " ; Stunden ; " : " ; Minuten ; " : " ; Sekunden ; " Uhr"
Print "Analog_in0: " ; Analog_in0 'Analog Eingangswert senden
Toggle Portb.0 'blink LED zum testen
Return
Lesezeichen