AT89S52 příkaz INC, DEC a rotační kodér

Tady jsou ukázky :
youtube.com/watch?v=avDF0NkG9Vs
youtube.com/watch?v=7QPQVmoT3zA

Mám to odzkoušené, funguje to. Je to malinko složitější, než ten mechanický, zase není nutné ošetřovat zákmity.

Jinak přerušení a časovače je více, než vhodné se naučit, protože to jsou věci, bez kterých se prakticky neobejdeš a které když zvládneš, tak Ti ušetří mraky práce při různých zpracováních vstupů, zobrazování třeba na LED displejích. Když k tomu pak přihodíš PWM, tak v hlavním programu můžeš na 4-mistný LED displej psát zápisem do 4 bytů RAM procesoru a jas displeje řídit zápisem do 1 regisrtu MCU. O všechno ostatní se postará rutina pověšená na přerušeních od časovače a OCR. Mám dokonce uděláno to, že o jas se stará přerušení od AD převodníku, na který mám pověšený fotorezistor. Převodník neustále snímá napětí na děliči fotorezistor/pevný odpor a přečtenou hodnotu zapisuje periodicky do paměti. Odtud si při každém přerušení bere časovač hodnotu, jak dlouho (jakou část periody čítače) má displej svítít. Tím řídím jas LED displeje v závislosti na okolí aniž bych se o to musel starat v hlavním programu.

Nechci Tě od toho odrazovat. Začni pomalu. Nejdřív blikat LEDkou, pak blikat pomocí přerušení a ostatní přijde časem.