Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
16.04.2013
Размер:
296.85 Кб
Скачать

Примеры применения таймера.

В данном разделе рассмотрим некоторые из возможных применений таймера.

Режим реального времени.

В режиме реального времени производится периодическое формирование запросов на прерывание через определенный промежуток времени. Этот режим может использоваться, например, для переключения между несколькими выполняемыми задачами или при реализации функции часов. В данном режиме вывод Tout соединяется с одним из входов запросов прерывания процессора, линия PC7/TIACK/ может выполнять функцию входа подтверждения прерывания для таймера или работать в качестве простой линии ввода/вывода. Формат регистра TCR для режима реального времени показан на рис.22.

Перед началом работы процессор загружает в регистры предзагрузки 24-разрядную величину и затем устанавливает регистр TCR как показано выше. Бит разрешения таймера может быть установлен в любое время.

После перехода значения счетчика от $00 0001 к $00 0000, устанавливается флаг нуля ZDS и устанавливается запрос прерывания на выводе Tout. В следующий период тактовой синхронизации счетчик загружается из регистров предзагрузки и счет продолжается. В процессе обслуживания прерывания процессор должен очистить флаг нуля ZDS для исключения повторного запроса. (Примечание.Для сброса флага нуля ZDS необходимо записать в него логическую единицу). Временная диаграмма работы таймера в данном режиме представлена на рис.23.

TCR7

TCR6

TCR5

TCR4

TCR3

TCR2

TCR1

TCR0

1

X

1

0

0

0

0

1

PC3/Tout=Tout; прерывания от таймера разрешены; Tout устанавливается в 0, при установке ZDS

счетчик пере-загружается после установки в 0

Частота синхронизации=CLK/32

Рис.22 Формат регистра TCR в режиме реального времени.

Рис.23 Временные диаграммы работы таймера в режиме реального времени.

Режим генератора меандра.

В данном режиме таймер используется для формирования сигнала меандра на выходе Tout. Генерация запроса на прерывание в этом режиме запрещена. Формат регистра TCR, представленный на рис.22 применим также к режиму генератора меандра, за исключение того, что бит TCR.7 должен быть установлен в 0.

На рис.24 представлена временная диаграмма работы таймера в режиме генератора меандра.

Рис.24 Временные диаграммы работы таймера в режиме генератора меандра.

Режим формирования временной задержки.

В этом режиме таймер формирует запрс на прерывание через определенное время после запуска. Также, как в случае режима реального времени, Tout соединяется с одной из линий запроса прерывания процессора и TIACK/ может использоваться в качестве входа подтверждения для таймера.

На рис.25 представлен формат регистра TCR для данного режима, а также для других режимов рассмотренных в этой главе. Бит управления перезагрузкой (TCR.4) для режима формирования временной задержки установлен в "1", следовательно после того, как счетчик достигает нулевого значения, счет продолжается далее со своей максимальной величины. Временные диаграммы данного процесса показаны на рис.26. В начале обслуживания прерывания процессор должен остановить таймер и в случае необходимости прочесть содержимое счетчика. При этом по содержимому счетчика можно определить время между моментом формирования запроса на прерывание и началом его обслуживания.

Режим измерения времени.Данный режим позволяет измерять время между моментом запуска таймера и его остановом (после сброса бита разрешения таймера). На рис.NN (режим 4) показан формат регистра TCR в этом режиме. Процессор инициализирует таймер путем записи в регистр предзагрузки счетчика значения $FF FFFF и соответствующей установкой TCR, после этого процессор устанавливает бит запуска TCR.0. Величина $FF FFFF выбрана чтобы обеспечить максимально возможный период счета.

После установки бита TCR.0 предделитель начинает уменьшать свое значение синхронно с тактовыми импульсами на CLK, и после перехода от $00 к $1F производится декрементирование содержимого счетчика. Останов таймера производится после сброса бита разрешения TCR.0. После останова процессор может считать содержимое регистров счетчика и тем самым определить период нахождения таймера в состоянии работы. При соответствкющем программировании TCR возможно синхронизировать работу таймера от сигнала на внешнем входе Tin. В этом случае реализуется режим 5 (рис.25) и счетчик фиксирует число импульсов между моментами установки и сброса бита TCR.0.

При установке битов TCR.2, TCR.1 в 0, 1 соответственно, таймер может быть установлен в состояние работы или останова уровнем на входе Tin (рис.25, режим 6). В этом случае для работы таймера необходимо, чтобы бит TCR.0 был установлен в "1" и на выводе Tin присутствовал высокий уровень.

TCR7

TCR6

TCR5

TCR4

TCR3

TCR2

TCR1

TCR0

Режим

1

X

1

0

0

00 èëè

1X

1

1

0

1

X

0

0

00 èëè

1X

1

2

1

X

1

1

0

00 èëè

1X

1

3

0

0

X

1

0

0

0

1

4

0

0

X

1

0

1

X

1

5

1

X

1

1

0

0

1

1

6

Режим 1 - режим реального времени.

Режим 2 - генератор меандра.

Режим 3 - режим формирования временной задержки.

Режим 4 - режим измерения времени.

Режим 5 - счетчик внешних импульсов.

Режим 6 - режим измерения периода внешнего сигнала.

Рис.25 Формат регистра TCR для различных режимов работы таймера.

Рис.26 Временные диаграммы работы в режиме измерения времени.

Соседние файлы в папке Motorola - Описание лаб