Общие сведения о таймерах микроконтроллера ATmega16
Модель ATmega16 имеет в своем составе три таймера-счетчика с условными именами Т0, Т1 и Т2. По функциональности 8-разрядные таймеры Т0 и Т2 аналогичны. Таймеры в процессе своей работы используют некоторые внешние выводы микроконтроллера (см. табл. 25.1) в режиме альтернативных функций. Для этого соответствующие линии портов должны быть сконфигурированы.
При переполнении таймеров-счетчиков формируются сигналы прерываний, которые могут быть обслужены микроконтроллером. Для разрешения/запрещения прерываний от таймеров предназначен регистр TIMSK (табл. 27.1). Для разрешения прерывания указанный флаг должен быть установлен в «1» (при обязательной установке в «1» флага I регистра SREG).
Таблица 27.1.
Назначение разрядов регистра TIMSK
Название
|
Бит
|
Описание флагов разрешения прерываний
|
OCIE2
|
7
|
По событию «Совпадение» таймера-счетчика T2
|
TOIE2
|
6
|
По переполнению таймера-счетчика T2
|
TICIE1
|
5
|
По событию «Захват» таймера-счетчика T1
|
OCIE1A
|
4
|
По событию «Совпадение А» таймера-счетчика T1
|
OCIE1A
|
3
|
По событию «Совпадение В» таймера-счетчика T1
|
TOIE1
|
2
|
По переполнению таймера-счетчика T1
|
OCIE0
|
1
|
По событию «Совпадение» таймера-счетчика T0
|
TOIE0
|
0
|
По переполнению таймера-счетчика T0
|
Для индикации наступления прерываний от таймеров Т0,Т1 и Т2 предназначен регистр TIFR (табл. 27.2.). Биты этого регистра устанавливаются аппаратно при появлении соответствующих прерываний, а проверены могут быть аппаратно при разрешении прерываний через регистр TIMSK или программно при запрете обработки прерываний.
Таблица 27.2.
Назначение разрядов регистра TIFR фиксации прерываний
Название
|
Бит
|
Описание флагов прерываний
|
OCF2
|
7
|
По событию «Совпадение» таймера-счетчика T2
|
TOV2
|
6
|
По переполнению таймера-счетчика T2
|
ICF1
|
5
|
По событию «Захват» таймера-счетчика T1
|
OCF1A
|
4
|
По событию «Совпадение А» таймера-счетчика T1
|
OCF1B
|
3
|
По событию «Совпадение В» таймера-счетчика T1
|
TOV1
|
2
|
По переполнению таймера-счетчика T1
|
OCF0
|
1
|
По событию «Совпадение» таймера-счетчика T0
|
TOV0
|
0
|
По переполнению таймера-счетчика T0
|
|