//AFSK-Demodulator mit AT2313 mit 10Mhz


#include <avr/io.h>		
#include <avr/interrupt.h>
#include <avr/signal.h>


void Init (void);



volatile int delta;


int main(void)
{

Init();
sei();


while(1)
	{

	if ((delta<367)&(delta>50)) //kleiner als 1700Hz -> 1
		{PORTD|=(1<<DDD1);}
	if ((delta<700)&(delta>367))//größer als 1700Hz -> 0 
		{PORTD &=~(1<<DDD1);}

	}

}




void Init (void)
{
	TCCR1A=((0<<COM1A1)|(0<<COM1A0));	//OC1 disconnected
	TCCR1B=((0<<CS12)|(1<<CS11)|(0<<CS10));// Prescale auf 8
	
	ACSR=((1<<ACIE)|(0<<ACIC));//enable Comperator interrupt , Capture enable
	
	DDRD=(1<<DDD1);	
	PORTD|=(1<<DDD1);
}




SIGNAL(SIG_COMPARATOR)
{
delta=TCNT1;
TCNT1=0;
}