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 R0, #1d
3 setb 5 ;; bit 5 označuje směr 1=vlevo 0= vpravo
4
5 ; hlavní proramová smyčka
6 start:
7 call zobrazuj
8 call del800
9 jmp start
10
11
12 ; podprogram pro zobrazení světla na LED
13 zobrazuj:
14 mov A, R0
15 jb 5, rotujVlevo
16 jmp rotujVpravo
17 rotujVlevo:
18 RL A
19 jmp uloz
20 rotujVpravo:
21 RR A
22 jmp uloz
23
24 uloz:
25 mov R0, A ; uchovává číslo logicky
26 cpl A
27 mov P0, A ; P0 zobrazuje
28
29 ; kontroluju jestli jsem došel doleva -- pomocí CJNE
30 CJNE R0, #10000000b, preskoc
31 jmp vpravo
32 preskoc:
33 ; kontroluju jestli jsem došel doprava -- pomocí ANL
34 mov A, #00000001b
35 ANL A, R0
36 jnz vlevo
37 RET
38
39 ; otáčí směr pohyby doprava
40 vpravo:
41 clr 5
42 RET
43 ; otáčí směr pohybu doleva
44 vlevo:
45 setb 5
46 RET
47 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
48
49
50 include delay.inc
51
52 END