Hallo hardstyleroxx,

> Der Code ist nicht von mir, ich habe ihn so im Internet gefunden!
das hab ich mir gedacht. Trotzdem solltest Du imo den Code verstehen wenn Du ihn einsetzt.

> Nochmal zum ändern des Chips: Ich muss aber an dem Code selber
> nichts ändern (ausser &regfile) sondern nur an der beschaltung oder?

Am Code mußt Du einiges ändern.
Wie schon gesagt, Du verwendest den ICP Interrupt für Deine Signalerfassung und Port B als Ausgang für die LEDs. ICP ist aber beim Mega8 die Zweitbelegung des Pins B0 und ein Pin gleichzeitig als Eingang und als Ausgang geht nicht.

So wie Deine Software aufgebaut ist, brauchst Du einen Interrupt für die Zeiterfassung. Anschlüsse die einen Interrupt auslösen können sind bei den AVRs, die Pins mit den Zweitbelegungen Int0, Int1, ICP und, mit etwas externer Beschaltung die Pins AIN0 bzw. 1.

AIN0 & 1 lassen wir mal außen vor, denn dafür müsstest Du mit dem Analog Komparator rumspielen. Bleiben als mögliche Signaleingänge:
ICP = PB0
INT0 = PD2
INT1 = PD3

Bei INT0 & 1 müsstest Du nur Deine Interrupt Aufruf umschreiben.
Statt "On Icp1 Oncapture" -> "On Int0(1) Oncapture".

Aber das bringt Dich auch nicht weiter, denn PD2 und 3 verwendest Du ebenso wie PB0 um Deine Leds anzusteuern.

Du wirst also zumindest die Ausgabe Routine umschreiben müssen um einen der drei Pins als Signaleingang frei zu bekommen.

Der von Dir vorgesehene Pin PD0 geht nicht, denn PD0 kann wie gesagt keinen Interrupt auslösen, das können beim Mega 8 nur PB0, PD2 und PD3.

Ciao,
Werner