- •Микроконтроллеры
- •Базовая информация о микроконтроллерах
- •Сущность и назначение микроконтроллера. Семейства микроконтроллеров
- •Состав микроконтроллера
- •Назначение микроконтроллера
- •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)
Регистр tccr1a (Timer/Counter1 Control Register a)
Формат регистра TCCR1A:
биты 7, 6 — COM1A1:0 (Compare Match Output Mode for Channel A), режим работы выхода OC1A (табл.);
биты 5, 4 — COM1B1:0 (Compare Match Output Mode for Channel B), режим работы выхода OC1B (табл.);
биты 3, 2 — FOC1A/B (Force Output Compare for Channel A/B), не действует в режимах ШИМ, в других режимах установка FOC1A/B приводит к изменению выхода OC1A/OC1B в соответствии с битами COM1A1:0/COM1B1:0, прерывание не генерируется, счетчик не сбрасывается в режиме CTC, биты FOC1A/B всегда читаются как нули;
биты 1, 0 — WGM11:0 (Waveform Generation Mode), режим генерации сигнала (табл.).
Таблица
Задание режима работы выхода OC1A/OC1B битами COM1A1:0/COM1B1:0 в не-ШИМ режиме
№ режима |
COM1A1/ COM1B1 |
COM1A0/ COM1B0 |
Режим работы выхода |
0 |
0 |
0 |
OC1A/OC1B отключен |
1 |
0 |
1 |
переключение OC1A/OC1B на противоположное значение при совпадении |
2 |
1 |
0 |
сброс OC1A/OC1B при совпадении |
3 |
1 |
1 |
установка OC1A/OC1B при совпадении |
Таблица
Задание режима работы выхода OC1A/OC1B битами COM1A1:0/COM1B1:0 в режиме быстрой ШИМ (FPWM)
№ режима |
COM1A1/ COM1B1 |
COM1A0/ COM1B0 |
Режим работы выхода |
0 |
0 |
0 |
OC1A/OC1B отключен |
1 |
0 |
1 |
WGM13:0=15: переключение OC1A на противоположное значение при совпадении, OC1B отключен, для остальных значений WGM13:0 OC1A/OC1B отключен |
2 |
1 |
0 |
сброс OC1A/OC1B при совпадении, установка при достижении TOP (неинверсный режим) |
3 |
1 |
1 |
установка OC1A/OC1B при совпадении, сброс при достижении TOP (инверсный режим) |
Таблица
Задание режима работы выхода OC1A/OC1B битами COM1A1:0/COM1B1:0 в режиме ШИМ с корректировкой фазы (PCPWM) или фазы и частоты (PFCPWM)
№ режима |
COM1A1/ COM1B1 |
COM1A0/ COM1B0 |
Режим работы выхода |
0 |
0 |
0 |
OC1A/OC1B отключен |
1 |
0 |
1 |
WGM13:0=9 или 14: переключение OC1A на противоположное значение при совпадении, OC1B отключен, для остальных значений WGM13:0 OC1A/OC1B отключен |
2 |
1 |
0 |
сброс OC1A/OC1B при совпадении при счете вверх, установка при совпадении при счете вниз |
3 |
1 |
1 |
установка OC1A/OC1B при совпадении при счете вверх, сброс при совпадении при счете вниз |
Регистр tccr1b (Timer/Counter1 Control Register b)
Формат регистра TCCR1B:
бит 7 — ICNC1 (Input Capture Noise Canceler), включает устройство подавления шума, которое фильтрует сигнал на входе ICP1, задерживая его на четыре такта;
бит 6 — ICES1 (Input Capture Edge Select), если равен 0, сигнал на входе ICP1 детектируется по заднему фронту, если 1 — по переднему фронту;
бит 5 — зарезервирован;
биты 4, 3 — WGM13:2 (Waveform Generation Mode), режим генерации сигнала (табл.);
биты 2-0 — CS12:0 (Clock Select), выбор входного тактового сигнала (табл.).
Таблица
Выбор входного тактового сигнала битами CS12:0
CS12 |
CS11 |
CS10 |
Источник входного тактового сигнала |
0 |
0 |
0 |
источник сигнала отсутствует, таймер остановлен |
0 |
0 |
1 |
clkI/O |
0 |
1 |
0 |
clkI/O/8 |
0 |
1 |
1 |
clkI/O/64 |
1 |
0 |
0 |
clkI/O/256 |
1 |
0 |
1 |
clkI/O/1024 |
1 |
1 |
0 |
сигнал на входе T1, принимается по заднему фронту |
1 |
1 |
1 |
сигнал на входе T1, принимается по переднему фронту |
Если выбран режим с внешним источником, сигнал на входе T1 переключит счетчик, даже если он сконфигурирован как выход. Это свойство предоставляет возможность программного управления счетом.