Přerušení mikrokontroléru 8051 a struktura a programování

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





Nejvýkonnější a nejdůležitější funkce jsou přerušení 8051 mikrokontrolér . Ve většině procesů v reálném čase musí být skutečný úkol pro správné zvládnutí určitých podmínek po určitou dobu zastaven - vyžaduje požadovanou akci - a poté se musí vrátit k hlavnímu úkolu. K provádění tohoto typu programů jsou nutná přerušení. Úplně se liší od metody dotazování, kdy procesor musí postupně kontrolovat každé zařízení a zeptat se, zda je služba vyžadována nebo ne, zatímco spotřebovává více času procesoru.

Přeruší mikrokontrolér 8051

Přeruší mikrokontrolér 8051



Přerušení v mikrokontroléru 8051 jsou vhodnější pro snížení pravidelné kontroly stavu zařízení s rozhraním nebo vestavěných zařízení. Přerušení je událost, která dočasně pozastaví hlavní program, předá řízení speciální sekci kódu, provede funkci související s událostí a obnoví tok hlavního programu tam, kde přestal.


Přerušení jsou různých typů, jako je software a hardware, maskovatelné a nemaskovatelné, pevné a vektorové přerušení atd. Rutina přerušení služby (ISR) se objeví v obraze, když dojde k přerušení, a poté řekne procesoru, aby provedl příslušnou akci pro přerušení, a po provedení ISR ovladač skočí do hlavního programu.



Typy přerušení v mikrokontroléru 8051

Mikrokontrolér 8051 dokáže rozpoznat pět různých událostí, které způsobí přerušení hlavního programu od normálního provedení. Těchto pět zdrojů přerušení v 8051 je:

  1. Přerušení přetečení časovače 0 - TF0
  2. Přerušení přetečení časovače 1 - TF1
  3. Přerušení externího hardwaru - INT0
  4. Přerušení externího hardwaru - INT1
  5. Přerušení sériové komunikace - RI / TI

Časová a sériová přerušení jsou interně generována mikrokontrolérem, zatímco externí přerušení jsou generována dalšími propojovací zařízení nebo spínače, které jsou externě připojeny k mikrokontroléru. Tato externí přerušení mohou být spouštěna hranou nebo spouštěna na úrovni. Když dojde k přerušení, mikrokontrolér provede rutinu služby přerušení tak, aby umístění paměti odpovídalo přerušení, které ji umožňuje. Přerušení odpovídající umístění paměti je uvedeno v tabulce vektorů přerušení níže.

Přerušit vektorovou tabulku

Přerušit vektorovou tabulku

Struktura přerušení mikrořadiče 8051

Po „RESETU“ budou všechna přerušení deaktivována, a proto musí být všechna tato přerušení povolena softwarem. Ve všech těchto pěti přerušeních, pokud jsou kdokoli nebo všichni aktivováni, se nastaví odpovídající příznaky přerušení, jak je znázorněno na obrázku. Všechna tato přerušení mohou být bitem nastavena nebo vymazána v nějakém registru speciálních funkcí, který je Interrupt Enabled (IE), a to zase závisí na prioritě, která je prováděna registrem priority přerušení IP.


Přerušená struktura mikrokontroléru 8051

Přerušená struktura mikrokontroléru 8051

Registr přerušení povolení (IE): Tento registr je odpovědný za povolení a zakázání přerušení. Jedná se o bitově adresovatelný registr, ve kterém musí být EA nastaven na jeden pro povolení přerušení. Odpovídající bit v tomto registru umožňuje konkrétní přerušení, jako je časovač, externí a sériové vstupy. V níže uvedeném registru IE bit odpovídající 1 aktivuje přerušení a 0 deaktivuje přerušení.

Registr přerušení povolení (IE)

Registr přerušení povolení (IE)

