/* -----------------------------------------------------------------------
 * Title:    Led counting reaction on pressed switch (I/O)
 * Author:   http://accrochages.drone.ws
 * Date:     6.10.2008
 * Hardware: ATmega664
 * Software: WinAVR 20080610
 -----------------------------------------------------------------------*/

#define F_CPU 9600000UL                  
#include <util/delay.h>
#include <avr/io.h>
#include <avr/pgmspace.h>

#include "sounddata.h"

#define piezo PB3

int main() {  

// ************************** init timer ****************************************************

DDRD = 0xFF;  
TCCR0B |= (1<<CS00);                     // Timer2 Settings: Timer Prescaler /64,        
DDRB |= (1 << piezo);                    // OC0A on PB0
TCCR0A |= ((1<<WGM00)|(1<<WGM01)|        // Use H-Speed PWM mode
          (1<<COM0A1)|(1<<COM0A0));    

// ************************** Init ADC ****************************************************

ADCSRA |= (1 << ADEN) | (1 << ADATE);    // AD enable       
ADMUX |=  (1 << ADLAR) | (1<<REFS0);     // AD result store in (more significant bit in ADCH)
ADCSRA |= (1 << ADSC);                   // start single conversion

int x;
for(x = 0 ; x < MAX_COUNT1 ; x++)
		{
  		OCR0A = pgm_read_byte(&sounddata_data1[x]) ;
		_delay_us(35);
		}

return 0;
}








	

	

	
  




