МИКРОКОНТРОЛЛЕРЫ
1РЛ
бете ICNC1 выполняются четыре последовательных опроса состоя-
ния вывода PD4(IC1) и все четыре выборки должны иметь одинако-
вый (высокий/низкий), определяемый битом ICES1, уровень. Частота
опроса соответствует частоте XTAL.
Bit 6 - ICES1: Input Capturel Edge Select- Выбор фронта сраба-
тывания на входе захвата 1
При сброшенном в состояние 0 бите ICES1 содержимое таймера/
счетчикаї, по падающему фронту на выводе входа захвата PD4( IC1),
пересылается в регистр захвата входа ICR1, При установленном в 1
бите ICES1 содержимое таймера/счетчикаї пересылается в регистр
захвата входа ICR1 по нарастающему фронту на выводе входа захва-
та PD4( IC1).
Bits 5,4- Res: Reserved bits
-
Зарезервированные биты
Эти биты в микроконтроллерахАТтеда603/103 зарезервированы
и при считывании всегда будут 0.
Bit 3 - СТС1: Clear Timer/Counterl on Compare Match
-
Очистка
таймера/снетчикаї no совпадению
При установленном в состояние 1 бите СТС1 таймер/счетчикі сбра-
сывается в состояние $0000 в течение тактового цикла, следующего
за совпадением при сравненииА. Если бит СТС1 очищен, таймер/счет-
чикі продолжает отсчет и не реагирует на совпадение при сравнении.
Поскольку совпадение при сравнении детектируется в течение такто-
вого цикла CPU следующего за совпадением, то поведение функции
будет отличаться при установке коэффициента предварительного де-
ления таймера/счетчикаї большем 1. При коэффициенте предвари-
тельного деления 1 и установленном в регистре сравненияА состоя-
нии С таймер будет считать в соответствии с установкой СТС1 :
... I С-1 I С I С+1 I О I 1 I .
..
При установленном коэффициенте предварительного деления
8 таймер будет считать подобно:
... I С-1, С-1, С-1, С-1, С-1, С-1, С-1, С-1 I С, С, С, С. С,С, С, СI С+1,
О
, О, О, О, О, О, О, О
I .
..
В ШИМ режиме состояние бита СТС1 значения не имеет.
Bits 2, 1,0- CS12, CS11. CS10: Clock Selectl, bit
2
,1 and 0
-
Вы-
бор источника тактовой частоты, биты 2, 1 иО
Установкой состояния данных битов производится выбор источ-
ника тактового сигнала (втом числе коэффициента предварительного
деления). Stop условие выполняет функцию разрешения/запреще-
ния таймера/счетчикаї В режимах с предварительным делением на
соответствующий коэффициент делится частота СК тактового гене-
ратора. При использовании внешнего тактирования необходимо вы-
полнить соответствующие установки в регистре управления направ-
лением (очистка переводит вывод в режим входа).
Выбор источника тактового сигнала таймера/счетчикаї (табл. 18).
Табл.18
CS12
CS11
CS10
Описание
0
0
0
Бгор условие - таймер/счетчик! остановлен
0
0
1
СК
0
1
0
С К/8
0
t
1
СК/64
1
0
0
СК/256
1
0
1
СК/1024
t
t
0
Внешний тактирующий сигнал на выводе Т1,
нарастающий фронт
t
t
t
Внешний тактирующий сигнал на выводе Т1,
падающий фронт
Таймер/счетчикі -TCNT1H и TCNT1L
Биты
15
ы
13
12
11
10
9
8
$2D ($4D)
MSB
TCNT1H
$2С ($4С)
LCB
TCNT IL
7
6
5
4
3
2
1
0
Чтение/
Запись
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). Этот регистр используется также при обращении к OCR1 А,
OCR1В и 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 продолжит от-
счет через один тактовый цикл после установки в нем записанного
значения.
Регистры сравнения выхода таймера/счетчика!
Биты
15
14
ІЗ
12
11
10
9
8
$2В ($4В)
MSB
OCR1AH
S2A ($4А)
LCB
OCR! AL
7
6
5
4
3
2
t
0
Чтение/
Запись
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
Регистры сравнения В выхода таймера/счетчикаї - OCR1BH
и OCR1BL- (Timer/Counterl Output Compare Register)
Биты
15
14
13
12
11
10
9
8
$29 ($49)
MSB
OCR1BH
$28($48)
LCB
OCR1BL
7
Ь
5
4
3
2
t
0
Чтение/
Запись
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-разрядные регистры сравнения выхода обеспечивают и чте-
ние. и запись.
Регистры сравнения выхода таймера/счетчика1 хранят данные,
постоянно сравниваемые с состоянием таймера/счетчика1. Действие,
запускаемое совпадением при сравнении, определяется содержимым
регистра управления и состояния таймера/счетчика1. Совпадение при
сравнении может произойти, только если таймер/счетчик1 досчитает
до значения содержимого OCR. Если в TCNT1 и OCR1A или OCR1B
программно будут записаны одинаковые значения, то совпадение при
сравнении сгенерировано не будет.
Совпадение при сравнении устанавливает флаг прерывания
по совпадению в тактовом цикле CPU, следующем за самим со-
впадением.
Поскольку регистры сравнения выхода OCR1A и OCR1B явля-
ются 16-разрядными, то для обеспечения одновременного занесе-
ния старшего и младшего байтов данных в регистры OCR1A/B ис-
пользуется регистр временного хранения TEMP. Когда CPU записы-
вает старший байт, то данные временно сохраняются в регистре
TEMP. Когда же CPU записывает младший байт в OCR1AL или
OCR1BL, то одновременно содержимое регистра OCR1ВН переписы-
вается в OCR1AH или OCR1BH. Следовательно, при 16-разрядных
операциях старшие байты регистров OCR1 A/В должны записываться
первыми.
Кроме того, регистр TEMP используется при обращении KTCNT1
и 1CR1. Если основная программа и подпрограммы обработки пре-
рываний используют обращение к регистрам посредством TEMP, то
прерывания должны быть запрещены на время обращения из ос-
новной программы.
предыдущая страница 46 Радиолюбитель 2003-08 читать онлайн следующая страница 48 Радиолюбитель 2003-08 читать онлайн Домой Выключить/включить текст