I na koniec efekt biegnącego węża:

#include <avr/io.h>

unsigned long czekaj=1500;

void poczekaj (unsigned long pt) //procedura wytracania czasu

{

unsigned char tp1;

for(;pt>0;pt--)

{

for(tp1=255;tp1!=0;tp1--);

}

}

int main(void) //program główny

{

unsigned char ledy,i,licznik;

DDRB=0xff; //konfiguracja wszystkich wyprowadzeń portu B jako wyjścia

while(1) //nieskończona pętla główna programu

{

//efekt biegnącego punktu

PORTB=0xff; // wygaś LED-y

for(licznik=0;licznik<10;licznik++) //pętla długości trwania efektu (liczba cykli efektu)

{

for(ledy=0xfe;ledy!=0xff;ledy=(ledy<<=1)+1) //pętla zmieniająca fazę efektu

{

PORTB=ledy; //wysterowanie LED-ów zgodne z wartością zmiennej ledy

poczekaj(czekaj); //wytrać czas

}

}

}

}

1