Раздел: Документация
0 ... 118 119 120 121 122 123 124 ... 195 Таблица 7.22. Регистр TCCR/iB
Примечание, п = 1, 3,4, 5. Чтение (Н)/Запись (W) Начальное значение Чтение (Н)/Запись (W) Начальное значение Чтение (н)/3апись (W) Начальное значение Чтение (Н)/Запись (W) Начальное значение Чтение (Н)/Запись (W) Начальное значение W 0 W 0 W 0
ATmega64x/128x ATmega640x/1280x/1281x ATmega2560x/2561x ATmega 164х/324х/644х ATmega48x/88x/168x ATmega 165x/325x/3250x ATmega645x/6450x ATmega64x/128x ATmega640x/1280x/1281x ATmega2560x/2561x ATmega640x/1280x/1281x ATmega2560x/2561x ATmega640x/1280x/1281x ATmega2560x/2561x Puc. 7.21. Формат регистров TCCR1C (a), TCCR3C ((5), TCCR4C (в) и TCCR5C (г) Таблица 7.23. Регистр TCCR/iC
Примечание, п = 1, 3,4, 5, х = А, В или С 7.6.1. Обращение к 16-битным регистрам Каждый 16-битный регистр таймеров/счетчиков физически размещается в двух 8-битных регистрах. Соответственно, для обращения к ним требуется выполнить по две операции чтения или записи. Для того чтобы запись или чтение обоих байтов содержимого 16-битного регистра происходило одновременно, в составе каждого таймера/счетчика имеется специальный 8-битный регистр TEMP, предназначенный для хранения старшего байта значения (этот регистр используется только процессором и программно недоступен). Для выполнения цикла записи 16-битного регистра первым должен быть загружен старший байт значения, который помещается в регистр TEMP. При последующей записи младшего байта он объединяется с содержимым регистра TEMP, и оба байта одновременно (в одном и том же такте) записываются в 16-битный регистр. Если требуется изменить несколько 16-битных регистров таймера/счетчика, а старшие байты всех записываемых значений одинаковы, то загрузку старшего байта достаточно выполнить только один раз. Для выполнения цикла чтения 16-битного регистра первым должен быть прочитан младший байт. При его чтении содержимое старшего байта помещается в регистр TEMP. При последующем чтении старшего байта возвращается значение, сохраненное в регистре TEMP. Исключение составляют только регистры сравнения OCR/iA/B/C, при чтении которых регистр TEMP не задействуется. При выполнении цикла обращения к 16-битному регистру таймера/счетчика прерывания должны быть запрещены. В противном случае, если прерывание произойдет между двумя командами обращения к 16-битному регистру, а в подпрограмме обработки этого прерывания тоже будет произведено обращение к какому-либо из 16-битных регистров того же таймера/счетчика, содержимое регистра TEMP будет изменено. Как следствие, результат обращения к 16-битному регистру в основной программе будет неверным. 7.6.2. Управление тактовым сигналом Формирование тактового сигнала 16-битных таймеров/счетчиков clkT„ (п = 1, 3,4, 5) осуществляется блоком предцелителя, который был рассмотрен в разделе 7.4 этой главы. В качестве тактового сигнала clkT„ таймеров/счетчиков Т1, ТЗ, Т4 и Т5 может использоваться (см. Рис. 7.5, а): •системный тактовый сигнал (clkT„ = clk/0); •масштабированный системный тактовый сигнал (clkT„ = c\k\/0/N); •внешний сигнал, поступающий на вход Т1 (ТЗ) микроконтроллера (clkT„ = clkEXT). Исключение составляет лишь таймер/счетчик ТЗ моделей ATmega 162х,, который не может работать от внешнего тактового сигнала. Выбор источника тактового сигнала, а также запуск и остановка таймеров/счетчиков осуществляются с помощью битов CS«2...CSajO регистра управления таймером TCCR/iB согласно Табл. 7.24. Таблица 7.24. Выбор источника тактового сигнала 16-битных таймеров/счетчиков
Примечание, п = 1, 3,4,5. 7.6.3. Режимы работы Режим работы таймеров/счетчиков Т1, ТЗ, T4 и T5 определяется состоянием битов WGMaj3:WGM«2 регистра TCCR/iB совместно с битами WGM«1:WGMajO регистра TCCR/iA. Зависимость режима работы таймеров/счетчиков от состояния этих битов показана в Табл. 7.25. 0 ... 118 119 120 121 122 123 124 ... 195
|