В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > AVR > Архитектура ATMega128
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Описание регистров 8-разрядного таймера-счетчика 0

Регистр управления таймером-счетчиком 0 - TCCR0

Разряд 7 6 5 4 3 2 1 0  
  FOC0 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00 TCCR0
Чтение/запись Чт. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.  
Исх. значение 0 0 0 0 0 0 0 0  
  • Разряд 7 - FOC0: Принудительная установка результата сравнения

Функция бита FOC0 активна только, если с помощью бит WGM задан один из режимов, где нет широтно-импульсной модуляции. Однако в целях совместимости с последующими микроконтроллерами рекомендуется во время записи в регистр TCCR0 в позиции данного бита указывать лог. 0, если таймер работает в одном из режимов с широтно-импульсной модуляцией. Если записать лог. 1 в бит FOC0, то это приводит к принудительной установке результата сравнения на входе блока формирования выходного сигнала. Выход OC0 изменяется в соответствии с установками бит COM01, COM00. Следовательно, значение записанное в COM01, COM00 определяет эффект действия принудительной установки результата сравнения. Обратите также внимание, что бит FOC0 является стробирующим.

Строб FOC0 не генерирует каких-либо прерываний, а также не вызывает сброс таймера в режиме СТС, где регистр OCR0 задает верхний предел счета.

Бит FOC0 всегда считывается как 0.

  • Разряд 6, 3 - WGM01:0: Режим работы таймера-счетчика 0

Данные биты определяют алгоритм счета счетчика, источник, который задает верхний предел счета и тип генерируемых прямоугольных импульсов. Данным таймером поддерживаются следующие режимы работы: нормальный режим, режим сброса при совпадении и два режима с широтно-импульсной модуляцией. В таблице 52 представлены режимы работы таймера-счетчика 0 (см. также "Режимы работы таймера-счетчика 0").

Таблица 52. Описание бит, задающих режим работы таймера-счетчика 0

Номер режима WGM01 WGM00 Наименование режима работы таймера-счетчика 0 Верхний предел счета Условие обновления содержимого регистра OCR0 Условие установки флага TOV0
0 0 0 Нормальный 0xFF Сразу после записи в регистр Достижение максимального значения (0xFF)
1 0 1 ШИМ с фазовой коррекцией 0xFF Достижение верхнего предела счета Достижение минимального значения (0x00)
2 1 0 Сброс при совпадении OCR0 Сразу после записи в регистр Достижение максимального значения (0xFF)
3 1 1 Быстрая ШИМ 0xFF Достижение верхнего предела счета Достижение максимального значения (0xFF)
  • Разряд 5:4 - COM01, COM00: Режим формирования выходного сигнала

Данные биты определяют алгоритм изменения сигнала на выводе OC0. Если значение данных бит ненулевое, то функция вывода OC0 как обычного порта ввода-вывода заменяется на альтернативную. Однако, следует учитывать, что направление этого вывода также управляется через регистр направления данных порта В (DDRB). Поэтому, для разрешения альтернативной функции вывода OC0 также необходимо установить бит 4 (OC0) в регистре DDRB для установки выходного направления.

После активизации альтернативной функции назначение бит COM01, COM00 зависит от выбранного режима работы таймера битами WGM01, WGM00. В таблице 53 приведено назначение бит COM01, COM00, если с помощью WGM01, WGM00 задан нормальный режим или режим сброса при совпадении (т.е. режимы без ШИМ).

Таблица 53. Режимы формирования выходного сигнала в режимах работы таймера 0 без ШИМ

COM01 COM00 Описание
0 0 Функция обычного порта ввода-вывода. OC0 отключен.
0 1 Переключение (инвертирование) OC0 при каждом совпадении
1 0 Сброс OC0 при каждом совпадении
1 1 Установка OC0 при каждом совпадении

В таблице 54 приведено назначение бит COM01, COM00 для режима работы таймера-счетчика 0 с быстрой ШИМ (WGM01:0).

Таблица 54. Режимы формирования выходного сигнала в режиме таймера 0 с быстрой ШИМ(1)

COM01 COM00 Описание
0 0 Функция обычного порта ввода-вывода. OC0 отключен.
0 1 Зарезервировано
1 0 Сброс OC0 при совпадении, установка по достижении верхнего предела (0xFF)
1 1 Установка OC0 при совпадении, сброс по достижении верхнего предела (0xFF)

Прим. 1: Имеется особый случай, когда OCR0 = 0xFF и COM01=1. В этом случае возникновение совпадения игнорируется, но сброс или установка по достижении верхнего предела выполняется. См. "Режим быстрой ШИМ".

В таблице 55 приведено действие бит COM01, COM00 для режима ШИМ с фазовой коррекцией, заданного с помощью бит WGM01, WGM00.

Таблица 54. Режимы формирования выходного сигнала в режиме ШИМ с фазовой коррекцией(1)

COM01 COM00 Описание
0 0 Функция обычного порта ввода-вывода. OC0 отключен.
0 1 Зарезервировано
1 0 Сброс OC0 при совпадении во время прямого счета. Установка OC0 при совпадении во время обратного счета.
1 1 Установка OC0 при совпадении во время прямого счета. Сброс OC0 при совпадении во время обратного счета.

Прим. 1: Существует особый случай, когда OCR0=0xFF/0x00 и COM01=1. В этом случае OC0 всегда находится на постоянном логическом уровне 0 или 1, т.к. 0xFF и 0x00 -точки изменения направления счета и возникающее на них совпадение зачитывается только к одному из направлений счета: обратному или прямому (см. также "Режим ШИМ с фазовой коррекцией").

  • Разряд 2:0 - CS02:0: Настройка частоты синхронизации таймера

С помощью трех настроечных бит имеется возможность выбрать различные тактовые частоты, кратные исходной частоте синхронизации (см. табл. 56).

Таблица 56. Выбор частоты синхронизации таймера 0

CS02 CS01 CS00 Описание
0 0 0 Нет синхронизации. Таймер-счетчик 0 оставлен.
0 0 1 clkT0S/1 (без предделения)
0 1 0 clkT0S/8 (с предделением)
0 1 1 clkT0S/32 (с предделением)
1 0 0 clkT0S/64 (с предделением)
1 0 1 clkT0S/128 (с предделением)
1 1 0 clkT0S/256 (с предделением)
1 1 1 clkT0S/1024 (с предделением)

Регистр таймера-счетчика - TCNT0

Разряд 7 6 5 4 3 2 1 0  
  TCNT0[7:0] TCNT0
Чтение/запись Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.  
Исх. значение 0 0 0 0 0 0 0 0  

Регистр таймера-счетчика характеризуется двунаправленностью доступа к 8-разрядному счетчику таймера 0. Запись в регистр TCNT0 блокирует отработку возникающего совпадения на следующем после записи такте синхронизации таймера. Изменение содержимого счетчика (TCNT0) во время счета связано с риском потери результата сравнения между TCNT0 и регистром OCR0.

Регистр порога сравнения - OCR0

Разряд 7 6 5 4 3 2 1 0  
  OCR0[7:0] OCR0
Чтение/запись Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп. Чт./Зп.  
Исх. значение 0 0 0 0 0 0 0 0  

Регистр порога сравнения содержит 8-разр. значение, которое непрерывно сравнивается цифровым компаратором со значением 8-разр. счетчика (TCNT0). Факт совпадения значений может использоваться для генерации прерывания по выполнению условия сравнения или для генерации прямоугольных импульсов на выводе OC0.



<-- Предыдущая страница Оглавление Следующая страница -->