keiner eine Idee?

Hier nochmal der ganze Code
Code:
/**************************************************************
Es soll alle halbe Sekunde im Wechsel 0 bzw. 1 gesendet werden.
Am korrespondierenden Slave soll zur Indikation jeweils die 
LEDs an bzw. aus gehen
Verdrahtung:	MISO(Master) --> MISO(Slave)
				MOSI(Master) --> MOSI(Slave)
				SCK(Master)  --> SCK(Slave)
				PB0(Master)	 --> SS(Slave)
**************************************************************/

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>

unsigned char status = 0;
volatile unsigned char count;

void timer1 (void);
void master_init (void);
void master_transmit (unsigned char data);

SIGNAL (SIG_SPI) {
	return;
}

SIGNAL (SIG_OVERFLOW1) {						//Senderoutine
	if (count == 1) {
		master_transmit ('1');
		count--;
		PORTL   = 0xFF;		
		return;
	}
	if (count == 0) {
		master_transmit ('0');
		PORTL   = 0x00;		
		count++;
	}
}

void timer1 (void) {
	TIMSK1 |= (1<<TOIE1);           				//Timer Overflow Interrupt enable
	TCNT1 = 0;                					//Rücksetzen des Timers
	TCCR1B = (1<<CS10) | (1<<CS11);			//8MHz/65536/64 = 1,91Hz --> 0,5s
}

void master_init (void) {
	DDRB = (1<<PB1) | (1<<PB2) | (1<<PB0);		// setze SCK,MOSI,PB0 (SS) als Ausgang
	PORTB = (1<<PB1) | (1<<PB0);				// SCK und PB0 high (ist mit SS am Slave verbunden)
	SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);	//Aktivierung des SPI, Master, Taktrate fck/16
	status = SPSR;								//Status löschen
}

void master_transmit (unsigned char data) {
	PORTB &= ~(1<<PB0);						//SS am Slave Low --> Beginn der Übertragung
	SPDR = data;								//Schreiben der Daten
	while (!(SPSR & (1<<SPIF)));
	PORTB |= (1<<PB0);							//SS High --> Ende der Übertragung
}

int main (void) {
	DDRL   = 0xFF;		
	master_init ();
	timer1 ();
	sei ();

	for (;;);
	return 0;
}