Читайте также:
|
|
Механизм прерываний в микроконтроллерах позволяет автоматически реагировать на внешние и некоторые внутренние события (переполнение таймеров/счетчиков; завершения последовательного обмена).
Каждое из внешних прерываний /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. В отличие от предыдущих, сброс этих флагов осуществляется программно.
Дата добавления: 2015-07-20; просмотров: 38 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Пример выполнения работы | | | Регистр приоритетов прерываний |