Мегаобучалка Главная | О нас | Обратная связь


Регистры таймер/счетчика 1



2019-12-29 189 Обсуждений (0)
Регистры таймер/счетчика 1 0.00 из 5.00 0 оценок




 

Регистр А управления таймером-счетчиком 1 – TCCR1A

Bit 7 6 5 4 3 2 1 0  
  COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10 TCCR1A
Чтение/запись Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.
Исх. значение 0 0 0 0 0 0 0 0  

 

Биты 7:6 – COM1A1:0: Режим формирования выходного сигнала канала A

Биты 5:4 – COM1B1:0: Режим формирования выходного сигнала канала В

 

Биты COMnA1:0 и COMnB1:0 влияют на работу выводов OCnA и OCnB, соответственно. Если один или оба бита COMnA1:0 равны 1, то вывод OCnA переходит к выполнению альтернативной функции, запрещая его работу как обычного порта ввода-вывода. Аналогичные изменения происходят с выводом OCnB во время записи лог. 1 в один из битов COMnB1:0. Однако необходимо учитывать, что остается влияние на работу данных выводов со стороны регистра направления данных (DDR) и в соответствующих разрядах этого регистра должно быть задано выходное направление для выводов OCnA или OCnB.

 

COMnA1/COMnB1 COMnA0/COMnB0 Описание
0 0 Нормальная работа порта, сигналы OCnA/OCnB отключены.
0 1 Переключение (инвертирование) OCnA/OCnB при совпадении.
1 0 Сброс OCnA/OCnB при совпадении (установка лог. 0).
1 1 Установка OCnA/OCnB при совпадении (установка лог. 1).

 

Биты 3:2 – FOC 1 A : FOC 1 B : Режим формирования силы выходного сигнала.

 

Разряд 1:0 – WGMn1:0: Режим работы таймера-счетчика

 

В сочетании с битами WGM1 3:2 из регистра TCCRnB данные биты определяют алгоритм счета, источник для задания вершины счета (ВП) и тип генерируемой формы сигнала. Таймер-счетчик может работать в одном из следующих режимов: нормальный режим (счетчик), сброс таймера при совпадении (CTC) и три режима с широтно-импульсной модуляцией (ШИМ).

 

Регистр В управления таймером-счетчиком 1 – TCCR1B

Разряд 7 6 5 4 3 2 1 0  
  ICNC1 ICES1 - WGM13 WGM12 CS12 CS11 CS10 TCCR1B
Чтение/запись Чт./Зп. Чт./Зп. Чт. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.  
Исх. значение 0 0 0 0 0 0 0 0  

 

Разряд 7 – ICNC1: Подавитель шума на входе захвата

 

Установка данного бита (запись лог. 1) активизирует подавитель шума на входе захвата. После активизации подавителя шумов сигнал с вывода ICPn пропускается через фильтр. Логика работы фильтра состоит в определении четырех подряд равных по значению выборок и только в этом случае изменении своего выходного состояния. Следовательно, после разрешения подавления шумов сигнал с входа захвата будет задерживаться на 4 такта системной синхронизации.

 

Разряд 6 – ICES1: Выбор детектируемого фронта на входе захвата

 

Данный бит позволяет задать, какой фронт на входе захвата ICP1 приведет к захвату состояния таймера. Если ICES1 =0, то падающий (отрицательный) фронт приводит к захвату состояния таймера, а если же ICES1 = 1, то нарастающий (положительный) фронт приводит к возникновению захвата.

Если в соответствии с установкой ICES1 возникает условие захвата, то содержимое счетчика копируется в регистр захвата ICR1. При этом также устанавливается флаг захвата ICF1, который может использоваться для генерации прерывания по захвату (если данное прерывание разрешено).

Если регистр ICR1 используется для хранения значения верхнего предела счета (см. табл. 61), то вход ICP1 отключается от соответствующего вывода микроконтроллера и функция захвата блокируется.

 

Разряд 5 – Зарезервированный бит

 

