Načítání dat z tabuky uložené v paměti programu

Načtení dat z tabulky

Vyzkoušíme jednoduchý program,který bude rozsvěcovat znaky na 7-segmentovce. Výhodou načtení dat je, že je máme umístěna v tabulce a znaky lehce měníme.

                              MOV DPTR,#TAB                       ; do 16 bit registru se načte adresa tabulky

                              MOV R0,#0FFH                          ; naplnění registru R0

                 START : MOV A, R0                                ; hodnota registru R0 se přesune do A

                              INC A                                         ; přičtení 1- v prvním okamžiku se akumulátor ; vynuluje

                              CJNE A, #10, SEM                     ; porovnávám hodnotu v akumulátoru s číslem ; 10 (počet řádků tabulky)

                              CLR A                                        ; pokud se hodnoty rovnají, dojde k vynulování; znovu k načítání do 10

                 SEM:     MOV R0, A                                 ; pokud se hodnoty nerovnají, hodnota A se ; přesune(schová )do R0

                              MOVC A,@A+DPTR                    ; do A se přesune hodnota,která se nachází na ;adrese (tabulky + hodnota A)

                              MOV P1,A                                  ; zobrazení na port P1

                              CALL S1                                     ; čas 1 sekundy

                             JMP START                                 ; opakování stále dokola

TAB:DB 01000000B; libovolná data

DB 01111001B

DB 00100100B

DB 00110000B

DB 00011001B

DB 00010010B

DB 00010010B

DB 01111000B

DB 00000000B

DB 00010000B

INCLUDE(CAS.ASM)

END

Jiná možnost je (aby se nemusely počítat řádky tabulky), umístit na konec tabulky hodnotu třeba FF. Ptáme se, zda jsme už na konci. Tabulka pak může mít různý počet řádků pro stejný program.

Zdroje
  • VESELÁ, Zuzana. Mikroprocesorová technika. Interní skriptum, VOŠ a SPŠE Olomouc. 2013
Doplňující učivo

Tabulku můžeš využít k načítání tónů některé jednoduché písničky. Třeba Skákal pes.