October 17 2017 05:06:36
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Таймер-счетчик временной базы
МОДУЛЬ ВНЕШНЕЙ МАГИСТРАЛИ

Таймер-счетчик временной базы допускает программную установку периода работы. Если не предпринимать специальных действий при инициализации процессора событий, то коэффициент счета КСЧ счетчика временной базы будет равен 216, т.е. счетчик проходит полный цикл от начального состояния кода $0000 до конечного состояния кода $FFFF. Если таймер-счетчик находится в состоянии $FFFF, то при поступлении на его вход очередного тактового импульса наступает переполнение таймера-счетчика. Счетчик переходит в состояние $0000, одновременно устанавливается флаг переполнения TOF. Переполнение счетчика не оказывает влияния на его работу: при поступлении следующих тактовых импульсов код в счетчике продолжает нарастать. Коэффициент счета таймера-счетчика может быть изменен посредством записи кода желаемого КСЧ в двухбайтовый регистр периода TxMOD (TxMODH и TxMODL - старший и младший байты этого регистра). Вход сброса счетчика подключен к выходу цифрового компаратора (Рис. 3.43), на один из входов которого поступает код текущего состояния таймера-счетчика, а на другой - код КСЧ, записанный в регистре TxMOD. Если эти коды равны, то при поступлении следующего тактового импульса счетчик сбрасывается в 0 и флаг переполнения TOF устанавливается в 1. Диапазон допустимых значений КСЧ составляет от 1 до (216-1). Таким образом, дискретность регулирования периода таймера-счетчика, который в режиме ШИМ образует период ШИМ-сигнала, составляет 16 бит.

Полезный совет! Обратите внимание: период работы счетчика составляет (КСЧ+1)/fТАКТ. Поэтому, чтобы получить период, равный, например, пяти периодам тактовой частоты, в регистр TxMOD следует занести код 4.

Предусмотрена возможность пуска и останова таймера-счетчика под управлением программы (бит TSTOP в регистре управления таймером-счетчиком TxSC). Кроме того, счетчик и программируемый делитель частоты могут быть одновременно сброшены посредством установки в 1 бита TRST в регистре TxSC. При этом все триггеры таймера-счетчика установятся в 0, а программируемый делитель частоты будет настроен на режим единичного коэффициента деления частоты внутренней шины МК. Заметьте, что бит TRST не останавливает работу таймера-счетчика, с приходом очередного тактового импульса состояние счетчика станет равным $0001.

Полезный совет! Будьте внимательны: каждый сброс таймера счетчика вызывает изменение частоты и/или источника тактирования. Поэтому разработчики МК семейства НС08 советуют производить сброс таймера-счетчика в следующем порядке:

* Остановите таймер-счетчик (бит TSOP=1).

* Выполните операцию сброса таймера-счетчика (бит TRST = 1).

* Переинициализируйте биты PS2...PS0 регистра TxSC, которые определяют источник и частоту тактирования.

* Разрешите счет таймера-счетчика.

Код таймера-счетчика в процессе счета может быть считан прикладной программой при обращении к регистрам текущего кода ТхСNТН и TxCNTL. Операцию чтения обязательно проводите в следующем порядке: сначала регистр старшего байта текущего кода ТхСNТН, а затем регистр младшего байта текущего кода TxCNTL. При обращении к регистру старшего байта код таймера-счетчика автоматически копируется в указанную регистровую пару. Поэтому, несмотря на то, что операции чтения старшего и младшего байтов разнесены во времени, Вы прочитаете состояние таймера-счетчика в момент обращения к регистру старшего байта ТхСNТН. Такое решение предотвращает получение ложной информации, в случае если частота тактирования таймера-счетчика высока, и по этой причине в моменты обращения к регистрам TxCNTH и TxCNTL состояния счетчика различаются. Однако нельзя допускать ситуацию, при которой после прочтения старшего байта младший прочитан не будет. Повторное чтение старшего байта не сопровождается защелкиванием текущего кода таймера-счетчика в регистрах TxCNTH и TxCNTL

При переполнении таймера-счетчика устанавливается флаг переполнения ТОР в регистре управления TxSC и генерируется запрос на прерывание, если бит разрешения прерывания TOIE установлен в 1, т.е. прерывания по переполнению таймера-счетчика разрешены.

Для управления таймером-счетчиком модуля TIM08 предусмотрены пять регистров специальных функций:

TxSC        - регистр управления таймером-счетчиком "х", где "х" -имя модуля процессора событий для МК семейства НС08.

TxMODH - регистр периода таймера-счетчика (старший байт).

TxMODL  - регистр периода таймера-счетчика (младший байт).

TxCNTH   - регистр текущего значения таймера-счетчика (старший байт).

TxCNTL   - регистр текущего значения таймера-счетчика (младший байт).

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.03 секунд 2,254,355 уникальных посетителей