Данный бит зарезервирован для дальнейшего использования. В целях совместимости с будущими разработками рекомендуется во время записи в регистр TCCR1B в данном разряде указывать лог. 0.

Разряд 4:3 – WGM1 3:2: Режим работы таймера-счетчика

См. описание регистр TCCR1A.

 

Разряд 2:0 – CS12:0: Выбор тактового источника

 

Данный три бита позволяют выбрать тактовый источник для таймера-счетчика.

 

Таблица 11. Описание бит выбора тактового источника

CS12 CS11 CS10 Описание
0 0 0 Нет синхронизации. Таймер-счетчик остановлен.
0 0 1 clkI/O/1 (без предделения)
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, то данная функция за ним сохраняется, даже при его настройке на вывод. Данная функция позволяет программно управлять счетом.

 

 

     Таймер-счетчик 1 – TCNT1H и TCNT1L

Разряд 7 6 5 4 3 2 1 0  
 

TCNT1[15:8]

TCNT1H
 

TCNT1[7:0]

TCNT1L
Чтение/запись Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт.  
Исх. значение 0 0 0 0 0 0 0 0  

Две ячейки в области ввода-вывода (TCNT1H и TCNT1L, вместе TCNT1) дают полный доступ, как на чтение, так и на запись к 16-разрядному счетчику. В целях гарантирования одновременности чтения и записи старшего и младшего байтов этих регистров, доступ организован с использованием 8-разрядного временного регистра старшего байта (TEMP). Временный регистр является общим для всех 16-разрядных регистров таймера (см. также “Доступ к 16-разр. регистрам”).

Изменение содержимого счетчика TCNT1 во время его работы (счета) связано с риском возникновения совпадения между TCNT1 и одним из регистров OCR1x. Запись в регистр TCNT1 блокирует отработку совпадения, которое возникнет на следующем такте, для всех блоков сравнения.

Регистр сравнения 1 A – OCR1AH и OCR1AL

Разряд 7 6 5 4 3 2 1 0  
 

OCR1A [15:8]

OCR1AH
 

OCR1A [7:0]

OCR1AL
Чтение/запись Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт.  
Исх. значение 0 0 0 0 0 0 0 0  

 

Регистр сравнения 1 B – OCR1BH и OCR1BL

Разряд 7 6 5 4 3 2 1 0  
 

OCR1B [15:8]

OCR1BH
 

OCR1B [7:0]

OCR1BL
Чтение/запись Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт.  
Исх. значение 0 0 0 0 0 0 0 0  

 

  В регистрах сравнения хранится 16-разр. значение, которое непрерывно сравнивается со значением счетчика (TCNTn). Возникающее совпадение может использоваться для генерации прерывания по результату сравнения и генерации прямоугольных импульсов на выводе OCnx.

  Регистры сравнения являются 16-разрядными, поэтому, одновременность записи младшего и старшего байтов достигнута за счет использования 8-разр. временного регистра старшего байта (TEMP). Временный регистр является общим для всех 16-разрядных регистров таймера.

 

Регистр захвата 1 – ICR1H и ICR1L

Разряд 7 6 5 4 3 2 1 0  
 

ICR1C [15:8]

ICR1CH
 

ICR1C [7:0]

ICR1CL
Чтение/запись Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт. Зп./Чт.  
Исх. значение 0 0 0 0 0 0 0 0  

 

Регистры захвата обновляются содержимым соответствующего счетчика (TCNTn) при каждом определении условия захвата на входе ICPn (или альтернативно на выходе аналогового компаратора для таймера-счетчика 1).

Регистры захвата альтернативно могут использоваться для задания верхнего предела счета.

Регистры захвата также являются 16-разрядными, поэтому, одновременность записи младшего и старшего байтов достигнута за счет использования 8-разр. временного регистра старшего байта (TEMP). Временный регистр является общим для всех 16-разрядных регистров таймера.

 

Регистр маски прерываний таймера-счетчика – TIMSK

Разряд 7 6 5 4 3 2 1 0  
  OCIE2 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0 TIMSK
Чтение/запись Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.  
Исх. значение 0 0 0 0 0 0 0 0  

 

