Code:
#include <avr/signal.h>
#include <avr/interrupt.h>

#include <stdio.h> 
#include <avr/io.h>


volatile char bByte = 0; 

SIGNAL(SIG_INTERRUPT0)  
{ 
    bByte |= 1;  
} 

main() 
{ 
DDRA = 0xFF;
DDRD = 0x00;
PORTA=0xF0;
PORTD=0xFF;
     // definieren speziellen Interrupt & enablen 

    sei();    // Alle Interrupts enablen 

  while (1) 
 { 
      if ( bByte & 1)                 // warten auf interrupt 
     {  
             bByte &= ~1;           // zurücksetzen 
             PORTA=~PORTD;
     } 
 } 
}

bringt bei mir garnichts habe ich irgendwas vergessen oder falsch gemacht?