"РЛ" - НАЧИНАЮЩИМ
счетчика в него записывается значение
из ЯСАР2.
Прерывания по переполне-
нию счетчика в
э
том режиме не возни-
кают (флаг ТИ2 не задействован!).
Как
при этом задается скорость идЯТ, мы
рассмотрим позднее, когда этим самым
идЯТ и займемся ©.
В режиме генератора скорости
идЯТ прерывания от внешнего запро-
са Т2ЕХ формируются
независимо от
таймера:
если установлен флаг ЕХЕ№,
то переход сигнала на входе Т2ЕХ из 1
в 0 приводит к установке ЕХЕ2 и фор-
мированию запроса прерывания.
Последний режим Итег2
- р е ж и м
ф о р м и р о в а н и я в н е ш н е г о с и г н а л а .
От предыдущего режима (с которым
он может быть совмещен) он отлича-
ется только тем, что внешний порт
Р1.0 работает как
выход
(т.е. счет вне-
шних импульсов невозможен, флаг С/
Т2 всегда сброшен), и на нем форми-
руются выходные прямоугольные им-
пульсы, причем изменение уровня вы-
ходного сигнала происходит в момен-
ты переполнения счетчика. Частота
формируемого меандра определяет-
ся формулой
р
_
^ г о
4 (6 5 5 3 6 -
Я С А Р 2 ) ’
где Р01Л
- частота формируемого сигна-
ла,
Бм - частота кварцевого генерато-
ра,
ПСАР2 - число, хранящееся в ре-
гистре ПСАР2
Как видите, Итег2 серьезно отли-
чается от двух других таймеров. Бла-
годаря его дополнительным режимам
появляются новые возможности как по
обработке внешних сигналов, так и по
управлению временем внутри програм-
мы. Некоторые варианты использова-
ния Птег2 мы вскоре рассмотрим, а ос-
тальные, надеюсь, со временем вы ос-
воите самостоятельно.
Глава 21. Пример
использования таймера № 2
Изучение таймеров 0 и 1 микрокон-
троллера мы проводили на примере
программного анализа периода вход-
ного сигнала, причем столкнулись с
проблемой обеспечения точности изме-
рения, которую решить так и не смог-
ли: единственно возможный вариант -
метод программного опроса состояния
входного сигнала, - не позволяет это
сделать. Изучив таймер N22, мы видим,
что один из его режимов очень удачно
подходит для решения нашей пробле-
мы - это режим захвата.
В самом деле, если подать входной
сигнал на вход Т2ЕХ и настроить
"Птег2 на работу в режиме захвата, то
при каждом переходе из 1 в 0 входно-
го сигнала в регистр ЧСАР2 будет пе-
реписываться текущее значение счет-
чика "Птег2, и будет формироваться
запрос на прерывание по захвату. Оче-
видно, что захват будет происходить
как раз в моменты, определяющие пе-
риод входного сигнала. Нам останет-
ся только вычислить разность между
очередным захваченным значением и
предыдущим, чтобы получить практи-
чески абсолютно точное значение пре-
дыдущего периода входного сигнала
- и все!
L E D l
e q u
Р 1 . 7
L E D 2
e q u
Р 1 . 4
L E D 3
e q u
P I . 1
; о п и с ы в а т ь в х о д Т 2 Е Х н е н а д о ,
в M C S t u d io э т а к о н с т а н т а о п р е д е л е н а
d s e g a t 1 0 h
; п р е д ы д у щ е е з н а ч е н и е R C A P 2
0 1 d R _ L :
d s
1
; м л . б а й т
0 1 d R _ H :
d s
1
; с т . б а й т
; р а с с ч и т а н н ы й п е р и о д
P L :
d s
1
; м л . б а й т
P H :
d s
1
; с т . б а й т
; с ч е т ч и к п е р е п о л н е н и й т а й м е р а
O v r :
d s
1
S t a c k :
c s e g
Все, да не все, нам еще надо учесть
возможность переполнения счетчика
таймера, так же как и в предыдущем
примере. С применением Т1тег2 необ-
ходимости в какой-либо синхронизации
нет, так как в самом худшем случае (при
отсутствии входного сигнала) перепол-
нение счетчика наступит чуть более чем
через 65 миллисекунд, а при наличии
сигнала будет происходить захват, при-
чем гораздо чаще. Это дает гарантию,
что мы будем воспринимать реакцию
программы, как мгновенную, т.е. запаз-
дывание изменения свечения светоди-
одов относительно изменения входно-
го сигнала заметно не будет.
Разумеется, и в прошлом примере
можно было поступить так же, т.е. не
выполнять привязку моментов пере-
ключения светодиодов к определенным
временным интервалам, но вы помни-
те, что принятый тогда подход был выб-
ран с целью освоения метода семафо-
ров, а не продиктован реальной необ-
ходимостью. Отказ от использования
семафоров в прошлом примере немно-
го повысил бы точность измерения пе-
риода сигнала, так как отпала бы необ-
ходимость в одной команде внутри цик-
ла опроса состояния входа. Если у вас
появится желание, вы можете самосто-
ятельно переделать прошлую програм-
му по-новому, а сейчас ознакомьтесь с
новой программой, использующей ре-
жим захвата Птег
2
. Кстати, в схеме ус-
тройства придется сделать минималь-
ные изменения: сигнал с коллектора
транзистора \/Т1 нужно подавать на
Р 1.1, а не на Р3.2 (надеюсь, причины
этого вам ясны).
40
Радиолюбитель - 1
1 /2 0 0 7
предыдущая страница 40 Радиолюбитель 2007-11 читать онлайн следующая страница 42 Радиолюбитель 2007-11 читать онлайн Домой Выключить/включить текст