Danke Hubert!
ich habe es jetzt so gelöst:
Code:
#include <avr/io.h> 
//#define F_CPU 16000000
//#include <avr/delay.h>

//extern void wait(uint8_t T);

#define T1 0x04
#define T2 0x08
#define LED1 0x20
#define LED2 0x40
#define SUM  0x80;

int main() 
{ 
uint8_t release1;
uint8_t release2;
DDRD |= 0xE0;//PD5,PD6,PD7 als Ausgänge setzen 
DDRD &= ~(0x0c);
PORTD &= 0x00;

release1 = 0x01;
release2 = 0x01;

while(1) 
{ 
    
  if((PIND & T1) && (release1 == 0x01))
  {
    release1 = 0x00;      
    if(PORTD & LED1) 
	{
		PORTD &= ~LED1;
		PORTD &= ~SUM; 
	}
    else 
	{
		PORTD |= LED1;
		PORTD |= SUM;
	}
       	
  }
  else
  {
	if (!(PIND & T1))
	{
	  release1 = 0x01;
	}
  }

       
  if ((PIND & T2) && (release2 == 0x01))
  { 
    release2 = 0x00;      
  	if(PORTD & LED2) 
    {
		PORTD &= ~LED2;
		PORTD &= ~SUM; 
    }
    else 
    {
		PORTD |= LED2;
		PORTD |= SUM;
	}  	
  }
  else		
  {		
	if (!(PIND & T2))
	{ 
	  release2 = 0x01;
    }
  }	     
}

return 0;
}
kann noch eine bessere Lösung?
MfG