Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4_Taimernaja_podsist_obshchee_ADuC.doc
Скачиваний:
1
Добавлен:
18.09.2019
Размер:
1.44 Mб
Скачать

Автоперезагрузка и формирование периодического события.

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

Он заключается в том, что при выявлении переполнения в счетчик таймера автоматически копируется содержимое специального регистра (будем называть его регистром уставки). Программист может заранее записать в регистр уставки нужное значение.

Если таймер работает на вычитание, а в регистре уставки записано значение N, то время от момента копирования (вызванного данным переполнением) до очередного переполнения составит N, т.е. переполнения будут происходить с периодом N. Изменить этот период легко, для этого достаточно записать в регистр уставки новое значение N. Таким образом, таймер превращается в генератор периодических событий (переполнений) с заданным и легко перестраиваемым периодом.

Широтно_импульсный модулятор

Так называют узел, формирующий периодически изменяющийся логический сигнал, у которого длительность периода TШИМ постоянна (обычно у программиста есть возможность задать величину периода ШИМ сигнала), а длительность одной из фаз (например, единичной 1) пропорциональна коду NШИМ, управляющему широтно-импульсным модулятором: 1= TШИМ NШИМ/ NMAX.

Легко видеть, что среднее значение такого импульсного периодического сигнала пропорционально управляющему коду NШИМ. Благодаря этому ШИМ можно использовать в качестве простейшего цифро-аналогового преобразователя.

Английское название ШИМ – Pulse Width Modulator PWM.

Все возможности, объединенные в одном таймерном канале

Таймерная подсистема в мк aDuC70xx

В микроконтроллере имеется четыре независимых канала таймера:

Таймер016-битовый вычитающий таймер общего назначения с программируемым предделителем.

Таймер1 32-битовый универсальный таймер/счетчик с предделителем, на вход которого можно подать частоту от внутреннего источника либо внешний логический сигнал.

Таймер232-битовый универсальный таймер/счётчик времени с независимым источником тактовых импульсов.

Таймер3 – 16-битовый универсальный таймер с функцией сторожевого таймера (WatchDog, COP).

Свойства каналов охарактеризованы в таблице:

Характеристика

Таймер0 RTOS

Таймер1 GP

Таймер2 WakeUp

Таймер3 WDT

Разрядность

16

32

32

16

Захват момента возникновения события

Нет

Да

Нет

Нет

Счет частоты ядра (41,78 МГц/2CD)

Да

Да

Да

Нет

Счет частоты 32768 Гц

Нет

Да

Да

Да

Режим счета импульсов на внешнем входе

Нет

Да

Нет

Нет

Предделитель: 1, 16, 256, 32768

+ + + 0

+ + + +

+ + + +

+ + + 0

Направление счета

Выч.

Сл/выч

Сл/выч

Сл/выч

Режим с автоперезагрузкой заданной уставки

Да

Да

Да

Да

Программный пуск-останов

Да

Да

Да

Да

Формат «часы-минуты-секунды-сотые»

Нет

Да

Да

Нет

Запрос прерывания по переполнению

Да

Да

Да

Да

Запуск АЦП по переполнению

Да

Да

Нет

Нет

Режим сторожевого таймера

Нет

Нет

Нет

Да

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