Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[12]

5.6.Таймер счетчик Т/С2 микроконтроллера 8052.

Т/С2 - это 16-битный таймер/счетчик, способный работать и как таймер, и как счетчик событий. Выбор производится битом СD2 в SFR T2CON . Т/С2 может работать в режимах защелки, автоперезагрузки (при этом направление счета может быть как вверх, так и вниз, т. е. на увеличение или уменьшение содержимого TL2, ТН2) и генератора скорости передачи в бодах. Режимы выбираются битами в T2CON .

Т/С2 состоит из двух 8-битных регистров: ТН2 и TL2. В режиме таймера его 16-разрядный регистр TL2, ТН2 инкрементируется в каждом машинном цикле. Поскольку цикл состоит из 12 периодов колебаний, скорость счета равна 1/12 тактовой частоты (т. е, частоты кварцевого резонатора 1рез. По сути дела, в этом режиме таймер подсчитывает выполненные машинные циклы.

5.6.1.Регистр управление таймера/счетчика 2 T2COM.

Символ

Позиция

Имя и назначение

TF2

Т2СОМ.7

Флаг переполнения таймера/счетчика 2. Сбрасывается программным путем. Флаг не устанавливается, если либо RCLK, либо TCLK (см. ниже) установлены в 1

ЕХР2

Т2СО6

Внешний флаг таймера/счетчика 2. Устанавливается при защелкивании информации в таймерных регистрах или при перезагрузке, происходящих под воздействием перепада из 1 в 0 на выводе Р1.1 и при EXEN2 1. Сбрасывается только программным путем. При разрешенном прерывании от таймера/счетчика 2 вызывает подпрограмму обработки

прерывания (если бит Т2МОD.0 = 0)

RCLK

T2CON.5

Выбор таймера/счетчика 2 для задания скорости работы приемника в режимах 1 и 3. При RCLK = 1 используется таймер/счетчик 2, при RCLK = 0 - таймер/счетчик 1

TCLK

Т2СО4

Выбор таймера/счетчика 2 для задания скорости работы передатчика в режимах 1 и 2. При TCLK = 1 используется таймер/счетчик 2, при TCLK = 0 - таймер/счетчик 1

EXEN2

T2CON.3

Разрешение работы от внешнего сигнала. При EXEN2 = 1 перепад из 1 в 0 на выводе Р1.1 вызывает защелкивание информации или перезагрузку таймера/счетчика 2. При EXEN2 = 0 таймер/счетчик 2 игнорирует сигналы на выводе Р1.1

TR2

T2CON.2

Запуск/остановка таймера. TR2 = 1 запускает таймер/счетчик 2

С/Т2

Т2СО1

Бит выбора режима работы таймера/ счетчика 2. При установке бита в 1 функционирует как счетчик перепадов из 1 в 0 на выводе Р1.0. При установке бита в 0 работает таймер

CP/RL2

Т2СО0

Выбор режима защелки/перезагрузки. Если бит установлен в 1, то при ЕХЕН2 = 1 перепад из 1 в Она Р1.1 вызовет защелкивание содержимого TL2. ТН2 a BCAP2L, RCAP2H. При нулевом бите таймер/счетчик 2 работает в режиме автоперезагрузки при переполнении счетчика или при обнаружении перепада из 1 в Она Р1.1 (последнее при EXEN2 = 1)

После сброса все биты регистра T2ON устанавливаются в 0.

5.6.2.Режимы работы таймера/счетчика 2.

RCLK и TCLK

CP/RL2

TR2

Режим

0 и 0

и

1

16-битный таймер/счетчик с перезагрузкой

0 и 0

1

1

16-битный таймер/счетчик с защелкиванием информации

0 и 1, 1 и 0. 1 и 1

Любое

1

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

Любое

Любое

0

Выключен

В режиме счетчика регистр инкрементируется в ответ на перепад из 1 в 0 на входе Р1.0. Состояние этого входа анализируется в момент S5P2 каждого машинного цикла. Если анализ показывает наличие единичного уровня в одном цикле и нулевого в следующем, содержимое счетчика инкрементируется. Его новое значение появляется в регистре в момент S3P1 цикла, следующего за тем . в котором был обнаружен перепад. Так как обнаружение этого перепада занимает два машинных цикла (24 периода колебаний), максимальная скорость счета равна 1/24 частоты f рез. Чтобы микро-ЭВМ успела идентифицировать заданный уровень, он должен T/C2 - это 16-битный таймер или счетчик, при переполнении которого устанавливается бит TF2 в T2CON. Этот бит затем может использоваться для вызова прерывания. Если же EXEN2 = 1, то T/C2 продолжает делать то же самое, однако в этом случае перепад из 180 на выводе Р1.1 вызывает защелкивание текущих значений ТН2 и TL2 в RCAP2H и RCAP2L соответственно. Кроме того, этот перепад вызывает установку в 1 бита EXF2 в T2CON. Как и TF2, этот бит может вызвать прерывание. Режим защелки иллюстрирует рис. 1, содержимое счетчика растет вверх до 0FFFFH и затем устанавливает в 1 бит переполнения TF2. Переполнение вызывает также перезагрузку регистров Т/С2 16-битным значением в RCAP2H и RCAP2L, которое предварительно должно быть установлено программно. Если же EXEN2 = 1 16-битная; перезагрузка может произойти как от переполнения, так и от перепада из 1 в 0 на выводе Р1.1. Этот перепад также устанавливает в 1 бит ЕХР2. 0ба бита - ТР2 и ЕХР2 - могут вызвать прерывание, если оно разрешено.

Установка в 1 бита DCEN переводит Т/С2 в режим счета вверх или вниз, как показано на рис.


gam TRI

1

1 1

Рис.16. Работа Таймера/счетчика 2 в режиме : захвата (а), автоперезагрузки (б), задающего генератора (в) .

Режим автоперезагрузки.На рис. 1, б показана структурная схема T/C2, считающего в сторону увеличения при DCEN = 0. В этом режиме возможны два подрежима, выбираемых регистром T2MOD

5.6.3.Регистр режима таймера/счетчика 2 Т2МОD.

Символ

Позиция

Имя и назначение

T2MOD.7

Не используется

T2MOD.6

Не используется

T2MOD.5

Не используется

T2MOD.4

Не используется

T2MOD.3

Не используется

T2MOD.2

Не используется

Т20Е

T2MOD.1

При установке бита на выводе Р1.1 формируется последовательность прямоугольных

импульсов со скважностью 2

DCEN

T2MOD.0

При установке бита таймер/счетчик 2 конфигурируется на счет как вверх, так и вниз, в зависимости от уровня сигнала на выводе Р1.1

Биты регистра Т2МOD не адресуются непосредственно командами работы с битами. После сброса Т2МОD.0 и Т2НOD.1 устанавливаются в 0, значение остальных бит не определено.


5.6.4.Дополнительный регистр приоритетов прерываний IРН.

Символ

Позиция

Имя и назначение

!РН.7

Зарезервирован

IРН.6

Зарезервирован

РТ2Н

!РН.5

Старший бит приоритета таймера/счетчика 2

PSH

1РН.4

Старший бит приоритета приемопередатчика

РТ1Н

1РН.3

Старший бит приоритета таймера/счетчика 1

РХ1Н

1РН.2

Старший бит приоритета внешнего прерывания 1

РТОН

1РН.1

Старший бит приоритета таймера/счетчика 0

РХОН

1РН.О

Старший бит приоритета внешнего прерывания 0

После сброса младшие шесть бит устанавливаются в 0, состояние старших - не определено.



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23]