/*
 * LED.c
 *
 * Created: 01.03.2013 18:07:53
 *  Author: Maks
 */ 

#include  <avr/io.h>
#include  <util/delay.h>
  
int main (void)
 {
	 DDRD &= ~_BV(PD0);
	 DDRD &= ~_BV(PD1);
	 DDRD &= ~_BV(PD2);
	 DDRD &= ~_BV(PD3);
	 
	 PORTD |= _BV(PD0);
	 PORTD |= _BV(PD1);
	 PORTD |= _BV(PD2);
	 PORTD |= _BV(PD3);
	 
	 DDRB |= _BV(PB0);
	 DDRB |= _BV(PB1);
	 DDRB |= _BV(PB2);
	 DDRB |= _BV(PB3);
	 
	 PORTB |= _BV(PB0);
	 PORTB |= _BV(PB1);
	 PORTB |= _BV(PB2);
	 PORTB |= _BV(PB3);
	 
	 DDRC |= _BV(PC0);
	 DDRC |= _BV(PC1);
	 DDRC |= _BV(PC2);
	 DDRC |= _BV(PC3);
	 
	 PORTC |= _BV(PC0);
	 PORTC |= _BV(PC1);
	 PORTC |= _BV(PC2);
	 PORTC |= _BV(PC3);
	 
	 //PORTC &= ~_BV(PC0); //Включаем LED
	 
	 /*while (1)	// мигание LED 1
	 {
		 PORTC|= _BV(PC1);
		 _delay_ms(50);
		 PORTC &= ~_BV(PC1);
		 _delay_ms(50);
	 }
	 return  0;*/
	 
	 /*while (1)	// мигание LED 2
	 {
		 PORTC|= _BV(PC2);
		 _delay_ms(200);
		 PORTC &= ~_BV(PC2);
		 _delay_ms(200);
	 }
	 return  0;*/
	 
	 /*while (1)	// мигание LED 3
	 {
		 PORTC|= _BV(PC3);
		 _delay_ms(1000);
		 PORTC &= ~_BV(PC3);
		 _delay_ms(1000);
	 }
	 return  0;*/
	 
	 /*while (1)	//При нажатии на кнопку LED горит, при отпускании гаснет.
	 {
		 if(!(PIND & (1<<PIND0)))
	 {PORTB &= ~_BV(PB0);}
		 else PORTB |= _BV(PB0);;
	 }*/
	 
	 /*while(1)	//При каждом нажатии на кнопку выход порта к которому подключен LED должен менять свое состояние на противоположное
	  {
		while (PIND & (1<<PIND1)){}
		_delay_ms(50);
		if (!(PINB & (1<<PINB1)))
	  {
		  PORTB|= _BV(PB1);
	  }
		else
	  {
		  PORTB&= ~_BV(PB1);
	  }
		while (!(PIND & (1<<PIND1))){}
		_delay_ms(50);
	 }*/
	 
	 /*while(1)	//Пока кнопка нажата LED мигает, если кнопка отпущена светодиод не горит
	 {
		 if (PIND & (1<<PIND2)) //проверяем нажатие кнопки
			{
				PORTB |= _BV(PB2);	//гасим светодиод
			} 
		 else
		 {
			 PORTB |= _BV(PB2); //гасим светодиод
			 _delay_ms(200); //задержка 200 мс
			 PORTB &= ~_BV(PB2); //зажигаем светодиод
			 _delay_ms(200); //задержка 200мс
		 }
	 }*/
	
	 
}	 


