Zdravím,
mohl by mi někdo poradit jak napsat tento program?
Zdravím,
mohl by mi někdo poradit jak napsat tento program?
Záleží na hardware, jak jsou LED zapojeny. Pro každý řádek si napíšeš konstantu o velikosti 8 bitů. Pokud svítící LED představuje 1 a zhasnutou 0 tak např. první řádek bude 10000001b atd. Takto si napíšeš všechny řádky jako konstanty a ty budeš pak po vypršení po řadě číst. K tomu účelu si např. z registru uděláš pomocné počítadlo, které nejdřív vynuluješ. V cyklu provedeš
- přečteš konstantu, vybereš jí pomocí MOVC instrukce
- získanou konstantu zapíšeš na port, ke kterému jsou LED připojeny (MOV)
- inkrementuješ pomocné počitadlo (INC)
- omezíš rozsah pomocného počítadla, v případě vyčerpání všech řádků začneš znovu od 0 (nebo ukončit program?), lze použít instrukci CJNE
- provedeš spoždění, zde bych použil dva vnořené cykly DJNZ, jeden cyklus by vytvořil příliš krátké spoždění. Délku trvání cyklu lze prodloužit vložením instrukcí NOP do těla cyklu.
hu
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku