Systém přerušovací logiky mikrořadičů, paměť programu

Systém přerušovací logiky mikrořadičů, paměť programu

Často požadujeme, aby některé části programu byly vykonány bez odkladu, tedy co nejdříve. K tomu nám slouží systém přerušení, který provádí pozastavení běhu programu v hlavní části (smyčce) a prioritně převede činnost mikrořadiče na podprogram, který se musí bez nějakého zdržení okamžitě provést. Takovéto podprogramy, které jsou prováděny na základě generování žádosti o přerušení, se nazývají obsluhou přerušení. Můžeme tedy říci, že podprogramy, které patří do množiny obsluhy přerušení, jsou mikrořadičem provedeny pouze na základě žádosti, kterou generuje k tomu určená periferie mikrořadiče, a to v co nejkratším možném čase.

Jak se provádí přerušení mikrořadiče?

Nedílnou součástí přerušovací logiky je takzvaný vektorový přerušovací systém. Jeho podstata spočívá v určení pevně stanovených (definovaných) adres v paměti programu, na které se programový čítač při generování požadavku žádosti o přerušení od určité periferie samočinně přenastaví . Na této adrese je v paměti programu uložena instrukce skoku na další adresu v programové paměti, kde se nachází první instrukce podprogramu (tzv. návěstí) pro obsluhu našeho přerušení. Po vykonání celého podprogramu  přerušení  a provedení  poslední instrukce podprogramu pro obsluhu přerušení se programový čítač samočinně přestaví na adresu v programové paměti, kde se nachází další instrukce programu, která by byla provedena, kdyby nedošlo ke generování požadavku o přerušení činnosti běhu hlavního programu.

Tab. 1: Umístění adres vektorů přerušení mikrořadiče Atmega32

Zdroje
  • HRBÁČEK, Jiří. Komunikace mikrokontroléru s okolím. 1. vyd. Praha: BEN - technická literatura, 1999, 159 s. ISBN 80-86056-42-21.
  • MATOUŠEK, David. Práce s mikrokontroléry ATMEL AVR ATmega16. 1. vyd. Praha: BEN - technická literatura, 2006, 319 s. μC. ISBN 80-730-0174-8.
  • VÁŇA, Vladimír. Mikrokontroléry ATMEL AVR: programování v jazyce C : popis a práce ve vývojovém prostředí CodeVisionAVR C. 1. vyd. Praha: BEN - technická literatura, 2003, 215 s. ISBN 80-730-0102-0.
  • [online]. [cit. 2015-01-30]. Dostupné z: http://www.atmel.com/images/doc2503.pdf


Tabulky

  • Tab. 1: [online]. [cit. 2015-01-30]. Dostupné z: http://www.atmel.com/images/doc2503.pdf
Kontrolní otázka
  • Jaká instrukce bude umístěná na adrese vektoru přerušení?
Zamysli se
  • Nad všemi možnostmi přerušení, které mikrořadič Atmega 32 poskytuje.