Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Управление предделителями




Помимо управления тактовым сигналом таймера/счетчика, все мик­роконтроллеры семейства позволяют осуществлять сброс предделителей, а отдельные модели позволяют также осуществлять их остановку. Для этого используется либо регистр специальных функций SFIOR, расположенный по адресу $23 ($43). Формат этого регистра для различ­ных моделей микроконтроллеров приведен на Рис.4 (биты, не исполь­зуемые для управления предделнтелями таймеров/счетчиков, указаны на рисунке как X).

   
  X X X X X X PSR2 PSR 10 Atmega16x
Чтение(R)/Запись(W)             R/W R/W  
Начальное значение              
                   
   
  TSM X X X X X PSR 2 PSR310 Atmega162x
Чтение(R)/Запись(W) R/W           R/W R/W  
Начальное значение            

 

Рис. 4. Формат регистров SFIOR

 

Для сброса преддслителей таймеров/счетчиков используются биты PSRx регистра. При записи в эти биты лог. 1 предделители соответствующих таймеров/счетчиков переводятся в ис­ходное состояние. Биты сбрасываются в 0 аппаратно после выполне­ния операции сброса. Напоминаю, что один предделитель, как прави­ло, используется несколькими таймерами/счетчиками, и соответствен­но сброс прелделителя повлияет на все таймеры/счетчики, которые его используют.

Остановка всех предделнтелей микроконтроллера осуществляется за­писью лог. 1 вбит TSM perистpa SFSOR или GTCCR. Последующий запуск прелделителей осуществляется записью в бит TSM лог. 0. Указанная функция может использоваться, в частности, для синхронизации тай ыеров/счетчиков. После установки бита TSM и битов PSRx соответствующие таймеры/счетчики останавлива­ются и могут быть проинициализированы требуемыми значениями. После сброса бита TSM биты PSRx аппаратно сбрасывают­ся и все таймеры/счетчики начинают работать одновременно.

Восьмибитные таймеры счётчики

Таймер/счётчик T0,T2 используются для отсчёта временных интервалов или как счётчики внешних событий, а также в качестве одноканальных генератора 8-битного ШИМ-сигнала.Таймер/счётчик T2 отличается от Т0 тем,что может работать в асинхронном режиме(обычно этот режим используется для реализации часов реального времени).

Функции таймера/счётчика T0

Функции 8-битный счётчик Счётчик внешних событий ШИМ, число каналов
Atmega 16x U U
Atmega 162x   U U

 

Функции таймера/счётчика T2

Функции 8-битный счётчик Счётчик внешних событий ШИМ, число каналов Часы реального времени
Atmega 16x U -
Atmega 162x   U -

 

Регистры 8-битных таймеров/счётчиков

Регистр TCCR0 TCNT0 OCR0 TCCR2 TCNT2 OCR2 ASSR
Atmega 16x U U U U U U U
Atmega 162x U U U U U U U
Назначение Регистр управления Счётный регистр Регистр сравнения Регистр управления Счётный регистр Регистр сравнения Регистр состояния асинхронного режима

 

Счетный регистр таймера/счетчика TCNTn входит в состав основно­го блока модуля — блока реверсивного счетчика. В зависимости от режи­ма работы модуля содержимое счетного регистра сбрасывается, инкрементируется или декрементируется по каждому импульсу тактового сиг­нала таймера/счетчика clkТ0). Независимо от того, присутствует тактовый сигнал или нет, регистр доступен в любой момент времени как для чтения, так и для записи. Однако следует помнить, что любая опера­ция записи в счетный регистр блокирует работу блока сравнения на вре­мя одного периода тактового сигнала таймера/счетчика. После подачи напряжения питания в регистре TCNTn находится нулевое значение. При достижении таймером/счетчиком максимального или минимально­го значения (конкретный вариант зависит от его режима работы) устанавливается флаг TOVn в регистре флагов TIFR (TIFRn). Разрешение прерывания осуществляется установкой в 1 бита ТОIЕn регистра маски TIMSK(TIMSKn). Разумеется, флаг I регистра SREG также должен быть установлена 1.

Регистры сравнения ОСRn (OCRnA/OCRnB) входят в состав бло­ков сравнения модуля. Во время работы таймера/счетчика производит­ся непрерывное (в каждом такте) сравнение этих регистров с регистром TCNTn.В случае равенства содержимого этих регистров в следующем такте устанавливается флаг OCFn (OCFnA/OCFnB) в соответствующем регистре флагов и генерируется прерывание (если оно разрешено). Кроме того, при наступлении этого события может изменяться состоя­ние вывода OCn (ОСnА/ОСnВ) микроконтроллера. Чтобы таймер/счетчик мог управлять состоянием этих выводов, они должны быть сконфигурированы как выходы (соответствующий бит регистра DDRx должен быть установлен в 1).

Напоминаю, что любая операция записи в счетный регистр блокиру­ет формирование сигнала о совпадении, если оно произойдет в следую­щем такте.

Регистры TCCRn (ТССRnА/ТССRnВ) предназначены для управ­ления модулем таймера/счетчика. Формат этих регистров приведен на Рис.5,а описание их битов — соответственно в Табл.7. [ 1, с.339 ]

   
  FOC0 WGM00 COM01 COM00 WGM01 CS02 CS01 CS00 Atmega16x
Чтение(R)/Запись(W) W R/W R/W R/W R/W R/W R/W R/W  
Начальное значение  
                   
   
  FOC2 WGM20 COM21 COM20 WGM21 CS22 CS21 CS20 Atmega162x
Чтение(R)/Запись(W) R/W R/W R/W R/W R/W R/W R/W R/W  
Начальное значение  

Рис. 5. Формат регистров TCCR0 и TCCR2.

Таблица 7.Биты регистров TCCR0 и TCCR2.

Название бита Описание  
FOCn Принудительное изменение состояния вывода OCn(режимы Normal и СТС). При записи лог.1 в этот бит состояние вывода OCn изменяется в соответствиис установками битов COMn1:COMn0.Прерывание при этом не генерируется и сброс таймера (в режиме СТС) не производится.В режимах FAST PWM и Phase Correct PWM этот бит должен быть сброшен в 0.При чтении бита всегда возвращается 0.  
WGMn1: WGMn0 Режим работы таймера/счётчика.Эти биты определяют режим работы таймера/счётчика следующим образом:  
Номер режима WGMn1 WGMn0 Режим работы таймера/счётчика Tn  
Normal      
Phase correct PWM  
СТС(сброс при совпадении)  
FAST PWM  
COMn1: COMn0 Режим работы блока сравнения.Эти биты определяют поведение вывода OCn при наступлении события”Совпадение”.Влияние содержимого этих битов на состояние вывода зависит отрежима работы/таймера счётчика.  
CSn2…CSn0 Управление тактовым сигналом.Эти биты определяют источник тактового сигнала таймера/счётчика.Действие этих битов зависит от исполнения таймера/счётчика и будет описано ниже.  

Поделиться:

Дата добавления: 2014-12-30; просмотров: 190; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты