Блок-схема таймера/счетчика1 приведена на рис. 35.
Рис. 35. Блок-схема таймера/счетчика1
16-разрядный таймер/счетчик1 может получать тактовый сигнал от CK, CK после предварительного делителя и от внешнего вывода. Кроме того его можно остановить, как показано в описании регистра управления таймером/счетчиком1 - TCCR1B (Timer/Counter1 Control Register). В регистрах управления TCCR1A и TCCR1B находятся различные флаги, указывающие на переполнение, совпадение при сравнении и случаи захвата событий. В регистре масок прерываний TIMSK (Timer/Counter Interrupt Mask Register) устанавливаются разрешения/запрещения прерываний таймера/счетчика1. При внешнем тактировании таймера/счетчика1 внешний сигнал синхронизируется частотой тактового генератора CPU. Для правильной работы таймера/счетчика1 по внешнему тактовому сигналу минимальное время между двумя переключениями внешнего тактового сигнала должно быть не менее одного периода тактового сигнала CPU. Синхронизация внешнего тактового сигнала ведется нарастающим фронтом внутреннего тактового сигнала CPU.
Наилучшие точность и разрешение 16-разрядный таймер/счетчик1 обеспечивает при наименьшем коэффициенте предварительного деления. С другой стороны, высокий коэффициент предварительного деления удобен при реализации таймером/счетчиком1 низкоскоростных функций или точной синхронизации редко происходящих действий. Таймер/счетчик1 поддерживает две функции сравнения выхода, используя регистр1 сравнения выходов A и B - OCR1A и OCR1B в качестве источников данных, сравниваемых с содержимым таймера/счетчика1. Функции сравнения выхода включают очистку счетчика по совпадению сравненияA и воздействие на выводы сравнения выхода при обоих совпадениях сравнения.
Таймер/счетчик1 может быть использован в качестве 8, 9 или 10-разрядного широтно-импульсного модулятора. В этом режиме счетчик и регистры OCR1A/OCR1B работают как сдвоенный самостоятельный ШИМ со сцентрированными импульсами, без формирования ложных импульсов. См. раздел Таймер/счетчик1 в ШИМ режиме, где подробно описана эта функция.
Функция захвата входа таймера/счетчика1 обеспечивает захват содержимого таймера/счетчика1 в регистр захвата входа, запускаемый внешним событием на выводе входа захвата PD4/(IC1). Реальные установки захвата события определяются регистром управления таймером/счетчиком1 TCCR1B (Timer/Counter1 Control Register). Кроме того, для переключения входа захвата может быть использован аналоговый компаратор. Подробнее данная функция описана в разделе Аналоговый компаратор. Если разрешена функция подавления шума, действительные условия переключения события захвата тестируются четырьмя выборками, прежде чем захват будет активирован. Тестирование сигнала на входном выводе производится с частотой XTAL.
Регистр управления А таймера/счетчика1 - TCCR1A - (Timer/Counter1 Control Register A)
Биты
$2F ($4F)
COM1A1
COM1A0
COM1B1
COM1B0
-
-
PWM11
PWM10
TCCR1A
Чтение/Запись
R/W
R/W
R/W
R/W
R
R
R/W
R/W
Начальное состояние
Bits 7,6 - COM1A1, COM1A0: Compare Output Mode1A, bits 1 and 0 - Режим1A сравнения выхода, биты 1 и 0 Управляющие биты COM1A1 и COM1A0 определяют характер сигнала выхода, следующего за совпадением при сравнении таймера/счетчика1. Сигнал выхода поступает на вывод OC1A (Output CompareA). Поскольку это альтернативная функция порта I/O, то соответствующий бит управления направлением должен быть установлен в 1 (вывод работает на выход). Конфигурирование управления представлено в таблице 15.
Таблица 15. Выбор режима сравнения 1
COM1X1
COM1X0
Описание
Таймер/счетчик1 отключен от вывода выхода OC1X
Переключение выходной линии OC1X
Очистка выходной линии OC1X (на линии низкий уровень)
Установка выходной линии OC1X (на линии высокий уровень)
Примечание: X = A или B.
Bits 5,4 - COM1B1, COM1B0: Compare Output Mode1B, bits 1 and 0 - Режим1B сравнения выхода, биты 1 и 0 Управляющие биты COM1B1 и COM1B0 определяют характер сигнала выхода, следующего за совпадением при сравнении таймера/счетчика1. Сигнал выхода поступает на вывод OC1B (Output CompareB). Поскольку это альтернативная функция порта I/O, то соответствующий бит управления направлением должен быть установлен в 1 (вывод работает на выход). Конфигурирование управления представлено в таблице 15. В ШИМ режиме функции этих битов отличаются. Подробное описание приведено в таблице 19. При изменении битов COM1X1/COM1X0 прерывания по сравнению выхода1 должны быть запрещены очисткой битов разрешения прерывания в регистре TIMSK. В противном случае при изменении битов может произойти прерывание
Bits 3..2 - Res: Reserved bits - Зарезервированные биты Эти биты в микроконтроллерах ATmega603/103 зарезервированы и при считывании всегда будут 0.
Bits 1..0 - PWM11, PWM10: Pulse Width Modulator Select Bits - Биты выбора режима ШИМ Данные биты определяют установку режима ШИМ, как это показано в таблице 16. Подробности см. в разделе Таймер/счетчик1 в ШИМ режиме.
Таблица 16. Выбор ШИМ режима
PWM11
PWM10
Description
Работа таймера/счетчика1 в ШИМ режиме запрещена
Работа таймера/счетчика1 в 8-разрядном ШИМ режиме
Работа таймера/счетчика1 в 9-разрядном ШИМ режиме
Работа таймера/счетчика1 в 10-разрядном ШИМ режиме
Регистр управления В таймера/счетчика1 - TCCR1B - (Timer/Counter1 Control Register B)
Биты
$2E ($4E)
ICNC1
ICES1
-
-
CTC1
CS12
CS11
CS10
TCCR1B
Чтение/Запись
R/W
R/W
R
R
R/W
R/W
R/W
R/W
Начальное состояние
Bit 7 - ICNC1: Input Capture1 Noise Canceler (4 CKs) - Установка режима подавления шума на входе захвата 1 При сброшенном в состояние 0 бите ICNC1 функция подавления шума входного триггера захвата запрещена. Вход захвата переключается по первому нарастающему/ падающему фронту, поступившему на вывод входа захвата PD4(IC1). При установленном в состояние 1 бите ICNC1 выполняются четыре последовательных опроса состояния вывода PD4(IC1) и все четыре выборки должны иметь одинаковый (высокий/низкий), определяемый битом ICES1, уровень. Частота опроса соответствует частоте XTAL.
Bit 6 - ICES1: Input Capture1 Edge Select - Выбор фронта срабатывания на входе захвата 1 При сброшенном в состояние 0 бите ICES1 содержимое таймера/счетчика1, по падающему фронту на выводе входа захвата PD4(IC1), пересылается в регистр захвата входа ICR1. При установленном в 1 бите ICES1 содержимое таймера/счетчика1 пересылается в регистр захвата входа ICR1 по нарастающему фронту на выводе входа захвата PD4(IC1).
Bits 5, 4 - Res: Reserved bits - Зарезервированные биты Эти биты в микроконтроллерах ATmega603/103 зарезервированы и при считывании всегда будут 0.
Bit 3 - CTC1: Clear Timer/Counter1 on Compare Match - Очистка таймера/счетчика1 по совпадению При установленном в состояние 1 бите CTC1 таймер/счетчик1 сбрасывается в состояние $0000 в течение тактового цикла, следующего за совпадением при сравненииA. Если бит CTC1 очищен, таймер/счетчик1 продолжает отсчет и не реагирует на совпадение при сравнении. Поскольку совпадение при сравнении детектируется в течение тактового цикла CPU следующего за совпадением, то поведение функции будет отличаться при установке коэффициента предварительного деления таймера/счетчика1 большем 1. При коэффициенте предварительного деления 1 и установленном в регистре сравненияA состоянии C таймер будет считать в соответствии с установкой CTC1: ... | C-1 | C | C+1 | 0 | 1 |... При установленном коэффициенте предварительного деления 8 таймер будет считать подобно: ... | C-1, C-1, C-1, C-1, C-1, C-1, C-1, C-1 | C, C, C, C, C,C, C, C | C+1, 0, 0, 0, 0, 0, 0, 0, 0 |... В ШИМ режиме состояние бита CTC1 значения не имеет.
Bits 2,1,0 - CS12, CS11, CS10: Clock Select1, bit 2,1 and 0 - Выбор источника тактовой частоты, биты 2,1 и 0 Установкой состояния данных битов производится выбор источника тактового сигнала (в том числе коэффициента предварительного деления) Stop условие выполняет функцию разрешения/запрещения таймера/счетчика1 В режимах с предварительным делением на соответствующий коэффициент делится частота CK тактового генератора. При использовании внешнего тактирования необходимо выполнить соответствующие установки в регистре управления направлением (очистка переводит вывод в режим входа).
Таблица 17. Выбор источника тактового сигнала таймера/счетчика1
CS12
CS11
CS10
Описание
Stop условие - таймер/счетчик1 остановлен
CK
CK / 8
CK / 64
CK / 256
CK / 1024
Внешний тактирующий сигнал на выводе T1, нарастающий фронт
Внешний тактирующий сигнал на выводе T1, падающий фронт
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление