1
]
"РЛ" - НАЧИНАЮЩИМ
Продолжение.
Начало в №1-10/2007
Глава 20. Таймер 2
Как всегда, сначала домашнее за-
дание.
1) Недостаток предложенного спо-
соба ожидания семафора в том, что
точность определения момента его ус-
тановки низкая. Полный цикл опроса
семафора состоит из двух команд: JBC
и JMP, т.е. цикл длится 4 машинных
такта. Значит, максимальная ошибка
определения момента установки сема-
фора может составить 4 такта (если
семафор установится как раз после ис-
полнения команды JBC). Уменьшит эту
ошибку в 2 раза можно как раз вто-
рым предложенным способом.
2) Ожидание момента изменения
уровня сигнала на входе с одновре-
менным контролем значения ячейки
памяти дает заметную погрешность
(особенно для коротких входных им-
пульсов), причины те же, что и в пре-
дыдущем случае - увеличенная дли-
тельность полного цикла опроса. При
предложенном подходе существенно
уменьшить ее нельзя, можно просто
видоизменить реализацию, напри-
мер, использовать тот же принцип се-
мафора. Коренное уменьшение по-
грешности потребует принципиально-
го изменения алгоритма программы
и(или) схемы: отказа от метода опро-
са, применении дополнительной аппа-
ратной поддержки и т.п. Например,
подавая на вход INTO сигнал после де-
ления на 2 дополнительным тригге-
ром, можно использовать вход INTO
для управления работой TimerO
(GATE0=1) - тогда длительность вы-
сокого уровня на входе INTO как раз
будет соответствовать периоду вход-
ного сигнала.
3) Прежде всего, необходимо осоз-
навать, что расчетные и фактические
границы диапазонов частоты будут
отличаться - причина та же самая: по-
грешность измерения. В результате при
одном и том же значении входной час-
тоты, близком к границе диапазонов,
обязательно будет периодическое слу-
чайное “перескакивание” в соседний
диапазон. Расчетные же значения по-
рогов определятся длительностью за-
полнения TimerO до значений 100h и
500h и составят 3906,25 и 781,25 Гц.
Теперь о таймере 2. Он может ис-
пользоваться как обычный таймер или
счетчик внешних событий, при этом его
счетчик всегда 16-битный. В качестве
внешнего входа для счета импульсов
используется порт Р1.0 (сигнал Т2).
Дополнительно Timer2 может рабо-
тать в следующих особых режимах:
- режим захвата
(Capture);
режим
автоперезагрузки
(
Autoreload);
- режим автоперезагрузки с изме-
нением направления счета;
- режим генератора скорости UART;
- режим формирования выходного
сигнала (
Clock-Out).
Timer2 устроен более сложно: поми-
мо собственно счетчика таймера (ре-
гистры ТН2 и TL2) в его состав входит
специальный 16-разрядный регистр
захвата-сравнения RCAP2 (доступ-
ный в виде пары регистров RCAP2L
и RCAP2H). Кроме того, в некоторых
Роман Абраш
г. Новочеркасск
режимах счетчик Timer2
реверсиру-
ется,
т.е. работает не на
сложение,
а
на
вычитание.
Режимы Timer2 зада-
ет регистр T2M0D, а управляет ра-
ботой регистр T2C0N (показаны в
таблицах 21 и 22.
После сброса регистры T2CON и
T2MOD содержат нулевое значение.
Следует отметить, что регистр
T2CON влияет так же на запросы пре-
рываний от третьего внешнего источ-
ника Т2ЕХ, которым является порт Р1.1.
Флаг TR2 используется для вклю-
чения и выключения счетчика. Счетчик
таймера ведет счет при TR2=1, при
TR2=0 счет остановлен.
Флаг TF2 устанавливается при пе-
реполнении счетчика (но не во всех ре-
жимах) и служит источником запроса
прерывания по переполнению.
Флаг EXF2 так же служит источни-
ком запроса прерывания от Timer2, но
устанавливается в различных случаях
в различных режимах (об этом далее).
Флаг EXEN2 определяет, будет ли
использован внешний вход Т2ЕХ или
нет. Если EXEN2=0, то уровень сигна-
ла на Т2ЕХ никак не влияет на работу
таймера.
Флаг С/Т2 управляет режимом ра-
боты:
счетчик событий
или
таймер,
аналогично соответствующим флагам
С/ТО и С/Т1 ранее рассмотренных тай-
меров. ПриСЯ2=1 счетчик Timer2 счи-
тает импульсы с внешнего входа Т2
(порт Р1.0), а при С/Т2=0 - внутренний
Таблица 21. Регистр T2MOD
Разряд
7
6
5
4
3
2
1
0
Ф л аг
-
-
-
-
-
Т 2 0 Е
DCEN
Таблица 22. Регистр T2CON
Разряд
7
6
5
4
3
2
1
0
Ф л аг
TF2
EXF2
R C LK
TC LK
EXEN2
TR2
С/Т2
CP/RL2
Таблица 23. Режимы работы таймера
Ns
Р еж им
T 2 C 0 N
T2M O D
R C LK или T C L K
EXEN 2
С /Т2
C P/R L2
Т 2 0 Е
D CEN
1
Тайм ер-счетчик
0
0
0/1
1
0
0
2
Захват
0
1
0/1
1
0
0
3
А в топерезагрузка
0
0/1
0/1
0
0
0
4
А в топерезагрузка с изм енением направления счета
0
X
0/1
0
1
5
Генератор скорости иАІТТ
1
0/1
0/1
X
X
X
6
Ф орм ирование вы ходного сигнала
X
0/1
0
0
1
0
U Радиолюбитель - I 1/2007
предыдущая страница 38 Радиолюбитель 2007-11 читать онлайн следующая страница 40 Радиолюбитель 2007-11 читать онлайн Домой Выключить/включить текст