Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
1/1
Na této stránce jsou k dispozici zdrojové soubory, které jsem vytvářel při výkladu během výuky. Nejsou to ukázkové a bezchybné zdrojové soubory. Ba naopak, jsou to pracovní neučesané verze, které vznikaly interaktivně ve výuce, často s cílem ukázat, že "takto se to nemá".
1
2 mov DPTR, #segment ; do DPTR uložím adresu začátku tabulky
3 mov R0, #0 ; v R0 uchovávám číslo, které se má zaobrazit
4
5 ;;; zobracím hodnotu 3
6 mov A, #3 ; do A uložím pozici tabulky
7 movc A,@A+DPTR ; z tabky přesunu do A
8 mov P2,A ; z A přesunu na port
9
10 zac:
11 call zobraz
12 inc R0 ; chci zobrazit číslo o 1 větší
13
14 ; jen čísla 0 až 10
15 cjne R0, #10, preskoc_mov
16 mov R0, #0
17 preskoc_mov:
18 call del800
19 jmp zac
20
21
22 ;;; číslo, které je v R0 zobrací na 7-segmentovce
23 zobraz:
24 mov A,R0
25 movc A,@A+DPTR
26 mov P2, A
27 mov A, R0
28
29 RET
30
31 segment:
32 db 11000000b ; 0
33 db 11111001b ; 1
34 db 10100100b ; 2
35 db 10110000b ; 3
36 db 10011001b ; 4
37 db 10010010b ; 5
38 db 10000010b ; 6
39 db 11111000b ; 7
40 db 10000000b ; 8
41 db 10010000b ; 9
42
43 led:
44 db 11111111b ;0
45 db 11111110b ;1
46 db 11111100b ;2
47 db 11111000b ;3
48 db 11110000b ;4
49 db 11100000b ;5
50 db 11000000b ;6
51 db 10000000b ;7
52 db 00000000b ;8
53 db 00111100b ;9
54
55
56
57 include delay.inc
58
59 END