#include <avr/io.h>
#include <stdint.h>
#include <avr/io.h>
#include <util/delay.h>
#define BUZZER_PORT     PB2               // Buzzer I/O Port
#define LED_PORT        PB1               // LED I/O Port
#define BUZZER_DELAY1    500              // Késleltetés 1
#define BUZZER_DELAY2    960000           // Késleltetés 2
#define BUZZER_DELAY3    60000     	  // Késleltetés 3

int main(void)
{
  DDRB |= (1 << BUZZER_PORT); 		   // Buzzer Port kimenet
  DDRB |= (1 << LED_PORT); 		   // LED Port kimenet
  PORTB |= (1 << LED_PORT);
  int i; 
    for (i = 0; i<200; i++) {              //ciklus lefuttatása           I
        PORTB |= (1 << BUZZER_PORT);       //Buzzer port magas            I
        _delay_us(BUZZER_DELAY1);          //Buzzer magas késleltetés     I   INDUÁS
        PORTB &= ~(1 << BUZZER_PORT);      //Buzzer port alacsony         I
        _delay_us(BUZZER_DELAY1);          //Buzzer alacsony késleltetés  I
    }
for (i = 0; i<64; i++) {                   //62*960000 (60mp)
  _delay_us(BUZZER_DELAY2);
}
  for (i = 0; i<200; i++) {                 //ciklus lefuttatása          I
        PORTB |= (1 << BUZZER_PORT);        //Buzzer port magas           I
        _delay_us(BUZZER_DELAY1);           //Buzzer magas késleltetés    I  első perc (1 csippanás)
        PORTB &= ~(1 << BUZZER_PORT);       //Buzzer port alacsony        I
        _delay_us(BUZZER_DELAY1);           //Buzzer alacsony késleltetés I
  }
   
for (i = 0; i<64; i++) {                    //62*960000 (60mp)            I  második perc
  _delay_us(BUZZER_DELAY2);
}  
  for (i = 0; i<200; i++) {                 //ciklus lefuttatása          I
        PORTB |= (1 << BUZZER_PORT);        //Buzzer port magas           I
        _delay_us(BUZZER_DELAY1);           //Buzzer magas késleltetés    I  második perc (1 csippanás)
        PORTB &= ~(1 << BUZZER_PORT);       //Buzzer port alacsony        I
        _delay_us(BUZZER_DELAY1);           //Buzzer alacsony késleltetés I
    }
   for (i = 0; i<1; i++) {                  //1*960000 (1mp)
     _delay_us(BUZZER_DELAY2); 
   }
    for (i = 0; i<200; i++) {                //ciklus lefuttatása          I
        PORTB |= (1 << BUZZER_PORT);         //Buzzer port magas           I
        _delay_us(BUZZER_DELAY1);            //Buzzer magas késleltetés    I  második perc (2 csippanás)
        PORTB &= ~(1 << BUZZER_PORT);        //Buzzer port alacsony        I
        _delay_us(BUZZER_DELAY1);            //Buzzer alacsony késleltetés I
          }
  for (i = 0; i<64; i++) {                    //62*960000 (60mp)           I  harmadik perc
  _delay_us(BUZZER_DELAY2);
} 
    for (i = 0; i<200; i++) {		      //ciklus lefuttatása          I
        PORTB |= (1 << BUZZER_PORT);	      //Buzzer port magas           I
        _delay_us(BUZZER_DELAY1);	      //Buzzer magas késleltetés    I  harmadik perc (1 csippanás)
        PORTB &= ~(1 << BUZZER_PORT);	      //Buzzer port alacsony        I
        _delay_us(BUZZER_DELAY1);	      //Buzzer alacsony késleltetés I
         }
    for (i = 0; i<1; i++) {                   //1*960000 (1mp)
     _delay_us(BUZZER_DELAY2); 
   }
    for (i = 0; i<200; i++) {		      //ciklus lefuttatása          I
        PORTB |= (1 << BUZZER_PORT);	      //Buzzer port magas           I
        _delay_us(BUZZER_DELAY1);             //Buzzer magas késleltetés    I  harmadik perc (2 csippanás)
        PORTB &= ~(1 << BUZZER_PORT);	      //Buzzer port alacsony        I
        _delay_us(BUZZER_DELAY1);	      //Buzzer alacsony késleltetés I
         }
    for (i = 0; i<1; i++) {                   //1*960000 (1mp)
     _delay_us(BUZZER_DELAY2); 
   }
    for (i = 0; i<200; i++) {		       //ciklus lefuttatása          I
        PORTB |= (1 << BUZZER_PORT);	       //Buzzer port magas           I
        _delay_us(BUZZER_DELAY1);	       //Buzzer magas késleltetés    I  harmadik perc (3 csippanás)
        PORTB &= ~(1 << BUZZER_PORT);	       //Buzzer port alacsony        I
        _delay_us(BUZZER_DELAY1);	       //Buzzer alacsony késleltetés I
         }
    for (i = 0; i<1; i++) {                    //1*960000 (1mp)
     _delay_us(BUZZER_DELAY2); 
   }
        
    
    PORTB &= ~(1 << LED_PORT);			//LED kikapcsolása
}