Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч. пос. МПТ (2.04.12).pdf
Скачиваний:
403
Добавлен:
22.03.2015
Размер:
10.95 Mб
Скачать

2.Задать значение выбранного порогового регистра TxMR0–TxMR3. Расчет выполнить в соответствии с формулой (1.13.3).

3.Выбрать режим таймера в регистре TxCTCR. Если настройка производится после сброса, этот пункт можно опустить, поскольку при сбросе регистр TxCTCR получит нулевое значение.

4.Разрешить счет путем записи единицы в регистр TxTCR.

Остановка счета осуществляется путем записи нуля в TxTCR. Если требуется при этом сбросить таймер в ноль, то следует записать единицы в нулевой и первый бит, то есть число 3.

Проверка окончания временного интервала выполняется путем опроса флага либо с помощью прерывания.

Если разрешен запрос прерывания (регистр TxMCR), то окончание временного интервала (совпадение TxMCR и TxMRx) будет сопровождаться установкой бита, соответствующего пороговому регистру, в регистре TxIR. Для программного опроса флага требуется внедрить в программу команды проверки условия и ветвления.

Чаще вместо программного опроса флага используют прерывание от схемы совпадения. Для этого необходимо разрешить прерывание с помощью регистров VICVectAddr0, VICVectCntl0 и VICIntEnable (раздел 1.11.4). В

конце процедуры обработки прерывания сбросить флаг прерывания путем записи единицы в соответствующий разряд регистра TxIR.

1.13.6 Измерение периода и длительности импульса с помощью устройства захвата

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

1.Перевести выбранную портовую линию в режим CAP путем записи

врегистры PINSEL0, PINSEL1 (таблицы 1.9.3, 1.9.4).

2.Настроить схему захвата через регистр TxCCR. При измерении длительности импульса необходимо включить реакцию на оба фронта; при измерении периода — на передний или задний фронт. Рекомендуется также разрешить прерывание.

3.Включить таймер путем записи единицы в регистр TxTCR.

4.Разрешить обработку прерывания по захвату с помощью регистров

VICVectAddr0–15, VICVectCntl0–15 и VICIntEnable (раздел 1.11.4).

5.В процедуре обработки прерывания требуется сохранить захваченное значение таймера, находящееся в одном из регистров захвата TxCC0– TxCC3. Необходимо также хранить и предыдущее значение этого регистра.

6.Определить длительность измеряемого интервала времени по разности текущего () и предыдущего () значения регистра захвата

.

(1.13.4)

54