Справочник по микроконтроллеру ATMEGA16 (1058371), страница 4
Текст из файла (страница 4)
Управление таймерами
Регистр 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 |
Регистр 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 |
Регистр TCCR0(2)
Бит | Название | Описание назначения | ||||||||||||||||||||
7 | FOCх | Принудительное изменение состояния вывода OCх в режимах Normal и CTC (зависит от битов COMх0 и COMх1) | ||||||||||||||||||||
6,3 | CTCх, PWMх | Выбор режима работы таймера-счетчика
| ||||||||||||||||||||
5,4 | COMх1, COMх0 | Режим работы блока сравнения. Определяет состояние вывода OC0 (ОС2) при наступлении события «Совпадение». Для режимов Normal и CTC доступны такие состояния
| ||||||||||||||||||||
2-0 | CSх2… | Управление тактовым сигналом. Эти биты выбирают один из выходов предделителя для получения счетных импульсов, а также определяют старт и останов таймеров. |
Выбор источника тактового сигнала для таймеров Т0 и Т2
CSх2 | CSх1 | CSх0 | Источник тактового сигнала |
Для таймера Т0 | |||
0 | 0 | 0 | Таймер-счетчик Т0 остановлен |
0 | 0 | 1 | Системный тактовый сигнал CLKsys |
0 | 1 | 0 | CLKsys / 8 |
0 | 1 | 1 | CLKsys / 64 |
1 | 0 | 0 | CLKsys / 256 |
1 | 0 | 1 | CLKsys / 1024 |
1 | 1 | 0 | Внешний вывод Т0, счет по спаду импульса (1→0) |
1 | 1 | 1 | Внешний вывод Т0, счет по фронту импульса (0→1) |
Для таймера Т2 | |||
0 | 0 | 0 | Таймер-счетчик Т2 остановлен |
0 | 0 | 1 | Системный тактовый сигнал CLKsys (при AS2=0) или Дополнительный кварцевый резонатор (при AS2=1) |
0 | 1 | 0 | CLKsys / 8 (при AS2=0) или CLKosc / 8 (при AS2=1) |
0 | 1 | 1 | CLKsys / 32 (при AS2=0) или CLKosc / 32 (при AS2=1) |
1 | 0 | 0 | CLKsys / 64 (при AS2=0) или CLKosc / 64 (при AS2=1) |
1 | 0 | 1 | CLKsys / 128 (при AS2=0) или CLKosc / 128 (при AS2=1) |
1 | 1 | 0 | CLKsys / 256 (при AS2=0) или CLKosc / 256 (при AS2=1) |
1 | 1 | 1 | CLKsys /1024 (при AS2=0) или CLKosc /1024 (при AS2=1) |
Настройка поведения вывода OC0 (OC2) в режиме FastPWM
COMх1 | COM0х0 | Описание состояния вывода OC0 (ОС2) |
0 | 0 | Таймер-счетчик Т0 (Т2) отключен от вывода OC0 (ОС2) |
0 | 1 | Зарезервировано и не используется |
1 | 0 | Вывод сбрасывается в «0» при достижении равенства регистров TCNTх и OCRх. Устанавливается в «1» при достижении TCNTх = 0x00 (неинвертированный ШИМ) |
1 | 1 | Вывод устанавливается в «1» при достижении равенства регистров TCNTх и OCRх. Сбрасывается в «0» при достижении TCNTх = 0x00 (инвертированный ШИМ) |
Регистры TCCR1А и TCCR1B
Принципы управления таймером Т1 через регистр TCCR1А
Бит | Название | Описание назначения | |||||||||||||||
7,6 | COM1A1, | Режим работы блока сравнения А. Разряды определяют поведение вывода OC1A при наступлении события «Совпадение» в зависимости от режима работы таймера. Для режимов Normal и CTC доступны такие состояния
| |||||||||||||||
5,4 | COM1B1, COM1B0 | Режим работы блока сравнения B. Определяет состояние вывода OC1B при наступлении события «Совпадение». Для режимов Normal и CTC доступны такие состояния
| |||||||||||||||
3,2 | FOC1A, FOC1B | Принудительное изменение состояния выводов OC1A и OC1B в режимах Normal и CTC (зависит от битов COMnxi) | |||||||||||||||
1,0 | WGM1, WGM0 | Режим работы таймера счетчика Т1. Используются совместно с битами WGM3, WGM2 регистра TCCR1B – см. табл. 27.8 |
Принципы управления таймером Т1 через регистр TCCR1B
Бит | Название | Описание назначения |
7 | ICNC1 | Управление схемой подавления помех блока захвата |
6 | ICES1 | Выбор активного фронта сигнала захвата |
5 | – | Не используется |
4,3 | WGM3, WGM2 | Режим работы таймера счетчика Т1. Используются совместно с битами WGM1, WGM0 регистра TCCR1А – см. табл. 3.11 |
2…0 | SC12… | Управление тактовым сигналом. Разряды определяют источник тактового сигнала для таймера Т1. Настройка соответствует табл.27.4 (как для таймера Т0). |
Выбор режима работы таймера Т1
WGM13 | WGM12 | WGM11 | WGM10 | Режим работы | Модуль |
0 | 0 | 0 | 0 | Normal, 16-разрядный счет | $FFFF |
0 | 0 | 0 | 1 | Phase correct PWM, 8-разрядный | $00FF |
0 | 0 | 1 | 0 | Phase correct PWM, 9-разрядный | $01FF |
0 | 0 | 1 | 1 | Phase correct PWM, 10-разрядный | $03FF |
0 | 1 | 0 | 0 | CTC (сброс при совпадении) | OCR1A |
0 | 1 | 0 | 1 | Fast PWM, 8-разрядный | $00FF |
0 | 1 | 1 | 0 | Fast PWM, 9-разрядный | $01FF |
0 | 1 | 1 | 1 | Fast PWM, 10-разрядный | $03FF |
1 | 0 | 0 | 0 | Phase and Frequency Correct PWM | ICR1 |
1 | 0 | 0 | 1 | Phase and Frequency Correct PWM | OCR1A |
1 | 0 | 1 | 0 | Phase correct PWM | ICR1 |
1 | 0 | 1 | 1 | Phase correct PWM | OCR1A |
1 | 1 | 0 | 0 | CTC (сброс при совпадении) | ICR1 |
1 | 1 | 0 | 1 | Зарезервировано | – |
1 | 1 | 1 | 0 | Fast PWM | ICR1 |
1 | 1 | 1 | 1 | Fast PWM | OCR1A |