Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
2/2
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 ; Soubor: prvni.asm
3 ; Datum: 12.03.2012 22:45
4 ; Autor: Marek No?ka, nozka <@t> spseol <d.t> cz
5 ; Licence: GNU/GPL
6 ; Úloha: ukázka funkce přerušení
7 ; Popis:
8 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9 repro bit P1.7 ; symbolická konstanta pro bit
10 HHH equ 010H ; symbolická konstanta
11 LLL equ 000H ; symbolická konstanta
12
13 ORG 0000H ;
14 jmp start
15
16 ORG 000BH
17 jmp obsluha
18
19
20 start:
21 mov TMOD,#00000001b ; nastavím T/C0 na 16-bitový
22 setb EA ; globálně povolím přerušení
23 setb ET0 ; povolím přerušení od T/C0
24 mov TH0, #HHH
25 mov TL0, #LLL
26 setb TR0 ; spustím časovač
27
28 mov R1, #1D
29 loop:
30 mov A, R1
31 mov R0,A
32 opakuj:
33 call zpozdeni
34 djnz R0, opakuj
35 cpl repro
36 jmp loop
37
38 obsluha:
39 inc R1
40 CJNE R1, #60D ,preskoc
41 mov R1, #1D
42 preskoc:
43 mov TH0, #HHH
44 mov TL0, #LLL
45 RETI
46
47 zpozdeni:
48 ; asi 100 us
49 mov R7,#47D
50 zzz:
51 djnz R7, zzz
52 RET
53
54
55 END
56