Timer/Counter1 (TCNT1H, TCNT1L)

Бит $2D($4D) R/W Нач.знач.                  
MSB - - - - - - - TCNT1H
R/W R/W R/W R/W R/W R/W R/W R/W  
               
Бит $2C($4C) R/W Нач.знач.                  
- - - - - - - LSB TCNT1L
R/W R/W R/W R/W R/W R/W R/W R/W  
               

Рисунок 5.9 - Таймер/счетчик 1 (TCNT1H и TCNT1L)

Это 16-разрядный регистр, содержащий текущее значение таймера/счетчика 1. Чтобы чтение и запись двух байт счетчика происходило синхронно, для работы с ним иcпользуется временный регистр (TEMP).

Запись в таймер счетчик 1: При записи старшего байта в TCNT1H, записываемые данные помещаются в регистр TEMP. Затем, при записи младшего байта, он вместе с данными из TEMP переписывается в таймер/счетчик 1. Таким образом, при записи 16-разрядного значения первым должен записываться байт в TCNT1H.

Чтение таймера/счетчика 1: При чтении младшего байта из TCNT1L, он посылается в процессор, а данные из TCNT1H переписываются в регистр TEMP, то есть одновременно читаются все 16-разрядов. При последующем чтении регистра TCNT1H, данные берутся из регистра TEMP.

Таймер/счетчик 1 организован как суммирующий счетчик (в режиме ШИМ - суммирующий/вычитающий) с возможностью чтения и записи. Если выбран источник тактовых импульсов для таймера/счетчика 1, после записи в него нового значения, он продолжает счет в следующем после записи периоде тактовой частоты.

T/C1 Output Compare Register (OCR1AH, OCR1AL)

Бит $2B ($4B) R/W Нач.знач.                 OCR1AH
MSB - - - - - - -
R/W R/W R/W R/W R/W R/W R/W R/W
               
Бит $2A ($4A) R/W Нач.знач.                 OCR1AL
- - - - - - - LSB
R/W R/W R/W R/W R/W R/W R/W R/W
               

Рисунок 5.10 – Регистры совпадения А ТС1 (OCR1AH и OCR1AL)

T/C1 Output Compare Register (OCR1BH, OCR1BL)

Бит $29 ($49) R/W Нач.знач.                 OCR1BH
MSB - - - - - - -
R/W R/W R/W R/W R/W R/W R/W R/W
               
Бит $28 ($48) R/W Нач.знач.                 OCR1BL
- - - - - - - LSB
R/W R/W R/W R/W R/W R/W R/W R/W
               

Рисунок 5.11 – Регистры совпадения В ТС1 (OCR1ВH и OCR1ВL)

Регистры совпадения - 16-разрядные регистры, доступные для чтения и записи. В этих регистрах хранятся данные, которые непрерывно сравниваются с текущим значением таймера/счетчика 1. Действие по совпадению задается регистрами управления таймером/счетчиком 1 и регистром состояния.

Поскольку регистры OCR1A и OCR1В являются 16-разрядными, при записи нового значения в регистр, для того чтобы оба байта регистра записывались одновременно, используется временный регистр. При записи старшего байта, данные помещаются во временный регистр, который переписывается в OCR1AH или OCR1ВH при записи младшего байта в OCR1AL или OCR1ВL. Таким образом, для записи в регистр первым должен записываться старший байт.

Timer/Counter1 Input Capture Register (ICR1H, ICR1L)

Бит $25 ($45) R/W Нач.знач.                  
MSB - - - - - - - ICR1H
R R R R R R R R  
               
Бит $24 ($44) R/W Нач.знач.                  
- - - - - - - LSB ICR1L
R R R R R R R R  
               

Рисунок 5.12 – Регистры захвата ТС1 (ICR1H и ICR1L)

Регистр захвата (ICR1H, ICR1L) - 16-разрядный регистр, доступный только для чтения.

По нарастающему или спадающему фронту (в соответствии с выбором фронта импульса захвата ICES1) сигнала на выводе ICP, текущее значение таймера/счетчика 1 переписывается в регистр захвата ICR1. В это же время устанавливается флаг захвата ICF1.

Поскольку регистр захвата (ICR1х) является 16-разрядным, для чтения его значения, чтобы оба байта прочитались одновременно, используется временный регистр. При чтении младшего байта ICR1L, он посылается в ЦПУ, а старший байт регистра ICR1H переписывается во временный регистр. При чтении старшего байта, он принимается из временного регистра. Таким образом, для чтения 16-разрядного регистра первым должен читаться младший байт.

Регистр TEMP также используется при доступе к регистрам TCNT1, OCR1A и OCR1B. Если основная программа и подпрограммы обработки прерывания также обращаются к этому регистру, то прерывания должны быть запрещены до тех пор, пока содержимое указанных трех регистров не будет полностью прочитано.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: