Školní programy v assembleru pro procesory 8051
Na střední škole jsme se učili programovat procesory 8051. Používali jsme k tomu
assembler As51 [285kB]. Zde jsou některé ukázkové programy:
Součet 4 místných čísel
Jednoduchý podprogram, který sečte dvě čtyřmístná čísla ve formátu BCD.
Obsah souboru "
sum4mc.asm":
Rozdíl 4 místných čísel
Jednoduchý podprogram, který spočítá rozdíl dvou čtyřmístných čísel ve formátu BCD.
Obsah souboru "
rozdil4m.asm":
Součet řady 4 místných čísel
Podprogram pro součet řady (ve vnější paměti dat) čtyřmístných čísel ve formátu BCD. Výsledek je uložen jako 32bitové číslo.
Obsah souboru "
sum_rady.asm":
Sloučení řady 4 místných čísel
Podprogram, který sloučí řadu (ve vnější paměti dat) 2bytových čísel ve formátu BCD tak, že každé druhé číslo odečte a ostatní čísla přičte. Výsledek je 4bytový.
Obsah souboru "
sluradu1.asm":
Součet dvou řad (stejné délky) 4 místných čísel
Podprogram, který sečte odpovídající prvky dvou řad (Ai, Bi) a výsledkem je řada Ci. Vstupní čísla jsou čtyřmístná v BCD kódu, výstupní čísla jsou šestimístná, rovněž v BCD kódu.
Všechny řady mají stejný počet prvků a jsou ukončené značkou #0FFH.
Obsah souboru "
slurady.asm":
Součet dvou řad (různé délky) 4 místných čísel
Podprogram, který sečte odpovídající prvky dvou řad (Ai, Bi) a výsledkem je řada Ci. Vstupní čísla jsou čtyřmístná v BCD kódu, výstupní čísla jsou šestimístná, rovněž v BCD kódu.
Všechny řady jsou ukončené značkou #0FFH. Kratší řada se jakoby doplnění nulami, aby bylo možné využít i čísla z delší řady.
Obsah souboru "
sum2r2.asm":
Blikající LEDka
LED dioda připojená na pin P1.0 bliká s periodou 1 sekunda.
K tomuto programu navíc
potřebujete knihovnu "delay.inc", jejíž obsah je uveden na konci této stránky.
Obsah souboru "
led.asm":
Běhající světlo po osmi LEDkách
Na port P1 je připojených 8 LEDek. Jestli jste někdy viděli seriál Knight Rider, tak jste si jistě všimli běhajícího světla vepředu na autě. Tento program vytváří podobný vizuální efekt.
K tomuto programu navíc
potřebujete knihovnu "delay.inc", jejíž obsah je uveden na konci této stránky.
Obsah souboru "
led2.asm":
Řízení dopravy na křižovatce světelnými signály
Na pin P1.7 připojte červenou LED semaforu č. 1.
Na pin P1.6 připojte žlutou LED semaforu č. 1.
Na pin P1.5 připojte zelenou LED semaforu č. 1.
Na pin P1.4 připojte červenou LED semaforu č. 2.
Na pin P1.3 připojte žlutou LED semaforu č. 2.
Na pin P1.2 připojte zelenou LED semaforu č. 2.
Na pin P1.0 připojte tlačítko, kterým budete zapínat neřízenou dopravu (blikající žlutá světla).
K tomuto programu navíc
potřebujete knihovnu "delay.inc", jejíž obsah je uveden na konci této stránky.
Obsah souboru "
doprava.asm":
Knihovna pro vytváření časového zpoždění
Voláním procedury DEL1S vytvoříte zpoždění 1 sekunda.
Voláním procedury DEL800 vytvoříte zpoždění 800 milisekund.
Voláním procedury DEL400 vytvoříte zpoždění 400 milisekund.
Voláním procedury DEL200 vytvoříte zpoždění 200 milisekund.
Voláním procedury DEL100 vytvoříte zpoždění 100 milisekund.
Obsah souboru "
delay.inc":