So habe nun den ganzen Tag getüftelt hänge aber immer noch fest.

Hier mal mein bisheriger Code:

Code:
#define F_CPU 1200000UL			//Taktfrequenz CPU 1,2MHz
#include <avr/io.h>				
#include <util/delay.h>
#include <avr/interrupt.h>
#include <stdio.h>

//LED-Ports
#define LED1 1
#define LED2 2
#define LED3 3
#define LED4 4

#define C 0			//Variable für Zählerstand

int main(void)
{
	
	DDRB = 0b00011110;			//Eingänge und Ausgänge definieren
	PORTB = 0b00000001;			//Pullups setzen
	
	//Einstellungen für PCINT	
	MCUCR = (1<<ISC00);				//Jede logische Änderung an INT0 erzeugt eine Interrupt-Anforderung
	GIMSK = (1<<PCIE);				//PCINT aktivieren
	PCMSK = (1<<PCINT0);			//PCINT0 Eingang wird genutzt
	
	//Einstellungen Timer / PWM
	TCCR0A = ((1<<WGM00) | (1<<WGM01));		//FastPWM (Top=0xFF Update of OCRx at = TOP TOV Flag Set on = MAX)
	TCCR0B = ((1<<CS00) | (1<<CS01));		        //Prescaler clk/64 (zählt in ca. 0,002s bis 219)

	
	sei();			//globale Interrupts aktivieren
	
	
	while(1)
		{

		if(C >= 100)
			{
			PORTB |= ((1<<LED1) | (1<<LED2) | (1<<LED3) | (1<<LED4));
			}
		else if (C <=100)
			{
			PORTB &= ~((1<<LED1) | (1<<LED2) | (1<<LED3) | (1<<LED4));
			}

		}
			
}

ISR(PCINT0_vect)

{
	if(PINB & (1<<PB0))		//erkennung steigender Flanke
	{
		TCNT0 = 0;
	}
	else					//sonst
	{	
		C = TCNT0;		//Zählerstand auslesen und in variable schreiben
	}
}
Leider bekomme ich bei der Zeile "//Zählerstand auslesen und in Variable schreiben" noch den Fehler angezeigt: "lvalue required as left operand of assignment".

Über Hilfe wäre ich wieder dankbar.
Was natürlich auch gut zu wissen wäre ist, ob der Code ansonsten für mein Vorhaben richtig umgesetzt ist.

LG
Lichti01