/*
 * AVRGCC4.c
 *
 * Created: 2.2.2015 7:23:52
 *  Author: PC
 */ 
// knihovny
#include <avr/io.h>
#include <util/delay.h>
#define F_CPU 1000000UL
#include<avr/interrupt.h>
volatile uint8_t i;

ISR(INT0_vect){ // toto se provadi pri preruseni
	
	GICR &= ~(1 << INT0); 
	i++;
}	
ISR(INT1_vect){

	GICR &= ~(1 << INT1); 
	i--;
}	




int main(void)
{
	DDRA = 0b11111111; // vsechny piny portu A jako vystupni
	DDRD &= ~(1 << PD2); // pin 2 portu D vstupni
	PORTD |= (1 << PD2);  // zapis jedna aktivuje pull up rezistor, ten privede na pin 2 portu D napeti
	PORTD |= (1 << PD3);
     // pomoci tlacitka spojene s GND na nej privedeme 0
	MCUCR |= (1 << ISC01); // sestupná hrana na vstupu preruseni INT0, preruseni se spusti pri prechodu 1 na 0 (zmacknuti tlacitka);
	MCUCR |= (1 << ISC11) ;
	GICR |= (1 << INT0); // povol preruseni od INT0
	GICR |= (1 << INT1); 
	sei(); // povol globalni preruseni
    while(1)
    {
		_delay_ms(400);
		for(i; i <=63; i++);
		PORTA = i;
		
		GICR |= (1 << INT0);
		GICR |= (1 << INT1);
	
    }
}