|
Микроконтроллеры ATmega603/103 оснащены тремя таймерами/счетчиками общего назначения - двумя 8-разрядными и одним 16-разрядным. Таймер/счетчик0, в дополнение к обычному режиму, может тактироваться асинхронно от внешнего генератора. Этот генератор оптимизирован под использование кварцевого кристалла на частоту 32768 кГц, что позволяет использовать таймер/счетчик0 как часы реального времени (Real Time Clock - RTC).
Таймер/счетчик0 оснащен своим собственным предварительным делителем. Таймеры/счетчики 1 и 2 используют выходы ступеней деления общего 10-разрядного предварительного делителя. Эти два таймера/счетчика можно использовать как таймеры с встроенной временной базой или как счетчики, переключаемые по состоянию на внешнем выводе.
Регистр управления таймером/счетчиком 0 - TCCR0 - (The Timer/Counter0 Control Register)
Биты |
| |||||||||
$33 ($53) |
| TCCR0 | ||||||||
Чтение/Запись |
| |||||||||
Начальное состояние |
|
Регистр управления таймером/счетчиком 2 - TCCR2 - (The Timer/Counter2 Control Register)
Биты |
| |||||||||
$25 ($45) |
| TCCR2 | ||||||||
Чтение/Запись |
| |||||||||
Начальное состояние |
|
Таблица 10. Выбор режима сравнения
COMn1 | COMn0 | Описание |
Таймер/счетчикn отсоединен от выходного вывода OCn/PWMn | ||
Переключение выходной линии OCn/PWMn | ||
Очистка выходной линии OCn/PWMn (установка в состояние 0) | ||
Установка выходной линии OCn/PWMn (установка в состояние 1) |
Примечания: n = 0 или 2.
В ШИМ режиме функции этих битов отличаются. Подробное описание приведено в таблице 13. При изменении битов COMn1/COMn0 прерывание по сравнению выхода должно быть запрещено очисткой его бита разрешения прерывания в регистре TIMSK. В противном случае при изменении состояния бита может произойти прерывание.
Таблица 11. Выбор коэффициента деления предварительного делителя таймера/счетчика0
CS02 | CS01 | CS00 | Описание |
Таймер/счетчик0 остановлен | |||
TCK0 | |||
TCK0 / 8 | |||
TCK0 / 32 | |||
TCK0 / 64 | |||
TCK0 / 128 | |||
TCK0 / 256 | |||
TCK0 / 1024 |
Таблица 12. Выбор коэффициента деления предварительного делителя таймера/счетчика2
CS22 | CS21 | CS20 | Описание |
Таймер/счетчик0 остановлен | |||
CK | |||
CK / 8 | |||
CK / 64 | |||
CK / 256 | |||
CK / 1024 | |||
Внешний вывод PD7(T2), падающий фронт | |||
Внешний вывод PD7(T2), нарастающий фронт |
Условие Stop обеспечивает реализацию функции разрешения/запрещения таймера.
Режим деления CK реализуется непосредственным делением тактовой частоты CK. Если для тактирования таймера/счетчика 2 используется внешний источник, то переключения на выводе PD7/(T2) будут воздействовать на счетчик, даже если этот вывод сконфигурирован как выход.
Таймер/счетчик 0 и 2 - TCNT 0 2 - (Timer/Counter 0 2)
Таймер/счетчик0 - TCNT0 - (Timer/Counter0)
Биты |
| |||||||||
$32 ($42) |
| TCNT0 | ||||||||
Чтение/Запись |
| |||||||||
Начальное состояние |
|
Таймер/счетчик2 - TCNT2 - (Timer/Counter2)
Биты |
| |||||||||
$24 ($44) |
| TCNT2 | ||||||||
Чтение/Запись |
| |||||||||
Начальное состояние |
|
Содержимое этих 8-разрядных регистров является состоянием таймеров/счетчиков. Оба таймера/счетчика реализованы как счетчики по нарастанию или реверсивные (в ШИМ режиме) счетчики с возможностью чтения/записи. Если в таймер/счетчик записано некоторое значение и выбран источник тактового сигнала, то он продолжит счет с записанного значения с тактовой частотой счетчика.
Дата добавления: 2015-07-18; просмотров: 67 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Время отклика на прерывание | | | Регистры сравнения выхода таймеров/счетчиков |