Скачиваний:
25
Добавлен:
01.05.2014
Размер:
2.09 Mб
Скачать

Приоритеты прерываний

При одновременном возникновении нескольких запросов на прерывания обслуживается прерывание с высшим приоритетом. Приоритеты распределены следующим образом (в порядке убывания приоритета):

- шесть немаскируемых прерываний - RESET, RESET монитора тактовой частоты, RESET Watchdog-таймера, прерывание по неверному коду операции, программное прерывание SWI и

внешнее прерывание по входу XIRQ;

- I-прерывание с наивысшим приоритетом;

- остальные I-прерывания в следующем порядке: IRQ, прерывание реального времени, входной захват 1, входной захват 2, входной захват 3,выходное сравнение 1, выходное сравнение 2, выходное сравнение 3, выходное сравнение 4, выходное сравнение 5, переполнение таймера, переполнение счетчика импульсов, активный фронт счетчика импульсов, прерывание от SPI, прерывание от SCI.

Любое из I-прерываний может быть назначено прерыванием с наивысшим приоритетом с помощью регистра HPRIO, структура которого приведена на рис.3.2.

7

6

5

4

3

2

1

0

$103C

RBOOT

SMOD

MDA

IRV

PSEL3

PSEL2

PSEL1

PSEL0

HPRIO

RESET

-

-

-

-

0

1

0

1

Рис.3.2

Прерывание с наивысшим приоритетом определяется состоянием битов PSEL3-PSEL0 как показано в таблице 3.2. Назначение прерыванию наивысшего приоритета можно производить только когда все I-прерывания запрещены (бит I установлен). При назначении прерыванию наивысшего приоритета его вектор не изменяется.

Табл.3.2

PSEL3

PSEL2

PSEL1

PSEL0

Назначаемый источник прерывания

0

0

0

0

Переполнение таймера

0

0

0

1

Переполнение счетчика импульсов

0

0

1

0

Активный фронт счетчика импульсов

0

0

1

1

SPI

0

1

0

0

SCI

0

1

0

1

Зарезервировано (определено как IRQ)

0

1

1

0

IRQ

0

1

1

1

Прерывание реального времени

1

0

0

0

Входной захват 1

1

0

0

1

Входной захват 2

1

0

1

0

Входной захват 3

1

0

1

1

Выходное сравнение 1

1

1

0

0

Выходное сравнение 2

1

1

0

1

Выходное сравнение 3

1

1

1

0

Выходное сравнение 4

1

1

1

1

Выходное сравнение 5

4. Аналого-цифровой преобразователь

Микроконтроллер MC68HC11E9 содержит встроенный 8-разрядный аналого-цифровой преобразователь (АЦП), мультиплексируемый на восемь каналов. Для подачи опорного напряжения используются выводы Vrl и Vrh. Эти выводы могут быть соединены с отдельными источниками питания для обеспечения более высокой точности преобразования. Итоговая ошибка преобразования не превышает ±1 младший значащий разряд, включая ошибку квантования ±1/2 младшего значащего разряда. Система АЦП может работать при напряжении Vrh ниже Vdd и/или Vrl выше Vss, пока разность Vrl-Vrh достаточна для выполнения преобразования (от 2.5 до 5.0 В). Каждое преобразование выполняется за 32 цикла тактового сигнала E при частоте не ниже 750 кГц. Если система работает с частотой ниже 750 кГц, то для АЦП необходимо использовать внутренний R-C генератор, установив бит CSEL регистра OPTION. Входные напряжения, равные Vrl и Vrh, преобразуются в коды $00

и $FF соответственно.

К подсистеме АЦП относятся четыре регистра данных ADR1-ADR4 и регистр управления и состояния ADCTL. Организация этих регистров показана на рис.4.1. Преобразование начинается через один такт после записи в регистр ADCTL и далее продолжается в зависимости от выбранного режима. Перед работой с АЦП необходимо подать на него напряжение питания, установив в 1 седьмой бит регистра OPTION (ADPU). Назначение отдельных битов регистра ADCTL следующее:

CCF - флаг завершения преобразования. Этот бит статуса доступен только для чтения и устанавливается, когда все четыре регистра результатов преобразований содержат верные результаты. Каждый раз при перезаписи регистра ADCTL этот бит автоматически сбрасывается в нуль, после чего начинается последовательность преобразований. В режиме непрерывного преобразования последовательность преобразований повторяется даже если бит CCF остается установленным.

Бит 6 - не используется, при чтении всегда возвращает нуль.

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

MULT - выбор одноканального или многоканального режимов. При сброшенном бите система АЦП настраивается на выполнение четырех последовательных преобразований данных, получаемых из канала, определяемого четырьмя битами выбора канала CD-CA (биты 3-0 регистра ADCTL). При установленном бите система АЦП настраивается на выполнение преобразований над каждым из четырех каналов, где каждому регистру результата соответствует один входной канал.

$1031

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

ADR1

$1032

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

ADR2

$1033

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

ADR3

$1034

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

ADR4

$1030

CCF

0

SCAN

MULT

CD

CC

CB

CA

ADCTL

RESET

0

0

U

U

U

U

U

U

Рис.4.1

Таблица 4.1

CD

CC

CB

CA

Входной канал

Итоговый ADRx (MULT=1)

0

0

0

0

AN0

ADR1

0

0

0

1

AN1

ADR2

0

0

1

0

AN2

ADR3

0

0

1

1

AN3

ADR4

0

1

0

0

AN4

ADR1

0

1

0

1

AN5

ADR2

0

1

1

0

AN6

ADR3

0

1

1

1

AN7

ADR4

1

0

0

0

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

ADR1

1

0

0

1

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

ADR2

1

0

1

0

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

ADR3

1

0

1

1

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

ADR4

1

1

0

0

Вывод VRH*

ADR1

1

1

0

1

Вывод VRL*

ADR2

1

1

1

0

(VRH)/2*

ADR3

1

1

1

1

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

ADR4

CD-CA - выбирают один из каналов АЦП, как показано в табл.4.1 (помеченные * каналы используются при заводском тестировании). В многоканальном режиме два младших бита (CB и CA) не используются и биты CC и CD обозначают выбираемую группу из четырех каналов.

Соседние файлы в папке Материалы по микроконтроллерам