/* Program simuluje funkci cykloblikace. Po stisknuti tlacitka na PORTD,0 dojde k preruseni, ktere vyvola zmenu stavu a tim se zmeni i blikaci sekvence. */ #define F_CPU 16000000UL #include #include #include #include //******************************************************************************************* // MOJE UPRAVY //------------------------------------------------------------------------------------------- // #define setb(port,pin) port |= 1<5) stav=1; prerus1=0; } if (stav==0) { negb(PORTB,0); _delay_ms(100); } if (stav==1) { PORTB=0; } if (stav==2) { PORTB=255; for (i=0;i<=7;i++) { negb(PORTB,i); _delay_ms(100); negb(PORTB,i); } } if (stav==3) { PORTB=255; for (i=7;i>=0;i--) { negb(PORTB,i); _delay_ms(100); negb(PORTB,i); } } if (stav==4) { PORTB=255; _delay_ms(200); PORTB=0; _delay_ms(200); } if (stav==5) { PORTB=255; x=3; y=4; for (i=0;i<=3;i++) { negb(PORTB,x); negb(PORTB,y); _delay_ms(100); negb(PORTB,x); negb(PORTB,y); y++; x--; } x=0; y=7; for (i=0;i<=3;i++) { negb(PORTB,x); negb(PORTB,y); _delay_ms(100); negb(PORTB,x); negb(PORTB,y); x++; y--; } } }; }