
- •Микроконтроллеры
- •Базовая информация о микроконтроллерах
- •Сущность и назначение микроконтроллера. Семейства микроконтроллеров
- •Состав микроконтроллера
- •Назначение микроконтроллера
- •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)
Задание режима генерации сигнала битами wgm13:0
Биты 4, 3 (WGM13:2) регистра TCCR1B и биты 1, 0 (WGM11:0) регистра TCCR1A управляют последовательностью счета, задают TOP и определяют режим генерации сигнала.
Таблица
Задание режима генерации сигнала битами WGM13:0
№ |
WGM13 |
WGM12 (CTC1) |
WGM11 (PWM11) |
WGM10 (PWM10) |
Режим |
TOP |
Обновление OCR1x |
Установка TOV1 |
0 |
0 |
0 |
0 |
0 |
Normal |
0xFFFF |
немедленное |
MAX |
1 |
0 |
0 |
0 |
1 |
8-бит PCPWM |
0x00FF |
TOP |
BOTTOM |
2 |
0 |
0 |
1 |
0 |
9-бит PCPWM |
0x01FF |
TOP |
BOTTOM |
3 |
0 |
0 |
1 |
1 |
10-бит PCPWM |
0x03FF |
TOP |
BOTTOM |
4 |
0 |
1 |
0 |
0 |
CTC |
OCR1A |
немедленное |
MAX |
5 |
0 |
1 |
0 |
1 |
8-бит FPWM |
0x00FF |
BOTTOM |
TOP |
6 |
0 |
1 |
1 |
0 |
9-бит FPWM |
0x01FF |
BOTTOM |
TOP |
7 |
0 |
1 |
1 |
1 |
10-бит FPWM |
0x03FF |
BOTTOM |
TOP |
8 |
1 |
0 |
0 |
0 |
PFCPWM |
ICR1 |
BOTTOM |
BOTTOM |
9 |
1 |
0 |
0 |
1 |
PFCPWM |
OCR1A |
BOTTOM |
BOTTOM |
10 |
1 |
0 |
1 |
0 |
PCPWM |
ICR1 |
TOP |
BOTTOM |
11 |
1 |
0 |
1 |
1 |
PCPWM |
OCR1A |
TOP |
BOTTOM |
12 |
1 |
1 |
0 |
0 |
CTC |
ICR1 |
немедленное |
MAX |
13 |
1 |
1 |
0 |
1 |
резерв |
- |
- |
- |
14 |
1 |
1 |
1 |
0 |
FPWM |
ICR1 |
BOTTOM |
TOP |
15 |
1 |
1 |
1 |
1 |
FPWM |
OCR1A |
BOTTOM |
TOP |
Устройство захвата (Input Capture Unit)
Устройство захвата (рис.) предназначено для фиксации и выдачи значения временного интервала, прошедшего от начала отсчета до наступления некоторого события. Сигнал о наступлении события принимается по входу ICP1 (Input Capture Pin) или от аналогового компаратора. Каким фронтом принимается сигнал, определяется значением бита ICES1 регистра TCCR1B: 0 — задним фронтом, 1 — передним. Если регистр ICR1 используется как TOP, что определяется битами WGM13:0 регистров TCCR1A и TCCR1B, вход ICP1 отключен, и функция захвата не используется.
Полученное временное значение может быть использовано для протоколирования событий, расчета частоты и других параметров входного сигнала.
Рис. Схема устройства захвата таймера T1
Когда происходит изменение логического уровня на входе ICP1 или на выходе компаратора (Analog Comparator output, ACO), что соответствует наступлению события, значение счетного регистра TCNT1 записывается в регистр захвата ICR1 и устанавливается флаг захвата ICF1 (Input Capture Flag). Если прерывания (I=1) и данное прерывание разрешено (TICIE1=1), то осуществляется переход к обработчику прерывания. Если процессор не успеет прочитать регистр ICR1, следующий сигнал захвата изменит его значение, которое уже будет некорректным, поэтому обработчик прерывания захвата должен прежде всего прочитать этот регистр.
В регистр ICR1 может быть произведена запись процессором только в том случае, если используется режим генерации сигнала, в котором значение ICR1 используется в качестве TOP.
Аналоговый компаратор является источником сигнала захвата, если установлен бит ACIC (Analog Comparator Input Capture) регистра ACSR (Analog Comparator Control and Status Register).
Изменение источника сигнала захвата может привести к установке флага захвата, поэтому он должен быть сброшен после изменения.
Сигнал захвата может быть установлен программно записью необходимого значения в соответствующий входу ICP1 порт.
Подавитель шума представляет собой простой цифровой фильтр, который вносит в цепь сигнала захвата задержку в четыре такта от момента изменения уровня сигнала захвата до изменения значения регистра ICR1 и установки флага захвата ICF1. Подавитель шума включается установкой бита ICNC1 (Input Capture Noise Canceler) регистра TCCR1B.