;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Soubor: prvni.asm ; Datum: 12.03.2012 22:45 ; Autor: Marek No?ka, nozka <@t> spseol cz ; Licence: GNU/GPL ; Úloha: ukázka funkce přerušení ; Popis: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; led bit P2.7 ; symbolická konstanta pro bit ORG 0000H ; jmp start ORG 0003H ; externí přerušení jmp externi ORG 000BH ; obsluha přerušení C/T0 jmp obsluha ORG 001BH ; obsluha přerušení C/T1 jmp nacteno start: mov TMOD,#01100001b ; nastavím C0 na 16-bitový, nastavím T1 jako 8-bitový setb EA ; globálně povolím přerušení setb ET0 ; povolím přerušení od T/C0 setb ET1 ; povolím přerušení od T/C1 setb EX0 ; povélím externí přerušení 0 ; TH0 a TL0 nepřednaplňujeme protože požadujeme jechich maximální velikost setb TR0 ; spustím časovač mov TH1, #250D mov TL1, #250D setb TR1 ; spustím čítač loop: mov A, TL1 CPL A mov P0, A jmp loop obsluha: ; obsluha přerušení od C/T0 inc R0 cjne R0, #15, preskoc CPL led mov R0, #0 preskoc: RETI nacteno: ; obsluha přerušení od C/T1 CPL P2.0 RETI externi: CPL P2.1 CPL P2.6 RETI END