Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Выч. машины, системы и сети. Пособие. 80С51 v0.26.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.52 Mб
Скачать

Режимы работы таймера 2

Таблица 2.7

RCLK+TCLK

CP/ RL2

Т2*0Е

TR2

Режим

0

1

1

1

16-битный, автоперезагрузка

0

1

1

1

16-битный, захват

1

Х

Х

1

Генератор скорости передачи

Х

0

1

1

Генератор импульсов

Х

Х

0

0

Таймер выключен

* Присутствует только в 87C5IFC.

В 87C5IGB вывод Т2 имеет еще одну альтернативную функцию. Он может генерировать импульсы с программируемой частотой.

Режим захвата

В режиме захвата (Capture mode) есть две опции, выбираемые битом EXEN2 в регистре T2CON. Если бит EXEN2 - 0, Таймер 2 является 16-битным таймером или счетчиком, который при переполнении устанавливает бит TF2 в регистре T2CON. Этот бит может использоваться для генерации прерывания Таймера 2. Если бит EXEN2 = 1, то помимо всего сказанного, переход уровня сигнала на внешнем выводе Т2ЕХ из "1" в "0" вызывает запись текущего значения регистров Таймера 2 (ТН2 и ТL2) в регистры RCAP2H и RCAP2L соответственно. Кроме того, переход на выводе Т2ЕХ устанавливает бит EXF2. Бит EXF2 может генерировать прерывание и устанавливать бит ТF2. Это иллюстрирует рис.2.28, а.

а) режим захвата

б) режим перезагрузки (DCEN = 0)

в) режим перезагрузки (DCEN = 1)

г) режим Генератора частоты

Рис. 2.28. Таймер 2 в различных режимах

Режим автоперезагрузки (счет в прямом и в обратном направлении)

В 16-битном режиме автоперезагрузки (Auto-reload Mode), Таймер 2 может быть запрограммирован для счета в прямом или в обратном "up or down" направлении. Функция "up or down" выбирается битом DCEN (Down Counter Enable) в регистре T2M0D. После сброса устройства бит DCEN сбрасывается, поэтому Таймер 2 по умолчанию настраивается для счета только в прямом направлении. Когда бит DCEN установлен, направлением счета Таймера 2 можно управлять уровнем сигнала на выводе Т2EХ.

В этом режиме, при DCEN = 0, есть две опции, выбираемые битом EXEN2 в регистреT2CON. Если бит EXEN2 = 0, Таймер 2 считает в прямом направлении до 0FFFFH и затем устанавливает бит переполнения TF2. Переполнение также вызывает перезагрузку регистров Таймера 16-битным значением из регистров RСАР2Н и RCAP2L. Значения в регистрах RCAP2H и RCAP2L предварительно инициализируется программой. Если бит EXEN2 = 1, 16-битовая перезагрузка может быть вызвана либо переполнением, либо переходом уровня сигнала из "1" в "0" на выводе Т2ЕХ. Этот переход устанавливает бит EXF2. Оба бита, TF2 и EXF2, могут генерировать прерывание Таймера 2, если оно разрешено. Рис.2-28. б показывает Таймер 2 автоматически считающего в прямом направлении, когда DCEN сброшен.

Установка бита DCEN разрешает функцию "up или down", как показано на Рис.2-28, в. В этом случае вывод Т2EX управляет направлением счета. Логическая "1" на выводе Т2ЕХ делает Таймер 2 счетчиком в прямом направлении. Таймер переполняется когда его значение превышает 0FFFFН и устанавливает бит TF2, который может генерировать прерывание, если оно разрешено. Переполнение также вызывает перезагрузку 16-битного значения из регистров RCAP2H и RCAP2L в регистры таймера ТН2 и TL2 соответственно. Логический "0" на выводе Т2ЕХ делает Таймер 2 счетчиком в обратном направлении. Теперь таймер переполняется когда значение в регистрах TH2 и TL2 равно значению, хранимому в регистрах RCAP2H и RCAP2L Переполнение устанавливает бит TF2 и вызывает загрузку значения 0FFFFH в регистры таймера.

Бит EXF2 переключается каждый раз, когда Таймер 2 переполняется. Этот бит может использоваться как 17-й бит счетного значения, если необходимо. В этом режиме бит EXF2 не генерирует прерывание.