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

9.3.4 Чтение таймера

Чтобы прочитать значение счетчика таймера, Вы можете выполнить простую операцию чтения или выдать команду защелки таймера. TMRCON содержит два формата, которые позволяют выдавать команду защелки конкретных таймеров: формат защелки и формат обратного считывания. Команда защелки блокирует процесс счета конкретного таймера. Команда обратного считывания блокирует процесс счета и/или состояние одного или более заданных таймеров.

9.3.4.1. Простое чтение

Чтобы выполнять простую операцию чтения, приостановите функционирование таймера (используя сигнал GATEn таймера), а затем читайте значение счетчика таймера в регистре n-го таймера. Вы должны заблокировать таймер таким образом, чтобы в момент чтения уставка не находилась в процессе изменения, иначе результат будет неопределенным.

9.3.4.2. Команда защелки счетчика

Используйте регистр TMRCON в формате защелки (Рисунок 9-28), чтобы запомнить значение счетчика конкретного таймера. Даже после запоминания счетчика, таймер продолжает работать. Это позволяет читать значение счетчика, не мешая его функционированию.

Управление таймером (формат защелки) Расширенный Адрес: F043H

TMRCON Адрес PC / АТ: 0043H

Состояние по сбросу: 00H

7 0

SC1

SC0

0

0

-

-

-

-

Номер бита

Обозначение бита

Функция

7-6

SC1:0

Выбор таймера:

Эти разряды определяют номер таймера, на который будет выдана команда защелки:

00 = таймер 0

01 = таймер 1

10 = таймер 2

11 - не является опцией TMRCON в формате защелки счетчика. Запись 11 означает обращение к TMRCON в формате обратного считывания, который изображен на Рисунке 9-30.

5-4

-

Запись 00 в эти биты означает выдачу команды защелки для таймера, заданного битами 7-6.

01,10 и 11 являются некорректными опциями для TMRCON в формате защелки

3-0

-

Зарезервирован. Для совместимости с будущими устройствами эти биты должны быть нулевыми.

ПРИМЕЧАНИЕ: Биты 5-0 выполняют другие функции, если Вы выбираете формат обратного считывания (SC1:0=11). См. Рисунок 9-30 для функции обратного считывания.

Рисунок 9-28. Регистр управления таймера (Формат защелки)

Когда таймер получает команду защелки счетчика, то запоминает значение счетчика. Это запомненное значение счетчика остается, пока Вы или не читаете значение счетчика или не реконфигурируете его. Если Вы неоднократно посылаете команды защелки без чтения счетчика, то только первая команда защелки запоминает значение счетчика.

После выдачи команды защелки, Вы можете читать регистр TMRn таймера. При чтении регистра TMRn Вы должны следовать запрограммированному выбору формата чтения счетчика (только младший байт, только старший байт, или младший байт, сопровождаемый старшим байтом). Если таймер запрограммирован для уставки с двумя байтами, Вы должны читать два байта. Вам не нужно читать эти два байта последовательно; Вы можете вставлять между чтением байтов команды чтения, записи или другие команды программирования.

Вы можете чередовать чтение и запись одного и того же счетчика; например, если для таймера запрограммирован формат чтения/записи двумя байтами, допустима следующая последовательность:

1. Чтение младшего байта.

2. Запись нового младшего байта.

3. Чтение старшего байта.

4. Запись нового старшего байта.

Таймер n (Формат чтения) Расширенный Адрес: F040H, F041H

TMRn (n = 0-2) F042H

Адрес PC / В: 0040H, 0041H

0042H

Состояние по сбросу: XX

7 0

CV7

CV6

CV5

CV4

CV3

CV2

CV1

CV0

Номер бита

Обозначе-ние бита

Функция

7-0

CV7:0

Значение счетчика:

Эти биты содержат значение счетчика таймера. При чтении счетчика таймера, следуйте выбору формата чтения/записи, определенному управляющим словом таймера.

Рисунок 9-29. Регистр n-го таймера (Формат чтения)