Tja da bin ich wieder...
also beim senden (sobald ich den Taster anPC3 drücke) wird immer nur Wert1 gesendet und die Kontroll LED die mit dem Taster an geht, geht nach dem loslassen nicht mehr aus und es wir fleißig weider gesendet...
als wenn der irgendwo festhängt.

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








'-------------------------------------------------------------------------------
'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 200 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
vielleicht hat ja jemand eine Idee.

Tobias