Таймер/счетчик 1 - TCNT1H и TCNT1L
Биты |
|
$2D ($4D) $2C ($4C) |
|
TCNT1H TCNT1L |
|
|
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Начальное состояние |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
16-разрядный регистр содержит текущее значение 16-разрядного таймера/счетчика1. С тем, чтобы CPU могло считывать/записывать и старший и младший байты этого регистра одновременно, обращение реализовано посредством 8-разрядного регистра временного хранения(TEMP). Этот регистр используется также при обращении
к OCR1A, OCR1B и ICR1. Если основная программа и подпрограммы обработки
прерываний используют обращение к регистрам посредством TEMP, то прерывания
должны быть запрещены на время обращения из основной программы.
- Запись в таймер/счетчик1 - TCNT1
Когда CPU производит запись в старший байт (TCNT1H) записываемые данные
размещаются в регистре TEMP. Затем, когда CPU производит запись в младший
байт (TCNT1L) данные младшего байта объединяются с байтом данных регистра
TEMP и все 16 битов одновременно переписываются в регистр таймера/счетчика
TCNT1. Следовательно, при 16-разрядных операциях обращение к старшему
байту (TCNT1H) должно выполняться первым. При использовании таймера/
счетчика1 в качестве 8-разрядного таймера достаточно производить запись только
младшего байта.
- Чтение таймера/счетчика1 - TCNT1
Когда CPU считывает младший байт (TCNT1L), то содержимое TCNT1L направляются
непосредственно в CPU, содержимое старшего байта (TCNT1H) размещается в
регистре TEMP и при считывании CPU старшего байта (TCNT1H) его содержимое
CPU принимает из регистра TEMP. Следовательно, при 16-разрядных операциях
первым должно выполняться обращение к младшему байту (TCNT1L). При использовании таймера/счетчика1 в качестве 8-разрядного таймера достаточно
производить запись только младшего байта.
Таймер/счетчик1 выполнен в виде счетчика с нарастанием или реверсивного счетчика (в ШИМ режиме) и возможностью чтения/записи. Если в таймер/счетчик1 занесено некоторое значение и выбран источник тактового сигнала, то таймер/счетчик1 продолжит отсчет через один тактовый цикл после установки в нем записанного значения.
|