33360

Система прерываний КР1816ВУ51

Доклад

Коммуникация, связь, радиоэлектроника и цифровые приборы

Система развивается с появлением новых типов микроконтроллеров этой серии число источников прерываний постоянно увеличивается и достигло в некоторых пятнадцати. Рассмотрим систему прерываний МК51. Из пяти источников прерываний внешними являются входы INT0 и INT1 а внутренними два счетчика таймера и последовательный порт.

Русский

2013-09-05

48 KB

0 чел.

Система прерываний КР1816ВУ51

Исходная система прерываний в архитектуре MК-51 включает пять источников – два внешних и три внутренних. Система развивается, с появлением  новых типов микроконтроллеров этой серии число источников прерываний постоянно увеличивается и достигло в некоторых пятнадцати.

Рассмотрим систему прерываний МК51.

Из пяти источников прерываний внешними являются входы /INT0 и /INT1, а внутренними – два счетчика/таймера  и последовательный порт. Активные сигналы на входах /INT0, /INT1 устанавливают флаги IE0, IE1 регистра TCON (РУСТ). Таймер 0 и Таймер 1 используют для выработки запросов прерываний РУСТ флаги переполнения TF0, TF1 в регистре управления TCON, а последовательный порт использует для этого два флага - приемника R1 и передатчика T1 в регистре управления SCON (РУПП). Каждый из флагов последовательного порта может вызвать прерывание, а конкретный источник определяет процедура обслуживания посредством опроса.

Реакция на любой запрос, разрешенный к обслуживанию в РМП, заключается в передаче  управления от текущей программы специальной процедуре обслуживания прерывания данного типа. Осуществляется эта передача посредством команды LCALL, код которой выбирается из памяти, а формируется внутри микроконтроллера. Адрес  перехода в архитектуре МК51 соответствует вектору прерывания и фиксирован для каждого источника (табл.5.6).

Таблица 5.6. Векторы системы прерываний

Источник прерывания

Адрес вектора прерывания

Внешнее прерывание /INT0

0003Н

Таймер /счетчик Т/С0

000ВН

Внешнее прерывание /INT1

0013Н

Таймер /счетчик Т/С1

001ВН

Последовательный порт

0023Н

Из таблицы 5.6 видно, что интервал между адресами составляет всего 8 ячеек памяти программ, поэтому по первым четырем адресам может располагаться либо очень короткая процедура, либо команда JMP перехода на область памяти, где находится более длинная процедура обслуживания. По адресу последовательного порта места больше. Если по адресам векторов прерываний находятся команды JMP, то имеет место так называемая таблица переходов системы прерываний.

Когда запрос прерывания  принят на обслуживание, выполняется следующая последовательность действий. Текущая команда выполняется до конца. Затем внутренне формируемая  команда LCALL сохраняет текущее значение счетчика команд PC (адрес следующей команды)  в стеке. Это позволяет после завершения процедуры обслуживания прерывания вернуться в прерванную программу. Далее эта команда загружает в PC адрес - вектор. Сохранение в стеке других регистров микроконтроллера, кроме PC, осуществляется программистом командами PUSH в начале процедуры обслуживания. В конце процедуры должны стоять соответствующие команды выгрузки POP. Этот процесс отдан на усмотрение разработчика, поскольку от объема сохраняемой информации сильно зависит время реакции на прерывание. Процедура обслуживания прерывания завершается командой RETI, которая выгружает из стека адрес возврата и помещает его в РС.

Каждый из источников прерываний может быть разрешен или запрещен с использованием соответствующего бита регистра IE (табл. 5.7). Кроме того, в этом регистре есть бит запрета всех прерываний ЕА.Таблица 5.7. Регистр РМП (IE)

Имя

бита

Номер бита

Функция

EA

IE.7

Запрещение запросов от всех источников, имеет место при EA=0.

-

IE.6

Зарезервирован.

-

IE.5

Зарезервирован.

ES

IE.4

Запрещение запроса от последовательного порта, имеет место при ES=0.

ET1

IE.3

Запрещение запроса от Таймера 1, имеет место при ET1=0.

EX1

IE.2

Запрещение запроса по входу /INT1, имеет место при EX1=0.

ET0

IE.1

Запрещение запроса от Таймера 0, имеет место при ET0=0.

EX0

IE.0

Запрещение запроса по входу /INT0, имеет место при EX0=0.

При проявлении запросов от нескольких источников очередность их обслуживания определяется с помощью  механизма приоритетов прерываний.

В архитектуре МК51 имеет место двухступенчатый механизм определения приоритетов. Приоритеты на первой ступени имеют два уровня: «высокий» и «низкий», и определяются значениями битов регистра приоритетов IP (табл. 5.8).Таблица 5.8. Регистр приоритетов (IP)

Имя бита

Номер бита

Функция

-

IP.7

Зарезервирован

-

IP.6

Зарезервирован

-

IP.5

Зарезервирован

PS

IP.4

Определяет приоритет последовательного порта

PT1

IP.3

Определяет приоритет Таймера 1

PX1

IP.2

Определяет

приоритет входа /INT1

PT0

IP.1

Определяет приоритет Таймера 0

PX0

IP.0

Определяет приоритет входа /INT0

При «1» в определенном разряде регистра IP приоритет соответствующего источника прерывания высокий, а при «0» - низкий. При одновременном появлении нескольких запросов одного уровня очередность обслуживания определяется с помощью внутренней процедуры поллинга (последовательного опроса), который производится в порядке фиксированного старшинства источников внутри одного уровня приоритета.


 

А также другие работы, которые могут Вас заинтересовать

12527. ДИНАМИКА ВРАЩАТЕЛЬНОГО ДВИЖЕНИЯ ТВЕРДОГО ТЕЛА. 325 KB
  Тема: ДИНАМИКА ВРАЩАТЕЛЬНОГО ДВИЖЕНИЯ ТВЕРДОГО ТЕЛА. Цель: Изучение законов динамики вращательного движения твердого тела; Определение момента силы трения. Теория Твердыми телами в механике называются такие тела для которых мы можем пренебречь их деформац...
12528. ИЗУЧЕНИЕ ЗАКОНОВ СИЛ ВНЕШНЕГО ТРЕНИЯ 219 KB
  Тема: ИЗУЧЕНИЕ ЗАКОНОВ СИЛ ВНЕШНЕГО ТРЕНИЯ. Цель: Изучить основные закономерности внешнего трения; Определить коэффициент трения качения методом наклонного маятника. ТЕОРИЯ. Согласно закону инерции Ньютона тело приведенное некоторой силой в движение...
12529. ИЗУЧЕНИЕ МЕХАНИЧЕСКИХ КОЛЕБАНИЙ 240.5 KB
  Тема: ИЗУЧЕНИЕ МЕХАНИЧЕСКИХ КОЛЕБАНИЙ Цель: Изучение законов гармонических колебаний; Определение момента инерции физического маятника; Определение ускорения свободного падения . Теория. Гармонический осциллятор. Простейшей механической системо
12530. Измерения температуры 78.5 KB
  Тема: Измерения температуры. Цель: проградуировать полупроводниковый и металлический термометры сопротивления и термоэлектрические термометры с предельной относительной погрешностью не превышающей 2. Оборудование и принадлежности: установка для проведения...
12531. Оптимальная линейная фильтрация детерминированных сигналов 407.02 KB
  Лабораторная работа №17 Оптимальная линейная фильтрация детерминированных сигналов 1. Цель работы: 1.1 Экспериментальное исследование процессов протекающих в оптимальном фильтре детерминированных сигналов. 1.2 Закрепление теоретических знаний по теме: Оптимальн...
12532. Помехоустойчивость сигналов дискретной модуляции 36.41 KB
  Домашняя работа для лабораторной работы № 23 по курсу ТЭС: Помехоустойчивость сигналов дискретной модуляции Цель работы: экспериментальное исследование помехоустойчивости приема сигналов дискретной амплитудной частотной и относительной фазовой модуляции. ...
12534. Анализ и эмпирический синтез цифровых фильтров 394.5 KB
  Лабораторная работа №26 Анализ и эмпирический синтез цифровых фильтров Лабораторная работа 261 Цель работы: На персональном компьютере провести анализ нерекурсивных цифровых фильтров 1го и 2го порядка; исследовать частотные и временные характеристики фил
12535. ОБНАРУЖЕНИЕ ИМПУЛЬСНЫХ СИГНАЛОВ В ШУМЕ 70.61 KB
  Лабораторная работа №16 ОБНАРУЖЕНИЕ ИМПУЛЬСНЫХ СИГНАЛОВ В ШУМЕ Цель работы Изучение принципа порогового обнаружения двоичных сигналов механизма возникновения ошибок обнаружения метода анализа и оптимизации процесса обнаружения. Экспериментальное