Um 100% ausschließen zu können das der Rest von meinem code bzw. Programm damit etwas zu tun hat, habe ich nun nochmal ein ganz neues erstellt, nur mit nem Taster, nem Timer und einem Display.

Es passiert wieder das gleiche wie vorher. Aber so kann ich jetzt den ganzen code posten, das ist dann vielleicht etwas leichter.

Code:
$regfile = "m16def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 20
$framesize = 40
$baud = 9600


Config Portb.3 = Input

Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0 , E = Porta.4 , Rs = Porta.5
Config Lcd = 24 * 2
Initlcd
Cursor Off

Dim Minuten As Byte
Dim Sekunden As Byte
Dim Zeit1 As Byte
Dim Zeit2 As Byte


Config Timer1 = Timer , Prescale = 256
Const Timervorgabe = 3036
On Timer1 Timer_irq
Enable Interrupts


Minuten = 0
Sekunden = 0
Zeit1 = 0
Zeit2 = 0


Do
Locate 1 , 1
Lcd Sekunden

If Pinb.3 = 1 Then
   Enable Timer1
End If

Loop


Timer_irq:
  Timer1 = Timervorgabe
  Incr Sekunden
  If Sekunden = 60 Then
    Incr Minuten
    Sekunden = 0
  End If
Return
So kann jetzt auch nochmal beschreiben was passiert. AVR wird angeschlossen, auf dem Display wird die 0 gezeigt. Ich drücke den Taster die 0 springt sofort zu einer 1 um, danach erhöht sich die Zahl im Sekundentakt.

mfg Blamaster