Přerušit prioritní registr (IP): Je také možné změnit úrovně priority přerušení nastavením nebo vymazáním odpovídajícího bitu v registru priority přerušení (IP), jak je znázorněno na obrázku. To umožňuje přerušení s nízkou prioritou přerušit přerušení s vysokou prioritou, ale zakazuje přerušení dalším přerušením s nízkou prioritou. Podobně nelze přerušit přerušení s vysokou prioritou. Pokud tyto priority přerušení nejsou naprogramovány, provede mikrokontrolér předdefinovaný způsob a jeho pořadí je INT0, TF0, INT1, TF1 a SI.

IP registr

IP registr

Registr TCON: Kromě výše uvedených dvou registrů určuje registr TCON typ externího přerušení mikrokontroléru 8051, jak je znázorněno na obrázku. Dvě externí přerušení, ať už spuštěná na hraně nebo na úrovni, specifikovaná tímto registrem sadou nebo vymazaná příslušnými bity v něm. A je to také trochu adresovatelný registr.

Registrace TCON

Registrace TCON

Přerušení programování v roce 8051

1. Programování přerušení časovače

Přerušení časovače 0 a časovače 1 jsou generována bity časových registrů TF0 a TF1. Tato přerušení programování pomocí C kódu zahrnuje:

  • Výběr časovače konfigurací registru TMOD a jeho provozního režimu.
  • Volba a načítání počátečních hodnot TLx a THx pro příslušné režimy.
  • Povolení registrů IE a odpovídající bit časovače v něm.
  • Nastavení bitu časovače pro spuštění časovače.
  • Zápis podprogramu pro časovač na požadovaný čas a vymazání hodnoty časovače TRx na konci podprogramu.
Programování přerušení časovače

Programování přerušení časovače

2. Programování přerušení externího hardwaru

Mikrokontroléry 8051 se skládají ze dvou externích hardwarových přerušení: INT0 a INT1, jak bylo popsáno výše. Ty jsou povoleny na pinech 3.2 a 3.3. Mohou být spuštěny na hraně nebo na úrovni. Při spouštění na úrovni umožňuje nízko na kolíku 3.2 přerušení, zatímco na kolíku 3.2 - přechod z vysoké na nízkou umožňuje přerušení spouštěné hranou. O tomto spouštění hrany nebo spouštění úrovně rozhoduje registr TCON, který byl diskutován výše. The programovací postup v 8051 je následující:

  • Povolte odpovídající bit externího přerušení v registru IE.
  • Pokud se jedná o spouštění na úrovni, stačí napsat podprogram odpovídající tomuto přerušení, nebo povolit bit registru TCON odpovídající přerušení spouštěnému hranou - ať už je to INT0 nebo INT1.
Programování přerušení externího hardwaru

Programování přerušení externího hardwaru

3. Programování přerušení sériové komunikace

Přerušení sériové komunikace se objeví, když je potřeba odesílat nebo přijímat data. Jelikož je pro příznaky TI (Transfer Interrupt) a RI (Receiver Interrupt) nastaven jeden přerušovací bit, musí rutina Interrupt Service tyto příznaky prozkoumat, aby poznala skutečné přerušení.

Logická operace OR těchto dvou příznaků (RI a TI) způsobí toto přerušení a vymaže jej samotný software. Zde se pro ovládání používá speciální registr SCON sdělení povolením odpovídajících bitů v něm.

  • Nakonfigurujte registr IE pro povolení sériového přerušení
  • Nakonfigurujte registr SCON pro operaci příjmu nebo přenosu
  • Napište podprogram pro toto přerušení s příslušnou funkcí a zrušte v této rutině příznaky TI nebo RI.
Programování sériového přerušení

Programování sériového přerušení

Jedná se o přerušení mikrokontroléru 8051, typy, jejich strukturu a programování. Doufám, že jste z tohoto článku obdrželi dobré informace. Můžete nám také napsat v sekci komentáře níže pro implementaci v reálném čase projekty mikrokontrolérů abychom vám mohli pomoci získat lepší praktické zkušenosti.

Fotografické kredity