Студопедия

КАТЕГОРИИ:

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


Обращение к 16-битным регистрам.




Каждый 16-битный регистр таймеров/счетчиков физически размеща­ется в двух 8-битных регистрах, Соответственно, для обращения к ним требуется выполнить по две операции чтения или записи. Для того чтобы запись или чтение обоих байтов содержимого 16-битного регистра проис­ходило одновременно, в составе каждого таймера/счетчика имеется спе­циальный 8-битный регистр TEMP, предназначенный для хранения стар­шего байта значения (этот регистр используется только процессором и программно недоступен).

Для выполнения цикла записи 16-битного регистра первым должен быть загружен старший байт значения, который помещается в регистр TEMP. При последующей записи младшего байта он объединяется с со­держимым регистра TEMP, и оба байта одновременно (в одном и том же тахте) записываются в 16-битныЙ регистр. Если требуется изменить не­сколько 16-битных регистров таймера/счетчика, а старшие байты всех за­писываемых значений одинаковы,то загрузку старшего байта достаточно выполнить только один раз.

Для выполнения цикла чтения 16-битного регистра первым должен быть прочитан младший байт. При его чтении содержимое старшего байта помещается в регистр TEMP. При последующем чтении старшего байта возвращается значение, сохраненное в регистре TEMP. Исключение со­ставляют только регистры сравнения ОСnА/В, при чтении которых регистр TEMP не задействуется.

При выполнении цикла обращения к 16-битному регистру тайме­ра/счетчика прерывания должны быть запрещены. В противном случив, если прерывание произойдет между двумя командами обращения к 16-битному регистру, а в подпрограмме обработки этого прерывания тоже будет произведено обращение к какому-либо из 16-битных регистров того же таймера/счетчика, содержимое регистра TEMP будет изменено. Как следствие, результат обращения к 16-битному регистру в основной про­грамме будет неверным.

Управление тактовым сигналом

Формирование тактового сигнала 16-битных таймеров/счетчиков clkT1 (clkT3) осу­ществляется блоком предделителя, который был рассмотрен выше.

В качестве тактового сигнала clkT1 (clkT3) таймеров/счетчиков может использоваться:

· системный тактовый сигнал (clkT1(T3) =clkI/O );

· масштабированный системный тактовый сигнал (clkT1(T3) =clkI/O /n);

· внешний сигнал, поступающий на вход Т1 (Т3) микроконтроллера

(clkTO(T2) =clkI/O /ext);

Исключение составляет лишь таймер/счётчик T3 модели Atmega 162, который не может работать от внешнего тактового сигнала

Выбор источника тактового сигнала, а также запуск и остановка тай­меров/счетчиков осуществляются с помощью битов CS02...CSOO (CS21..CS20) регистров управления таймером TCCRnB Табл.11

Таблица 11. Выбор источника тактового сигнала таймеров/счетчиков ТО и Т2.

CSn2 CSn1 CSn0 Источник тактового сигнала(n=1,3)
T3в модели ATmega 162x ATmega 16
Таймер/счётчик остановлен Таймер/счётчик остановлен
clkI/O clkI/O
clkI/O/8 clkI/O/8
clkI/O/64 clkI/O/64
clkI/O/256 clkI/O/256
clkI/O/1024 clkI/O/1024
clkI/O/16 Вывод Tn, счёт осуществляется по спадающему фронту импульсов
clkI/O/32 Вывод Tn, счёт осуществляется по нарастающему фронту импульсов

Режимы работы

Режим работы таймера/счетчика Т1 (Т3) Определяется состоянием би­тов WGMn3:WGMn2 регистра ТССRnB совместно с битами WGMn1:WGMn0 регистра TCCRnA . Зависимость режима работы таймеров/счетчиков от состояния этих битов показана в Табл.12. [ 1, с.363-373 ]

Таблица 12. Режимs работы таймеров/счётчиков( n=1,3)

Номер режима WGM n3 WGM n2 WGM n1 WGM n0 Режим работы таймера/счетчика Tn Модуль счёта (TOP) Обновление регистров OCRnx Момент установки флага TOVn
Normal $FFFF Немедленно $FFFF
Phase correct PWM, 8-битный $ 00FF При TOP $0000
Phase correct PWM, 9-битный $ 01FF При TOP $0000
Phase correct PWM, 10-битный $ 03FF При TOP $0000
СТС(сброс при совпадении) OCRnA Немедленно $FFFF
FAST PWM 8-битный $ 00FF При TOP При TOP
FAST PWM 9-битный $ 01FF При TOP При TOP
FAST PWM 10-битный     $ 03FF При TOP При TOP
Phase and Frequency correct PWM ICRn $ 0000 $0000
Phase and Frequency correct PWM OCRnA $ 0000 $0000
Phase correct PWM   ICRn При TOP $0000
Phase correct PWM   OCRnA При TOP $0000
СТС(сброс при совпадении) ICRn Немедленно $FFFF
Зарезервировано - - -
FAST PWM ICRn При TOP При TOP
FAST PWM OCRnA При TOP При TOP

 


Поделиться:

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





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