;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Soubor: 7-seg-tab.asm ; Datum: 06.01.2012 13:51 ; Autor: Marek Nožka, nozka <@t> spseol cz ; Licence: GNU/GPL ; Úloha: Na 7-segmentovém displayi cykluje čísla 0-9 ; Popis: Ukazka práce s tabulkou. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; mov DPTR, #segment ; uloží adresu tabulky ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; tabulka: mov R0, #0 ; nuluje při překroční čísla 9 smycka: call zobrazuj call del1s inc R0 ; zvýší hodnotu R0 o 1 cjne R0, #10, smycka ; počítá jen do 10 jmp tabulka ; podprogram přepíš registr R0 na port 7-segment zobrazuj: mov A, R0 ; v A je číslo, které chci zobrazit movc A,@A+DPTR ; číslo, které chci zobrazit najdu v tabulce a uložím opět do A mov P2, A ; zobrazím číslo vytažené z tabulky RET ;; tabulka číslic displaye segment: db 11000000b ; 0 db 11111001b ; 1 db 10100100b ; 2 db 10110000b ; 3 db 10011001b ; 4 db 10010010b ; 5 db 10000010b ; 6 db 11111000b ; 7 db 10000000b ; 8 db 10010000b ; 9 include delay12MHz.inc END