- •Микроконтроллеры
- •Базовая информация о микроконтроллерах
- •Сущность и назначение микроконтроллера. Семейства микроконтроллеров
- •Состав микроконтроллера
- •Назначение микроконтроллера
- •Cемейства микроконтроллеров
- •Отправная точка. Микроконтроллерi8051
- •Основные характеристики микроконтроллераi8051
- •Назначение выводовi8051
- •Структурная схемаi8051
- •Микроконтроллеры семействаavrкомпанииatmel
- •Общая характеристика архитектуры, системы команд и ассемблераAvr
- •Состав семейства и основные характеристики микроконтроллеровAvr
- •Структура ассемблерного кодаAvr
- •Группы команд микроконтроллеров avr
- •Директивы ассемблераAvr
- •Список директив ассемблераAvr
- •Директива byte
- •Директива cseg
- •Директива db
- •Директива def
- •Директива device
- •Директива dseg
- •Директива dw
- •Директивы macro иEndmacro
- •Директива equ
- •Директива set
- •Микроконтроллер atmega8535
- •Характеристики, назначение выводов и структура микроконтроллера aTmega8535
- •Характеристики микроконтроллера aTmega8535
- •Назначение выводов микроконтроллера aTmega8535
- •Структура микроконтроллера aTmega8535
- •Сброс микроконтроллера aTmega8535. Режимы пониженного энергопотребления. Сигналы запроса внешних прерываний. Регистры управления
- •Сброс микроконтроллера aTmega8535
- •Регистр mcucsr (mcu Control and Status Register)
- •Регистр mcucr (mcu Control Register)
- •Режимы пониженного энергопотребления
- •Форма сигналов запроса внешних прерываний
- •Регистры общего назначения, регистр состояния и указатель стека микроконтроллера aTmega8535
- •Регистры общего назначения
- •Регистр состояния (sreg)
- •Указатель стека
- •Ввод-вывод
- •Регистры и команды ввода-вывода
- •Порты ввода-вывода
- •Прерывания
- •Источники и таблица векторов прерываний
- •Регистр gicr (General Interrupt Control Register)
- •Внешние прерывания
- •Регистр gifr (General Interrupt Flag Register)
- •Таймеры микроконтроллера aTmega8535
- •Общая информация о таймерах микроконтроллера aTmega8535
- •Множество таймеров aTmega8535
- •Регистр timsk (Timer/Counter Interrupt Mask Register)
- •Регистр tifr (Timer/Counter Interrupt Flag Register)
- •Примеры программ работы с таймером
- •Таймер t0
- •Назначение и свойства таймера t0
- •Структура таймера t0
- •Регистры таймера t0
- •Регистр tccr0 (Timer/Counter Control Register)
- •Устройство сравнения таймера t0
- •Режимы работы таймера t0
- •Режим Normal
- •Режим ctc
- •Режим быстрой шим (fastPwMmode)
- •Режим шим с корректировкой фазы (Phase Correct pwm Mode)
- •Таймер t1
- •Назначение и свойства таймера t1
- •Структура таймера t1
- •Регистры таймера t1
- •Регистр tccr1a (Timer/Counter1 Control Register a)
- •Регистр tccr1b (Timer/Counter1 Control Register b)
- •Задание режима генерации сигнала битами wgm13:0
- •Устройство захвата (Input Capture Unit)
- •Режимы работы таймера t1
- •Список режимов работы таймера t1
- •Режим быстрой шим (fast pwm mode) таймера t1
- •Режим шим с корректировкой фазы (Phase Correct pwm Mode) таймера t1
- •Режим шим с корректировкой фазы и частоты (Phase and Frequency Correct pwm Mode) таймера t1
- •Таймер t2
- •Назначение и свойства таймера t2
- •Структура таймера t2
- •Регистры таймера t2
- •Регистр tccr2 (Timer/Counter Control Register)
- •Устройство сравнения таймера t2
- •Режимы работы таймера t2
- •Режим Normal
- •Режим ctc
- •Режим быстрой шим (fast pwm mode)
- •Режим шим с корректировкой фазы (Phase Correct pwm Mode)
- •Асинхронный режим работы таймера t2. Регистр assr (Asynchronous Status Register)
Регистры таймера t2
Таймер T2 содержит следующие регистры:
TCCR2 (Timer/Counter Control Register), регистр управления, определяет тактовый сигнал, задает режимы генерации сигнала и работы выхода;
TCNT2 (Timer/Counter Register), счетный регистр, считает такты входного тактового сигнала;
OCR2 (Output Compare Register), регистр сравнения, содержит значение, которое в каждом такте сравнивается со значением TCNT2, при совпадении сравниваемых значений может быть сгенерировано прерывание или заданный сигнал на выходе OC2;
ASSR (Asynchronous Status Register), регистр, переключающий таймер в асинхронный режим и использующийся при выполнении асинхронных операций.
Все регистры таймера T2 8-битные.
Регистр tccr2 (Timer/Counter Control Register)
Формат регистра TCCR2:
бит 7 — FOC2 (Force Output Compare), не действует в режиме ШИМ, в других режимах установка бита FOC2 приводит к изменению выхода OC2 в соответствии с битами COM21:0, прерывание не генерируется, счетчик не сбрасывается в режиме CTC при использовании OCR2 в качестве TOP, бит FOC2 всегда читается как 0;
биты 3, 6 — WGM21:0 (Waveform Generation Mode), режим генерации сигнала (табл.);
биты 5, 4 — COM21:0 (Compare Match Output Mode), режим работы выхода (табл.);
биты 2-0 — CS22:0 (Clock Select), выбор тактового сигнала (табл.).
Таблица
Задание режима генерации сигнала битами WGM21:0
№ режима |
WGM21 (CTC2) |
WGM20 (PWM2) |
Режим |
TOP |
Обновление OCR2 |
Установка TOV2 |
0 |
0 |
0 |
Normal |
0xFF |
немедленное |
MAX |
1 |
0 |
1 |
PCPWM |
0xFF |
TOP |
BOTTOM |
2 |
1 |
0 |
CTC |
OCR2 |
немедленное |
MAX |
3 |
1 |
1 |
FPWM |
0xFF |
BOTTOM |
MAX |
Здесь:
BOTTOM — минимальное значение счетчика — 0x00;
MAX — максимальное значение счетчика — 0xFF;
TOP — значение, до которого считает счетчик в данном режиме, это может быть MAX или значение регистра OCR2.
Таблица
Задание режима работы выхода OC2 битами COM21:0 в не-ШИМ режиме
№ |
COM21 |
COM20 |
Режим работы выхода |
0 |
0 |
0 |
OC2 отключен |
1 |
0 |
1 |
переключение OC2 на противоположное значение при совпадении |
2 |
1 |
0 |
сброс OC2 при совпадении |
3 |
1 |
1 |
установка OC2 при совпадении |
Таблица
Задание режима работы выхода OC2 битами COM21:0 в режиме быстрой ШИМ (Fast PWM, FPWM)
№ |
COM21 |
COM20 |
Режим работы выхода |
0 |
0 |
0 |
OC2 отключен |
1 |
0 |
1 |
зарезервировано |
2 |
1 |
0 |
сброс OC2 при совпадении, установка при достижении TOP (неинверсный режим) |
3 |
1 |
1 |
установка OC2 при совпадении, сброс при достижении TOP (инверсный режим) |
Таблица
Задание режима работы выхода OC2 битами COM21:0 в режиме ШИМ с корректировкой фазы (Phase Correct PWM, PCPWM)
№ |
COM21 |
COM20 |
Режим работы выхода |
0 |
0 |
0 |
OC2 отключен |
1 |
0 |
1 |
зарезервировано |
2 |
1 |
0 |
сброс OC2 при совпадении при счете вверх, установка при совпадении при счете вниз |
3 |
1 |
1 |
установка OC2 при совпадении при счете вверх, сброс при совпадении при счете вниз |
Таблица
Выбор тактового сигнала битами CS22:0
CS22 |
CS21 |
CS20 |
Источник тактового сигнала |
0 |
0 |
0 |
источник сигнала отсутствует, таймер остановлен |
0 |
0 |
1 |
clk |
0 |
1 |
0 |
clk/8 |
0 |
1 |
1 |
clk/32 |
1 |
0 |
0 |
clk/64 |
1 |
0 |
1 |
clk/128 |
1 |
1 |
0 |
clk/256 |
1 |
1 |
1 |
clk/1024 |
Источник тактового сигнала clk определяется битом AS2 регистра ASSR:
AS2=0: clk — это clkI/O микроконтроллера;
AS2=1: clk — это сигнал внутреннего генератора, подключенного к выводам TOSC1 и TOSC2.