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