mov DPTR, #segment ; do DPTR uložím adresu začátku tabulky mov R0, #0 ; v R0 uchovávám číslo, které se má zaobrazit ;;; zobracím hodnotu 3 mov A, #3 ; do A uložím pozici tabulky movc A,@A+DPTR ; z tabky přesunu do A mov P2,A ; z A přesunu na port zac: call zobraz inc R0 ; chci zobrazit číslo o 1 větší ; jen čísla 0 až 10 cjne R0, #10, preskoc_mov mov R0, #0 preskoc_mov: call del800 jmp zac ;;; číslo, které je v R0 zobrací na 7-segmentovce zobraz: mov A,R0 movc A,@A+DPTR mov P2, A mov A, R0 RET 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 led: db 11111111b ;0 db 11111110b ;1 db 11111100b ;2 db 11111000b ;3 db 11110000b ;4 db 11100000b ;5 db 11000000b ;6 db 10000000b ;7 db 00000000b ;8 db 00111100b ;9 include delay.inc END