Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к цифрам.doc
Скачиваний:
23
Добавлен:
06.05.2019
Размер:
2.08 Mб
Скачать

1. Краткие теоретические сведения

Механизм прерываний в микроконтроллерах позволяет автоматически реагировать на внешние и некоторые внутренние события (переполнение таймеров/счетчиков; завершения последовательного обмена).

Каждое из внешних прерываний /INT0, /INT1 может быть активизировано по уровню (низкий уровень) или срезу сигналов на выводах микроконтроллера Р3.2 или Р3.3 соответственно путем установки битов IT0 и IT1 регистра TCON (табл. 10.1). При появлении внешнего события /INTх устанавливается флаг IEx (вероятно Interrupt Enable) регистра TCON. Сброс этого флага производится: при обработке прерывания по фронту аппаратно после обращения к подпрограмме обработки прерываний, при прерывании по уровню флаг сбрасывается при снятии внешнего события. Чтобы прерывание было распознано, необходимо, чтобы низкий уровень на соответствующем входе удерживался, по крайней мере, один машинный цикл (12 тактов).

Табл. 10.1. Формат регистра управления режимами работы таймеров TCON.

Символ

Позиция

Имя и назначение

TF1

TCON.7

Флаг переполнения таймера 1. Устанавливается аппаратно при переполнении таймера/счетчика. Сбрасывается при обслуживании прерывания аппаратно

TR1

TCON.6

Бит управления таймера 1. Устанавливается/сбрасывается программой для пуска/останова

TF0

TCON.5

Флаг переполнения таймера 0. Устанавливается аппаратно. Сбрасывается при обслуживании прерывания

TR0

TCON.4

Бит управления таймера 0. Устанавливается / сбрасывается программой для пуска/останова таймера/счетчика

IE1

TCON.3

Флаг фронта прерывания 1. Устанавливается аппаратно, когда детектируется срез внешнего сигнала INT1. Сбрасывается при обслуживании прерывания

IT1

TCON.2

Бит управления типом прерывания 1. Устанавливается / сбрасывается программно для определения типа запроса прерывания INT1 (срезу/низким уровнем).

IE0

TCON.1

Флаг фронта прерывания 0. Устанавливается по срезу сигнала INT0. Сбрасывается при обслуживании прерывания

IT1

TCON .0

Бит управления типом прерывания 0. Устанавливается / сбрасывается программно для определения типа  запроса прерывания INT0 (срез/низкий уровень)

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

Прерывания от таймеров выполняются по флагам TF0 и TF1 регистра TCON при переполнении соответствующего счетчика. Их сброс производится микроконтроллером при переходе к подпрограмме обработки прерываний.

Прерывание от последовательного порта (UART) выполняются по флагам:

- окончания приема RI;

- окончания передачи TI;

Эти флаги находятся в специальном регистре SCON. В отличие от предыдущих, сброс этих флагов осуществляется программно.