ADC triggered by Timer0 atmega328

This what I use in a project for setting up the ADC in timer triggered mode for a few AVR types, but using timer1. Maybe you can adapt it for your purpose.

. . . 

ISR(ADC_vect) {

    // handle register ADC here

}

. . .

// initialisation

	cli() ;
	// Initialise Timer1
	TCCR1A = 0;
	TCCR1B = _BV(CS10) |     // Bit 2:0 – CS12:0: Clock Select =  no prescaler
			_BV(WGM13) |    // WGM 12 = CTC ICR1 Immediate MAX
			_BV(WGM12);     // WGM 12 ditto

	ICR1 = (((F_CPU + FREQUENCY_CORRECTION)) / 19200) - 1;    // was 9600


#if defined(_xATTINY84)
	{
		ADMUX = 0x00 ;     // input ADC0 (PA0) Vref=Vcc
		DIDR0 |= _BV(0);             // DIDR0  Digital Input Disable Register 0

		ADCSRB =  _BV(ADTS2) |     // Bit 2:0 – ADTS[2:0]: ADC Auto Trigger Source
				_BV(ADTS1) |     //   Timer/Counter1 Capture Event
				_BV(ADTS0) |     //
        _BV(ADLAR) ;     //   Left adjust
	}
 #elif defined(_xATTINY841)
 {
    
    ADMUXA = 0x00 ;     // input ADC0 (PA0)
    ADMUXB = 0x00 ;     // Vref = Vcc, gain = 1
    DIDR0 |= _BV(0);             // DIDR0  Digital Input Disable Register 0

    ADCSRB =  _BV(ADTS2) |     // Bit 2:0 – ADTS[2:0]: ADC Auto Trigger Source
        _BV(ADTS1) |     //   Timer/Counter1 Capture Event
        _BV(ADTS0) |     //
        _BV(ADLAR) ;     //   Left adjust
  }
#elif defined(_xATMEGA328)
	{
		// Analog Port PC0 (pin A0 )
		// V0_02 ADLAR and prepare also for reading A1
		ADMUX = _BV(REFS0) | _BV(ADLAR) ;     // Fixed AVcc reference voltage for ATMega328P !!
		DIDR0 |= _BV(ADC0D);             // DIDR0  Digital Input Disable Register 0
		DIDR0 |= _BV(ADC1D);             // DIDR0  Digital Input Disable Register 1
		ADCSRB =  _BV(ADTS2) |     // Bit 2:0  ADTS[2:0]: ADC Auto Trigger Source
				_BV(ADTS1) |     //   Timer/Counter1 Capture Event
				_BV(ADTS0);      //
	}

#else
#   error unknown processor type
#endif

	ADCSRA =    _BV(ADEN) |      // Bit 7   ADEN: ADC Enable
			_BV(ADSC) |      // Bit 6   ADSC: ADC Start Conversion
			_BV(ADATE) |     // Bit 5   ADATE: ADC Auto Trigger Enable
			_BV(ADIE) |      //
			_BV(ADPS1);      // Bits 2:0  ADPS[2:0]: ADC Prescaler Select Bits  (div 4 )  // V0_02 div2 NOK, div4 OK, div16 OK


	sei() ;