4.1. Osmice LED
Sestavte program rozsvícení osmi LED (piny 1 až 8) podle vzoru určeného číslem. Číslo je osmibitové, kde každý bit určuje, zde je daná LED rozsvícená, nebo ne.
Pro práci s logickými můžeme s výhodou použít logické funkce.
Negace (opak, inverze)
Obdobné funkce použijeme i pro práci s jednotlivými bity ve vícebitovém čísle.
Negace (opak, inverze)
Negace (opak, inverze)
!x ... vrátí opačnou hodnotu než má x ( 0 -> 1 , 1 -> 0 )
Logický součin (a, a zároveň)
x && y ... výsledkem je 1 pokud jsou hodnoty x a y 1
pokud je alespoň jedna z hodnot x, y 0, pak je výsledkem 0
Logický součet (nebo)
pokud je alespoň jedna z hodnot x, y 0, pak je výsledkem 0
x || y ... výsledkem je 1 pokud alespoň jedna z hodnot x a y je 1
pokud jsou obě hodnoty x a y 0, pak je výsledkem 0
pokud jsou obě hodnoty x a y 0, pak je výsledkem 0
Obdobné funkce použijeme i pro práci s jednotlivými bity ve vícebitovém čísle.
Negace (opak, inverze)
~x ... změní hodnoty všech bitů ( 0 -> 1 , 1 -> 0 )
Logický součin (a, a zároveň)
x & y ... výsledkem je 1 pokud jsou hodnoty daného bitu v x a y 1
pokud je alespoň jedna z hodnot bitů v x, y 0, pak je výsledkem 0
operace se se provede s odpovídajícími si bity obou čísel
Logický součet (nebo)
pokud je alespoň jedna z hodnot bitů v x, y 0, pak je výsledkem 0
operace se se provede s odpovídajícími si bity obou čísel
x | y ... výsledkem je 1 pokud alespoň jedna z hodnot daných bitů v x a y je 1
pokud jsou obě hodnoty bitů v x a y 0, pak je výsledkem 0
operace se se provede s odpovídajícími si bity obou čísel
pokud jsou obě hodnoty bitů v x a y 0, pak je výsledkem 0
operace se se provede s odpovídajícími si bity obou čísel
4.2. Dvě světélka
Sestavte program pro běh dvou světýlek proti sobě z úlohy 2.3 (jedno běží zleva a druhé zprava). Tedy dva světelní hadi z úlohy 2.1 proti sobě. Po doběhnutí se celý cyklus opakuje. Každá led svítí vždy 0,2s. Využijte funkce pro rozsvěcení LED podle vzoru z minulé úlohy.