Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
HCS12 с применением языка С - royallib.ru.doc
Скачиваний:
118
Добавлен:
11.03.2016
Размер:
2.28 Mб
Скачать

4.9.1. Реакция мк на внешние события

Рассматривая далее технические особенности подсистемы прерывания МК семейства 68HC12/HCS12, мы должны обсудить общие для всех микропроцессорных систем алгоритмы обработки прерываний:

• Каждое событие, на которое микропроцессорная система должна реагировать с использованием механизма прерывания, называется запросом на прерывание. Последовательность команд, которая должна быть исполнена при возникновении запроса на прерывание, называется подпрограммой прерывания ISR (Interrupt Service Routing). При возникновении запроса на прерывание текущая исполняемая программа, которую в русскоязычной литературе называют фоновой, должна быть приостановлена для выполнения подпрограммы прерывания ISR. По завершении последней исполнение фоновой программы должно быть продолжено.

• В момент приостанова исполнения фоновой программы, содержимое всех регистров центрального процессора должно быть сохранено в специальной области ОЗУ, которая называется «стек». В составе центрального процессора обязательно имеется регистр «указатель стека SP», который содержит адрес области памяти, в которой сохранили значения остальных регистров центрального процессора. По завершении исполнения подпрограммы прерывания этот адрес будет использован для восстановления значений регистров центрального процессора из стека, чтобы далее продолжить исполнение фоновой программы.

• Аппаратный флаг, который был установлен внешним событием для генерации запроса на прерывание, должен быть обязательно сброшен до завершения исполнения подпрограммы прерывания ISR. Если этого не будет сделано, то МК снова перейдет к исполнению подпрограммы прерывания. Таким образом, реакция МК на один и тот же запрос может получиться многократной, что не предусматривается алгоритмом управления.

• После завершения выполнения подпрограммы прерывания, содержимое счетчика команд и всех регистров центрального процессора восстанавливается из стека. В результате, исполнение фоновой программы возобновляется с того оператора, на котором она была приостановлена.

• Сразу после начального запуска МК должен выполнить процедуры инициализации (начальной установки), которые позволят настроить подсистему прерывания микроконтроллера необходимым образом. И лишь после этого можно разрешать обработку прерываний в микроконтроллере.

Отметив эти общие свойства подсистемы прерывания, обратимся к более подробному рассмотрению последней в МК семейства 68HC12/HCS12.

4.10. Состояния сброса и прерывания в мк 68hc12

МК семейства 68HC12/HCS12 обладают мощной системой обработки исключений. По способу реакции микроконтроллера на возмущающие события исключения делятся на прерывание и на сброс. В русскоязычной литературе используют следующие словосочетания с терминами «прерывание» и «сброс» (прим. переводчика):

• МК реализует прерывание или МК находится в состоянии прерывания;

• МК находится в состоянии сброса или в состоянии начального запуска.

Прерывания в свою очередь делятся на маскируемые и немаскируемые. Полный список источников исключений в МК семейства 68HC12/HCS12 с указанием способа обработки исключения по каждому источнику события приведен на рис. 4.13. В следующих параграфах мы обсудим особенности работы внутренних ресурсов МК в процессе обработки каждого упомянутого на рис. 4.13 исключения.

Рис. 4.13.  Классификация исключений 68HC12

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]