Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_PMK-rus.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

4.10.3 Внешние прерывания

Запросы на прерывания от внешних источников подаются на входы INT0 и INT1. Прерывания обрабатываются даже тогда, когда выводы сконфигурированы как выходы. Это позволяет генерировать программные прерывания. Внешние прерывания могут возникать по спадающему или нарастающему фронту, а также по низкому уровню. Это устанавливается в регистре управления процессором MCUCR (см.п.4.10.5). Если внешние прерывания разрешены и сконфигурированы на отработку по уровню, прерывание будет вырабатываться до тех пор, пока вывод удерживается в низком состоянии.

4.10.4 Время реакции на прерывание

Минимальное время реакции на любое из предусмотренных в процессо­ре прерываний - 4 периода тактовой частоты. После четырех циклов вы­зывается программный вектор, обрабатывающий данное прерывание. За эти 4 цикла содержимое программного счетчика записывается в стек. Так как программный счетчик содержит 10 бит, то под них отводится 2 байта. После записи этих двух байт в стек указатель стека уменьшается на 2.

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

Выход из программы обслуживания прерывания занимает 4 периода ак­товой частоты. За эти 4 периода из стека восстанавливается программный счетчик. После выхода из прерывания процессор всегда выполняет еще од­ну команду, прежде чем обслужить любое отложенное прерывание.

Заметим, что регистр состояния SREG аппаратно не обрабатывается процессором, как при вызове подпрограмм, так и при обслуживании преры­ваний. Если программа требует сохранения SREG, то это должно произво­диться программой пользователя.

4.10.5 MicroController Unit Control Register (MCUCR)

Бит

$35($55)

R/W

Нач.знач.

7

6

5

4

3

2

1

0

MCUCR

-

SE

SM1

SM0

ISC11

ISC10

ISC01

ISC00

R

R

R/W

R/W

R/W

R/W

R/W

R/W

0

0

0

0

0

0

0

0

Рисунок 4.9 - Регистр управления микроконтроллером – MCUCR

Биты 7 - зарезервирован. В AT90S8535 этот бит зарезервирован и всегда читается как 0.

Бит 6 – SE (Sleep Enable). Разрешение режима Sleep. Этот бит должен быть установлен в 1, чтобы при выполнении команды SLEEP процессор переходил в режим пониженного энергопотребления (Sleep). Для использования режи­ма пониженного энергопотребления этот бит рекомендуется устанавливать в 1 до исполнения команды SLEEP.

Биты 5, 4 - SM1, SM0 (Sleep Mode Select Bits 1 and 0). Режим Sleep. Эти биты выбирают один из доступ­ных режимов пониженного энергопотребления (табл.4.3). Особенности каждого из режимов будут рассмотрены ниже.

Таблица 4.3

Программирование режимов пониженного энергопотребления

SM1

SM0

Sleep Mode

Режим Sleep

0

0

Idle

Ждущий режим (холостого хода)

0

1

Reserved

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

1

0

Power-Down

Режим микропотребления

1

1

Power Save

Экономичный режим

Биты 3,2 - ISC11, ISC10 (Interrupt Sense Control 1 Bits 1 and 0). Биты управления срабатыванием внешнего прерывания по входу INT1. Внешнее прерывание активируется выводом INT1, если установлен флаг I регистра состояния SREG и установлена соответствующая маска в регистре GIMSK. В табл.4.4 приведена установка битов для задания срабатывания по уровню и фронтам.

Таблица 4.4

Управление срабатыванием прерывания INT1

ISC11

ISC10

Описание

0

0

Запрос прерывания генерируется по низкому уровню на входе INT1

0

1

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

1

0

Запрос на прерывание по спадающему фронту на входе INT1

1

1

Запрос на прерывание по нарастающему фронту на входе INT1

ПРИМЕЧАНИЕ: При изменении битов ISC11/ISC10 прерывание INT1 должно быть запрещено очисткой соответствующего бита в регистре GIMSK. Иначе прерывание может возникнуть во время изменения битов.

Биты 1,0 – ISC01, ISC00 (Interrupt Sense Control 0 Bits 1 and 0). Биты управления срабатыванием внешнего прерывания по входу INT0. Назначение, конфигурирование – см. биты ISC11, ISC10.

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