Прим.: Данный регистр биты управления прерываниями для нескольких таймер-счетчиков, но в данном разделе детализированы только биты таймера 1. Описание остальных бит необходимо искать при описании соответствующих таймеров.

 

Разряд 5 – TICIE1: Разрешение прерывания по захвату состояния таймера-счетчика 1

 

Если в данный бит записана лог. 1, а также установлен флаг I в регистре статуса (активно общее разрешение прерываний), то разрешается прерывание по захвату состояния таймера-счетчика 1. Если устанавливается флаг в регистре TIFR, программа переходит на соответствующий вектор прерывания .

 

Разряд 4 – OCIE1A: Разрешение прерывания по результату сравнения канала А таймера-счетчика 1

 

Если в данный бит записана лог. 1 и установлен флаг I в регистре статуса, то разрешается работа прерывания по результату сравнения канала A. Если устанавливается флаг OCF1A в регистре TIFR, то программа переходит на соответствующий вектор прерываний.

 

Разряд 3 – OCIE1В: Разрешение прерывания по результату сравнения канала В таймера-счетчика 1

 

Действие аналогично предыдущему, но в отношении канала сравнения В.

Разряд 2 – TOIE1: Разрешение прерывания при переполнении таймера-счетчика 1

Если в данный бит записана лог. 1 и установлен флаг I в регистре статуса, то разрешается прерывание по переполнению таймера-счетчика 1. После этого, установка флага TOV1 в регистре TIFR приведет к переходу на соответствующий вектор прерывания.

 

Регистр флагов прерываний таймеров-счетчиков – TIFR

Разряд 7 6 5 4 3 2 1 0  
  OCF2 TOV2 ICF1 OCF1A OCF1B TOV1 OCF0 TOF0 TIFR
Чтение/запись Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.  
Исх. значение 0 0 0 0 0 0 0 0  

  

Прим.: Биты данного регистра относятся к нескольким таймерам, но в данном параграфе рассматриваются биты только одного таймера. Описание остальных бит необходимо смотреть в соответствующих разделах.

 

Разряд 5 – ICF1: Флаг захвата состояния таймера-счетчика 1

 

Флаг устанавливается, если на входе ICP1 определяется условие захвата. Если регистр захвата ICR1 выбран с помощью бит WGMn3:0 в качестве источника верхнего предела счета, флаг ICF1 устанавливается по достижении верхнего предела счета.

ICF1 автоматически сбрасывается при переходе на вектор прерывания по захвату состояния таймера-счетчика. Альтернативно флаг ICF1 можно сбрасывать путем записи в него лог. 1.

 

Разряд 4 – OCF1A: Флаг результата сравнения канала А таймера-счетчика 1

 

Данный флаг устанавливается следующим тактом после совпадения значения TCNT1 с регистром А порога сравнения (OCR1A).

Обратите внимание, что строб принудительной установки результата сравнения (FOC1A) не устанавливает флаг OCF1A. Флаг OCF1A автоматически сбрасывается при переходе на соответствующий вектор прерывания.

Альтернативно, флаг OCF1A сбрасывается путем записи в него лог. 1.

 

 

Разряд 3 – OCF1B: Флаг результата сравнения канала B таймера-счетчика 1

 

Данный флаг действует аналогично предыдущему, но в отношении канала сравнения В.

 

Разряд 2 – TOV1: Флаг переполнения таймера-счетчика 1

 

Установка данного флага зависит от значений бит WGMn3:0. В нормальном режиме и режиме СТС флаг TOV1 устанавливается при переполнении таймера-счетчика. См. табл. 61 для изучения поведения флага TOV1 при задании других значений WGMn3:0. Флаг TOV1 автоматически сбрасывается при переходе на вектор прерывания по переполнению таймера-счетчика 1. Альтернативно флаг TOV1 сбрасывается путем записи в него лог. 1.

 



2019-12-29 189 Обсуждений (0)
Регистры таймер/счетчика 1 0.00 из 5.00 0 оценок









Обсуждение в статье: Регистры таймер/счетчика 1

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (189)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)