Система прерываний

 

2.16.1.Прерывание (interrupt) – это реакция вычислительной системы на внутреннее или внешнее событие, возникновение которого приводит к приостановке выполнения текущей программы и передаче управления подпрограмме обслуживания источника прерывания, по завершении которой осуществляется возврат к прерванной программе.

В общем случае прерывание может быть инициировано внешним по отношению к процессору устройством (внешнее прерывание – external interrupt) или какой-либо внутренней причиной, например, ошибкой в программе (внутреннее прерывание – internal interrupt). Различают также аппаратные прерывания (hardware interrupt), вызванные физическими устройствами, и программные прерывания (software interrupt), вызванные специальными машинными командами.

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

2.16.2. Система прерываний МК 80С51 обслуживает только аппаратные прерывания, которые могут быть инициированы внешними по отношению к микроконтроллеру устройствами (внешние прерывания) или встроенными периферийными устройствами (внутренние прерывания). Сигналы запросов внешних прерываний поступают на входы INT0’ и INT1’ микроконтроллера, запросы внутренних прерываний формируются таймером 0, таймером 1, приемником или передатчиком последовательного порта.

Аппаратная реализация рассмотренных выше функций системы прерываний в МК 80С51 осуществляется встроенным периферийным устройством, которое называется контроллером прерываний (ICinterrupt controller).

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

Начальные участки подпрограмм обслуживания прерываний, называемые векторами прерываний, размещаются в специальной области программной памяти, начиная с адреса 0003Н. Под каждый вектор прерывания отводится 8 байт памяти. Адрес первого (младшего) байта, называемый адресом вектора прерывания, формируется контроллером прерываний при предоставлении обслуживании соответствующему устройству. Адреса векторов прерываний МК 80С51 приведены в табл. 2.12.

Таблица 2.12








Дата добавления: 2015-10-09; просмотров: 742;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.