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» - низкий. При одновременном появлении нескольких запросов одного уровня очередность обслуживания определяется с помощью внутренней процедуры поллинга (последовательного опроса), который производится в порядке фиксированного старшинства источников внутри одного уровня приоритета.


 

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

71242. Все работы выполняются с базой данных «Библиотека» 89.78 KB
  Так как нам необходимо вывести только читателя с кодом 1 то в строку условие отбора необходимо ввести: =1 Результат Чтобы запустить запрос на исполнение удостоверьтесь что вы находитесь на ленте инструментов вы находитесь в разделе Конструктор в группе инструментов...
71249. Разработать лабораторный регламент производства таблеток норсульфазола 0,5 г 269.5 KB
  Норсульфазол - белый или белый со слегка желтоватым оттенком кристаллический порошок без запаха. Очень мало растворим в воде, мало растворим в спирте, трудно растворим в ацетоне, практически нерастворим в эфире, растворим в разведенных минеральных кислотах и растворах едких и углекислых щелочей.