Разрядный регистр захвата входа c доступом по чтению ICR1

Лекция 12

12.1. Управляющий регистр A таймера/счетчика 1-TCCR1A

12.2. Управляющий регистр B таймера/счетчика 1 – TCCR1B

12.3. 16-разрядный регистр данных T/C1 – TCNT1H и TCNT1L

12.4. 16-разрядные регистры сравнения выхода c доступом по чтению и записи OCR1AH и OCR1AL

разрядный регистр захвата входа c доступом по чтению ICR1

12.1. Управляющий регистр A таймера/счетчика 1-TCCR1A

На рис. 3.7 изображен управляющий регистр A таймера/счетчика 1.

$2F(4F)

биты 7 6 5 4 3 2 1 0

COM1A1 COM1A0 COM1B1 COM1B0 - - PWM11 PWM10

Доступ Чт/Зп Чт/Зп Чт/Зп Чт/Зп Чт Чт Чт/Зп Чт/Зп Нач.состояние 0 0 0 0 0 0 0 0

Рис. 3.7. Управляющий регистр A таймера/счетчика 1

Биты 7, 6 – COM1A1, COM1A0; – режим 1 A сравнения выхода.

Управляющие биты COM1A1 и COM1A0 определяют характер сигнала выхода, следующего за совпадением при сравнении таймера/счетчика 1. Сигнал выхода поступает на вывод OC1A (Output Compare A). Поскольку это альтернативная функция порта I/O, то соответствующий бит управления направлением должен быть установлен в 1 (вывод работает на выход). Конфигурирование управления представлено в табл. 3.5.

Биты 5, 4 – COM1B1, COM1B0; –режим 1 B сравнения выхода.

Управляющие биты COM1B1 и COM1B0 определяют характер сигнала выхода, следующего за совпадением при сравнении таймера/счетчика 1. Сигнал выхода поступает на вывод OC1B (Output CompareB). Поскольку это альтернативная функция порта I/O, то соответствующий бит управления направлением должен быть установлен в 1 (вывод работает на выход). Конфигурирование управления представлено в табл. 3.5.

Таблица 3.5. Выбор режима сравнения 1

COM1X1 COM1X0 Описание
Таймер/счетчик 1 отключен от вывода выхода OC1X
Переключение выходной линии OC1X
Очистка выходной линии OC1X (в 0)
Установка выходной линии OC1X (в 1)

Примечание. X = А или B.

Таблица 3.6

Настройка режима ШИМ

PWM1 PWM1 Описание
Работа таймера/счетчика 1 в режиме ШИМ запрещена
Работа таймера/счетчика 1 в 8-разрядном режиме ШИМ
Работа таймера/счетчика 1 в 9-разрядном режиме ШИМ
Работа таймера/счетчика 1 в 10-разрядном режиме ШИМ

В режиме ШИМ функции этих битов различаются. Подробное описание приведено в табл. 3.6.

Биты 3..2 – зарезервированные биты.

Эти биты в микроконтроллерах AT90S4434/8535 зарезервированы и при считывании всегда будут 0.

Биты 1..0 – PWM11, PWM10: – биты выбора режима ШИМ.

Данные биты определяют установку режима ШИМ, как это показано в табл. 3.6.

12.2. Управляющий регистр B таймера/счетчика 1 – TCCR1B

На рис. 3.8 изображен управляющий регистр В таймера/счетчика 1.

$2E(4E)

биты 7 6 5 4 3 2 1 0

ICNC1 ICES1 - - CTC1 CS12 CS11 CS10

Доступ Чт/Зп Чт/Зп Чт Чт Чт/Зп Чт/Зп Чт/Зп Чт/Зп Нач.состояние 0 0 0 0 0 0 0 0

Рис. 3.8. Управляющий регистр В таймера/счетчика 1

Бит 7 – ICNC1: – установка режима подавления шума на входе захвата 1.

При сброшенном в состояние 0 бите ICNC1 функция подавления шума входного триггера захвата запрещена. Вход захвата переключается по первому нарастающему/падающему фронту, поступившему на вывод входа/захвата (ICP).

При установленном в состояние 1 бите ICNC1 выполняются четыре последовательных опроса состояния вывода (ICP) и все четыре выборки должны иметь одинаковый (высокий/низкий), определяемый битом ICES1, уровень. Частота опроса соответствует частоте XTAL

Бит 6 – ICES1: – выбор фронта срабатывания на входе захвата 1.

При сброшенном в состояние 0 бите ICES1 содержимое таймера/счетчика 1 по падающему фронту на выводе входа захвата ( ICP) пересылается в регистр захвата входа ICR1. При установленном в 1 бите ICES1 содержимое таймера/счетчика 1 пересылается в регистр захвата входа ICR1 по нарастающему фронту на выводе входа захвата ( ICP).

Биты 5, 4 – зарезервированные биты.

Эти биты в микроконтроллерах AT90S4434/8535 зарезервированы и при считывании всегда будут 0.

Бит 3 – CTC1: – очистка таймера/счетчика 1 по совпадению.

При установленном в состояние 1 бите CTC1 таймер/счетчик 1 сбрасывается в состояние $0000 в течение тактового цикла, следующего за совпадением при сравнении. Если бит CTC1 очищен, таймер/счетчик 1 продолжает отсчет и не реагирует на совпадение при сравнении. Поскольку совпадение при сравнении детектируется в течение тактового цикла CPU, следующего за совпадением, то поведение функции будет отличаться при установке коэффициента предварительного деления таймера/счетчика большем 1. При коэффициенте предварительного деления 1 и установленном в регистре сравнения состоянии C таймер будет считать в соответствии с установкой CTC1:

... | C-2 | C-1 | C | 0 | 1 |...

При установленном коэффициенте предварительного деления 8 таймер будет считать подобно:

... | C-2, C-2, C-2, C-2, C-2, C-2, C-2, C-2 | C-1, C-1, C-1, C-1, C-1, C-1, C-1, C-1

| C, 0, 0, 0, 0, 0, 0, 0 |1,1,1,1,1,1,1,1|...

В ШИМ режиме состояние бита CTC1 значения не имеет.

Биты 2,1,0 – CS12, CS11, CS10: – выбор источника тактовой частоты.

Установкой состояния данных битов производится выбор источника тактового сигнала (в том числе коэффициента предварительного деления). Stop выполняет функцию разрешения/запрещения таймера/счетчика 1. При использовании внешнего тактирования необходимо выполнить соответствующие установки в регистре управления направлением (очистка переводит вывод в режим входа). Режимы настройки битов приведены в табл. 3.7.

Таблица 3.7

Выбор источника тактовой частоты

cs12 cs11 cs10 Описание
Стоп
СK
СK/8
СK/64
СK/256
СK/1024
Внешний вход Т1, падающий фронт
Внешний вход Т1, нарастающий фронт

12.3.16-разрядный регистр данных T/C1 – TCNT1H и TCNT1L

На рис. 3.9 изображен 16-разрядный регистр данных таймера/счетчика 1. 16-разрядный регистр содержит текущее значение 16-разрядного таймера/счетчика 1. Для того чтобы CPU могло считывать/записывать и старший и младший байты этого регистра одновременно, обращение реализовано посредством 8-разрядного регистра временного хранения (TEMP). Этот регистр используется также при обращении к OCR1A, OCR1B и ICR1.

$2D(4D)TCNT1H

$2C(4C)TCNT1L

биты 15 14 13 12 11 10 9 8

MSB              
              LSB

биты 7 6 5 4 3 2 1 0 Доступ Чт/Зп Чт/Зп Чт/Зп Чт/Зп Чт/Зп Чт/Зп Чт/Зп Чт/Зп

Нач.состояние 0 0 0 0 0 0 0 0

Рис. 3.9. 16-разрядный регистр данных таймера/счетчика 1

Если основная программа и подпрограммы обработки прерываний используют обращение к регистрам посредством TEMP, то прерывания должны быть запрещены на время обращения из основной программы.

Таймер/счетчик 1 выполнен в виде вверх считающего или реверсивного счетчика (в ШИМ режиме) с возможностью чтения/записи. Если в таймер/счетчик 1 занесено некоторое значение и выбран источник тактового сигнала, то таймер/счетчик 1 продолжит отсчет через один тактовый цикл после установки в нем записанного значения.

Наши рекомендации