Parametry
Blokové schéma
Pouzdro
Standardní registry
Popis paměti
Přerušení
Instrukční soubor
Porty

Přerušovací podsystém

Přerušení je reakce programu na vnější událost. Běžící program je v daném místě přerušen a začne se vykonávat tzv. obsluha přerušení. Po ukončení obsluhy přerušení pokračuje program ve své činnosti v místě, kde byl přerušen.

uP 8051 má 5 zdrojů přerušení

2x externí přerušení - vývody INT0 a INT1 - příznaky IE0 a IE1 (reg. TCON)
2x čítač/časovač - příznaky TF0 a TF1 (reg.TCON)
Sériový kanál - příznaky RI a TI (reg. SCON)



Řadič přerušení:



Obsluhy jednotlivých přerušení začínají na těchto adresách:

Adresa
003h
00Bh
013h
01Bh
023h
Přerušení
Externí přerušení 0 (INT0)
Přerušení od čítače/časovače 0 (C/T0)
Externí přerušení 1 (INT1)
Přerušení od čítače/časovače 1 (C/T1)
Přerušení od sériového kanálu


Abychom mohli přerušení používat, musíme je povolit:

Registr IE (Povolení=1 / Zakázání=0)



Bit
IE.7
IE.4
IE.3
IE.2
IE.1
IE.0
název
EA
ES
ET1
EX1
ET0
EX0
funkce
-povolení / zakázání všech přerušení
-povolení / zakázání přerušení od sériového kanálu
-povolení / zakázání přerušení od čítače / časovače 1
-povolení / zakázání externího přerušení 1
-povolení / zakázání přerušení od čítače / časovače 0
-povolení / zakázání externího přerušení 0

U přerušení lze nastavit 2 úrovně priority:


- obsluhu přerušení s nízkou prioritou lze přerušit přerušením s vysokou prioritou
- obsluhu přerušení s vysokou prioritou nelze přerušit
- jsou-li aktivována dvě přerušení zároveň, tak se nejdříve provede obsluha přerušení s vysokou prioritou. V případě, že obě přerušení mají stejnou prioritu, rozhoduje hardwarová priorita ( ext. prerusení 0 má nejvyšší a sériový kanál nejnižší prioritu ).


Prioritu lze nastavit pomocí registru IP:

Registr IP (vysoká priorita = 1 / nízká priorita = 0)



Bit
IP.4
IP.3
IP.2
IP.1
IP.0
název
PS
PT1
PX1
PT0
PX0
funkce
priorita přerušení od sériového kanálu
priorita přerušení od č / č 1
priorita externího přerušení 1
priorita přerušení od č / č 0
priorita externího přerušení 0