#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
void delay_ms( int ms ){
for (int i = 0; i < ms; i++){
_delay_ms(1);
}
}
int main(void){
DDRB=0xFF;
DDRC=0x00;
PORTC|=0b00111111;
int czas=30;
while(1){
while(PINC==0b00111110){
while(1){
PORTB^=0b00000000;
delay_ms(czas);
PORTB^=0b00000001;
delay_ms(czas);
PORTB^=0b00000010;
delay_ms(czas);
PORTB^=0b00000100;
delay_ms(czas);
PORTB^=0b00001000;
delay_ms(czas);
if(PINC==0b00111101){
PORTB^=0b00001000;
delay_ms(czas);
PORTB^=0b00000100;
delay_ms(czas);
PORTB^=0b00000010;
delay_ms(czas);
PORTB^=0b00000010;
delay_ms(czas);
PORTB^=0b00000000;
delay_ms(czas);
}
if(PINC==0b00111110){
while(PINC!=0b0011111){
delay_ms(50);
if(PINC==0b00111110){
break;
}
}
}
if(PINC==0b00111011){
czas--;
if(czas==0){
czas=1;
}
}
if(PINC==0b00110111){
czas++;
if(czas==200){
czas=200;
}
}
}
}
}
}