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

Таблица 2.7

RCLK+TCLK CP/ RL2 Т2*0Е TR2 Режим
16-битный, автоперезагрузка
16-битный, захват
Х Х Генератор скорости передачи
Х Генератор импульсов
Х Х Таймер выключен

* Присутствует только в 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, а.

Режимы работы таймера 2 - student2.ru

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

Режимы работы таймера 2 - student2.ru

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

Режимы работы таймера 2 - student2.ru

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

Режимы работы таймера 2 - student2.ru

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

Рис. 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 не генерирует прерывание.

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

87C51GB имеет новую возможность. Вывод Pl.0 может генерировать импульсы с 50%-м коэффициентом заполнения. Этот вывод кроме функции вывода порта I/O имеет две альтернативные функции. Он может быть запрограммирован (1) как вход внешних счетных импульсов для Таймера/Счетчика 2 или (2) для генерирования импульсов с 50%-м коэффициентом заполнения и частотой от 61Гц до 4МГц, при тактовой частоте 16МГц. Рис.2-28,г объясняет работу таймера в этом режиме. Чтобы Таймер/Счетчик 2 работал как генератор импульсов, бит С_Т2(в регистре Т2СОN) должен быть сброшен, а бит Т2ОЕ (в регистре T2M0D) установлен Бит TR2 (а регистре T2CON) также должен быть установлен для запуска таймера.

Частота выходных импульсов зависит от частоты осциллятора и перезагружаемого значения и регистрах RCAP2H и RCAP2L, как показано в соотношении:

Частота импульсов = Режимы работы таймера 2 - student2.ru

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

35-36 Р3.4/Т0 - Р3.5/Т1
P3.6/WR
P3.7/RD
Avref
Avss
COMPREF
42-49 ACH7 – ACH0
TRIGIN
Vss
52-53 XTAL1 – XTAL2
PSEN
ALE/PROG
EA/Vpp
57-64 P2.0/A8- P2.7/A15
Расположение выводов микроконтроллеров группы 8XC51GB

65-4 P0.0/AD0 - P0.7/AD7
P0.4/SEPCLK
P4.1/SEPIO
Р4.2/ЕС11
8-12 Р4.3/С1ЕХ0 - Р4.7/С1ЕХ7
Vcc
14-15 Р5.0-Р5.1
16-20 P5.2/INT2 - P5.6/INT6
Р5.7
Р1.0/Т2
Р1.1/Т2ЕХ
Р1.2/ЕС1
25-29 Р1.3/СЕХ0- Р1.7/СЕХ4
RESET
РЗ.0/RxD
P3.1/TxD
33-34 P3.2/INT0 - P3.3/INT1

Режимы работы таймера 2 - student2.ru

RST: Вход сброса. Низкий уровень на данном входе в течение 2-х машинных циклов (при работающем тактовом генераторе) приводит к сбросу микроконтроллера. Выводы портов будут приведены в исходное состояние в случае, когда напряжение на входе RST достигнет VIL. Процедура сброса длится до 5 машинных циклов (60 периодов тактового генератора). Отметим, что полярность сигнала сброса микросхем 8XC51GB обратная по отношению к остальным кристаллам. Внутренний резистор подключен между данным входом и шиной питания. Внешний конденсатор RC-цепочки подсоединяется между выводом RST и Vss.

ALE/PROG: Назначение вывода полностью аналогично соответствующим выводам прочих кристаллов семейства. Если необходимо, выдача сигнала ALE может быть запрещена путём установки бита 0 SFR-регистра по адресу 8Eh. Тогда ALE выдаётся только в момент действия инструкций MOVX или MOVC, а в остальных случаях на этом выходе устанавливается высокий уровень. При выборке кода из внутренней памяти данных, данное действие не производит никакого эффекта.

EA/Vpp: Для разрешения выборки команд из внешней памяти в пределах адресов 0000h - FFFFh, этот вывод должен подключаться к Vss. Выборка команд из внутренней памяти будет происходить при подключении вывода к Vсc. Однако в случае, если запрограммирован любой из битов секретности, выборка команд из внешней памяти программ производиться не будет и уровень ЕА будет устанавливаться во время действия сигнала RST на внутренней защёлке. Этот вывод предназначен также и для подачи на него напряжения программирования (Vpp= 12.75B) при программировании внутреннего ППЗУ микросхем 87C51GB.

Наши рекомендации