Л
МИКРОКОНТРОЛЛЕРЫ
[
- бит 7.
.4 - не используются;
- бит 3 - включить в качестве источника сигнала вне-
шний кварц. После установки либо сброса соответствующе-
го бита состояния регистров TCCR, TCNT и OCRO могут быть
непредсказуемыми;
- бит 2.
.0 - биты занятости регистров TCNTO, OCRO, и
TCR соответственно. Появления этих битов связано с тем,
что внешний кварц никаким образом не синхронизирован с
тактовым генератором микроконтроллера, поэтому обнов-
ление этих регистров в асинхронном режиме занимает неко-
торое время. Перед обращением в асинхронном режиме к
соответствующим регистрам необходимо предварительно
проверить, чтобы бит занятости соответствующего регистра
был сброшен.
Таймер 1 представлен в микроконтроллере следующими
регистрами:
- управляющие регистры TCCR1 A, TCCR1В и TCCR1C;
- счетный регистр TCNT1, состоящий из двух регистров
TCNT1L (младший байт) и TCNT1Н (старший байт);
- три регистра сравнения OCR1 A, OCR1В и OCR1 С, так-
же состоящие из OCRIxL (младший байт) и OCRIxH (стар-
ший байт);
- регистр захвата ICR1, также состоящий из ICR1L и
ICR1H.
Управляющий регистр TCCR1A имеет следующий фор-
мат:
- бит 7.
.6 - режим вывод сигнала сравнения с OCR1A на
линию порта В[5]. Комбинации битов см. описание таймера 0;
- бит5.
.4-тоже, для OCR1B и линии порта В[6];
- бит 3.
.2 - то же, для OCR1С и линии порта В[7];
.
- бит 1.
.0 - совместно с битами 4.
.3 регистра TCCR1B
задают режим работы таймера (описание будет дано чуть
позже).
Управляющий регистр TCCR1В имеет следующий фор-
мат:
- бит 7 - устранение “дребезга” при “защелкивании" дан-
ных в ICR1. При установке этого бита сигнал на входе D[4]
проверяется, чтобы его длительность была не менее 4 ма-
шинных циклов;
- бит 6 - каким образом “защелкивается” значение в ре-
гистр IC R -фронтом (лог.О) или спадом (лог.1) сигнала;
- бит 5 - не исрользуется;
- бит 4.
.3 - совместно с битами 1.
.0 регистра TCCR1A
включают режим работы таймера. Всего таких режимов 15
(одна из комбинаций битов не используется). Укажем наибо-
лее интересные из них:
• TCCR1 В[4.
.3], TCCR1A[1 .
.0] = 00 00-обычный режим
- счет до переполнения
• TCCR1 В[4.
.3], TCCR1 А[1 .
.0] = 01 00 - счет до
сравнения с регистром OCR1А
• TCCR1 В[4.
.3], TCCR1 А[1 .
.0] = 11 00 - счет до
сравнения с регистром ICR1
•TCCR1B[4.
.3], TCCR1A[1.
.0] = 11 1 0 - ШИМ в режиме
fast, до сравнения с ICR1
• TCCR1 В[4.
.3], TCCR1 А[1 .
.0] = 11 11 - ШИМ в режиме
fast, до сравнения с OCR 1А
- бит 2.
.0 - источник сигнала для таймера. Комбина-
ция битов 000 отключает таймер, комбинация битов 001 -
выбирает тактовую частоту процессора, 010 - тактовую час-
тоту, деленную на 8,011 - деленную на 64,100 - на 256,101
- на 1024, комбинация битов 110 в качестве источника сиг-
нала выбирает линию Т1 (порт D[6]) со счетом по спаду сиг-
нала, 111 - то же, по фронту сигнала.
В регистре TCCR1C используются только 3 бита:
- бит 7
симуляция сравнения с OCR1 А;
- бит 6 - симуляция сравнения с OCR1 В;
- бит 5 - симуляция сравнения с OCR1C.
Таймер 3 содержит тот же набор регистров, но с цифрой
3 в названии (TCCR3A и т.д.). В плане управления он полно-
стью идентичен таймеру 1. Линии портов, которые принима-
ют участие в работе таймера 3, были упомянуты при общем
описании работы таймеров.
Таймер 2 имеет некоторые отличия от таймера 0. Во-
первых, у него отсутствует регистр ASSR, поскольку источ-
ника тактовых сигналов от 32 Кгц кварца для него не пре-
дусмотрено. Во-вторых, биты 2.
.0 регистра TCCR2 имеют
несколько отличное от битов 2.
.0 таймера 0 назначение, а
именно - комбинация 000 отключает таймер, комбинация
001 - включает режим счета сигнала тактового генератора,
010 - тактового генератора, поделенного на 8, 011 - на 64,
100 - на 256,101 - на 1024, а вот комбинация 110 и 111 вклю-
чают счет импульсов со входа Т2 (порт D[7]) аналогично тай-
мерам 1 и 3.
Если читатель обратил внимание, на линию порта В[7]
выведен как сигнал сравнения таймера 1 с регистром OCR1 С,
так и сигнал сравнения таймера 2 с регистром OCR2. Это
сделано умышленно, потому что таким способом в микро-
контроллер АТМеда128 введен новый режим (в документа- '
ции он называется ОСМ - output compare modulator). Смысл
его заключается в том, что фактически сигнал на выходе В[7]
представляет собой “монтажное ИЛИ” этих двух сигналов.
Благодаря ему на этом выходе можно формировать пачки
сигналов, причем частота и скважность импульсов заполне-
ния пачек будет регулироваться таймером 1, а период сле-
дования и длительность пачек - таймером 2. Автор, впро-
чем, затрудняется назвать задачу, для которой такой режим
был бы применим,
И, наконец, еще один регистр, тесно связанный с тайме-
рами - регистр SFIOR. Его формат:
- бит 7 - включение режима синхронизации таймеров.
При установке этого бита фактически останавливается ра-
бота предделителя таймеров, после чего можно заполнять,
например, счетные регистры таймеров, не опасаясь появле-
ния при этом различных артефактов;
- бит 6.
.4 - не используется;
- бит 3 - включение мультиплексора для аналогового ком-
паратора (об этом бите уже упоминалось);
- бит 2 - бит отключения подтягивающих резисторов на
линиях портов. Бит этот “перекочевал” в регистр SFIOR из
регистра MCUCR микроконтроллера АТПпу15;
- бит і - сброс предделителя таймера 0;
- бит 0 - сброс предделителя таймеров 1,2 и 3 (напоми-
наем читателю: предделитель у этих таймеров - общий).
-----------------------------------
:-------------- '----
бЦК
Продолжение в №10/2008
Радиолюбитель - 0 9 /2 0 0 8 [|
31
предыдущая страница 31 Радиолюбитель 2008-09 читать онлайн следующая страница 33 Радиолюбитель 2008-09 читать онлайн Домой Выключить/включить текст