Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Контроллер прерываний




Контроллер прерываний (IC) принимает и обрабатывает запросы прерывания от внешних и внутренних источников запросов. В состав контроллера прерываний входят регистры специальных функций IE и IР и младшая половина разрядов регистра TCON (TCON.3 – 0). Схемы распределения разрядов в регистрах IE, IP и TCON представлены на рисунке 1.13.

 

               
EA ES ET1 EX1 ET0 EX0
а)
               
PS PT1 PX1 PT0 PX0
б)
               
        IE1 IT1 IE0 IT0
в)
  а) регистр IE; б) регистр IP; в) регистр TCON   Рисунок 1.13 – Схемы распределения разрядов в регистрах IE, IP и TCON

 

Сигналы запросов прерывания от внешних источников INT0 и INT1 поступают на входы порта Р3.2 и Р3.3 соответственно. Запрос прерывания представлен или низким уровнем сигнала INT0 (INT1) или переходом сигнала INT0 (INT1) от высокого уровня к низкому уровню. Запрос прерывания представлен уровнем сигнала при TCON.0=IT0=0 (TCON.2=IТ1=0). При IT0=1 (IT1=1) запрос представлен отрицатель­ным перепадом сигнала.

При поступлении запроса прерывания на входы INT0 или INT1 устанавливается в единичное состояние разряд TCON.1=IE0 или TCON.3=IЕ1 соответственно. Если запрос прерывания представлен переходом сигнала, разряд IE0 (IE1) сбрасывается в нулевое состояние автоматически при переходе микроконтроллера к выполнению соответствующей прерывающей программы. Если запрос прерывания представлен уровнем сигнала, состоянием разряда IЕ0 (IЕ1) управляет внешний сигнал INT0 (INT1).

Запросы прерывания от внутренних источников запросов: от таймера-счетчика Т/С0, таймера-счетчика Т/С1, передатчика и приемника последовательного порта – представлены единичным значением сигналов, поступающих из разрядов регистров TCON.5=TF0, TCON.7=TF1, SCON.1=TI и SCON.0 = RI соответственно. Сигналы запросов прерывания от передатчика (TI) и приемника (RI) последовательного порта объединены по схеме логического ИЛИ на входе контроллера прерываний.

С использованием разрядов регистра IE разрешается или запрещается прием запросов прерывания в контроллер прерываний. Каждому запросу соответствует свой разряд регистра. Биты ET0, ET1 соответствуют запросам прерываний от таймеров, биты EX0, EX1 – запросам прерывания от внешних источников, бит ES – от последовательного порта. При IЕ.Х=0 (Х=0,1,...,4) прием соответствующего запроса запрещается, при IЕ.Х=1 – разрешается. С использованием разряда IE.7=ЕА запрещается прием любого запроса прерывания (при ЕА=0).

В контроллере прерываний реализованы два уровня приоритета – высший и низший. Любой запрос прерывания может быть отнесен к любому из уровней. Отнесение запроса прерывания к уровню приоритета выполняется с использованием разрядов регистра IР (соответствие битов совпадает с регистром IE, см. выше). Каждому запросу прерывания соответствует свой разряд регистра. При IР.Х=0 (X=0,1,...,4) запрос относится к низшему уровню, при IР.X=1 – к высшему уровню.

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

В таблице 1.4 перечислены сигналы запросов прерывания, для каждого сигнала указано устройство-источник запроса прерывания, указан приоритет запросов при отнесении их к одному уровню и приведен вектор прерывания (начальный адрес прерывающей программы) для каждого запроса прерывания.

 

Таблица 1.4 – Описание прерываний микроконтроллера

Сигнал запроса прерывания Устройство-источник Приоритет Вектор прерывания
INT0 Внешний 1 (высший) 0003H
TF0 Т/С0   000BH
INT1 Внешний   0013Н
TF1 Т/С1   001BH
TI+RI SP 5 (низший) 0023Н

 

В контроллере прерываний уровень приоритета принятого запроса сравнивается с уровнем приоритета запроса, по которому произошел запуск текущей программы. Если уровень приоритета принятого запроса оказался выше, происходит переход по вектору прерывания от выполнения текущей программы к выполнению прерывающей программы. Программа, запущенная по сигналу сброса с начальным адресом 0000Н, прерывается запросом прерывания с любым уровнем приоритета.

При одновременном поступлении нескольких запросов прерывания для обслуживания выбирается запрос высшего уровня, а в пределах уровня – запрос с высшим приоритетом в пределах уровня.

При переходе к выполнению прерывающей программы адрес очередной команды прерываемой программы из счетчика команд переписывается в стек, а начальный адрес прерывающей программы (вектор прерывания) заносится в счетчик команд.

Контрольные вопросы

1 Какие периферийные устройства входят в состав микроконтроллера?

2 Какие функции кроме непосредственного ввода-вывода выполняет порт P3?

3 Что является источником счетных импульсов для таймеров-счетчиков?

4 Опишите режимы работы таймеров счетчиков ТC0 и TC1, если в регистр TMOD загружено значение 2BH?

5 В каких режимах может работать последовательный порт?

6 Возможен ли в режиме асинхронного приемо-передатчика одновременный прием и выдача символа?

7 Какие числа необходимо загрузить в TH0 и TL0, чтобы в режиме 1 осуществлялся обмен со скоростью 19200 бит/с при частоте резонатора 18,432 МГц (SMOD=1)?

8 Какова максимально допустимая скорость передачи для данного микроконтроллера?

9 Каков алгоритм приема и передачи символов при условии, что контроллер прерывания не используется?

10 Что такое "прерывание"?

11 Какие устройства микроконтроллера могут являться источниками запросов прерываний?

12 Что необходимо для разрешения и запрещения прерываний?

13 Что означает понятие "приоритет"? Перечислите в порядке возрастания приоритетов источники, если в регистр IP загружено число 13H?

14 Каким образом временно запретить обработку всех прерываний?

15 Что означает понятие «вектор прерывания»?






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных