/*****************************************************
Chip type               : ATtiny24
AVR Core Clock frequency: 8.000000 MHz
Memory model            : Tiny
External RAM size       : 0
Data Stack size         : 32
*****************************************************/

#include <tiny24.h>

#include <delay.h>

unsigned char i=0;
unsigned int k;
unsigned int adc_data_summ;

interrupt [ADC_INT] void adc_isr(void)
{
unsigned int adc_data;
adc_data=ADCW;
PORTB.2=0;
delay_us(200);



     k=(((adc_data-261)*2)+500);

	if (k<500) {
	k=500;
		    };

	if (k>1500) {
	k=1500;
		};

    adc_data_summ +=k;
	adc_data_summ +=500;
   	TCNT1=(65535-k);
	PORTB.2=1;
    TCCR1B=0x02;
	    while (TCNT1) {
        };
	TCCR1B=0;
	PORTB.2=0;
	i++;

	if (i>=8) {
	 TCNT1=(65535-(20000-adc_data_summ));
	 delay_us(500);
	PORTB.2=1;
    TCCR1B=0x02;
	    while (TCNT1) {
        };
	TCCR1B=0;
	PORTB.2=0;
	adc_data_summ=0;
	i=0;
    };

     ADMUX=i;
	#asm("sei")
	ADCSRA |=0x40;

}



void main(void)
{

// Crystal Oscillator division factor: 1

PORTA=0x00;
DDRA=0x00;

PORTB=0x00;
DDRB=0x04;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 1000.000 kHz
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;


TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

MCUCR=0x00;
GIMSK=0x00;

TIMSK0=0x00;
TIMSK1=0x00;

USICR=0x00;


ACSR=0x80;
ADCSRB=0x00;

// ADC initialization
// ADC Clock frequency: 125.000 kHz
// ADC Voltage Reference: AVCC pin
// ADC Bipolar Input Mode: Off
// ADC Auto Trigger Source: None
// Digital input buffers on ADC0: On, ADC1: On, ADC2: On, ADC3: On
// ADC4: On, ADC5: On, ADC6: On, ADC7: On
DIDR0=0x00;
ADMUX=0;
ADCSRA=0x8E;
ADCSRB&=0x6F;

// Global enable interrupts
#asm("sei")
ADCSRA |=0x40;
while (1)
      {
      // Place your code here

      };
}
