Учебное пособие: Микроконтроллеры AVR

Таймеры/счетчики – это, наиболее часто используемые модули микроконтроллеров. С их помощью можно измерять промежутки времени и частоту, определять ширину импульсов, вычислять скорость и т.д. Хотя они и используются для измерения времени, на самом деле речь идет об обычных двоичных счетчиках.

В микроконтроллерах AVR и PIC используются как 8-ми, так и 16-ти разрядные таймеры/счетчики. Разрядность определяет момент переполнения счетчика (возврат в нулевое состояние). Так, для 8-разрядного счетчика переполнение наступает, когда счет достигает 255, а для 16-разрядного – 65535.

Количество таймеров/счетчиков и их разрядность в микроконтроллерах отличается в зависимости от модели, и потому в данном разделе будут рассмотрены только общие вопросы, имеющие отношение к использованию таймеров/счетчиков.

Если таймер/счетчик функционирует в качестве счетчика, то он подсчитывает число импульсов, поступающих на определенный вход микроконтроллера. В этом случае соответствующий вывод должен быть сконфигурирован в инициализационной части программы как вход.

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

Таймеры/счетчики микроконтроллеров AVR

В микроконтроллерах AVR могут использоваться следующие таймеры/счетчики:

-8-ти или 16-ти разрядный Т/С0;

-16-разрядный Т/С1;

-8-ми или 16-ти разрядный Т/С2.

Регистры управления в этом случае называются TCCR0, TCCR1 и TCCR2 (расположены в области ввода/вывода), а режим работы и коэффициент деления частоты осциллятора определяется с помощью разрядов CSx2, CSxl и CSx0 этих регистров. К примеру, для таймеров/счетчиков Т/С0 и Т/С1 выбор режима и входного такта можно определить с помощью комбинаций разрядов, представленных в табл. 4.1.

Таблица 4.1. Выбор режима и входного такта для Т/С0 и Т/С1

CSx2 CSx1 CSxO Описание
0 0 0 Останов
0 0 1 Режим "Таймер", такт = такт системной синхронизации
0 1 0 Режим "Таймер", такт = такт системной синхронизации / 8
0 1 1 Режим "Таймер", такт = такт системной синхронизации / 64
1 0 0 Режим "Таймер", такт = такт системной синхронизации / 256
1 0 1 Режим "Таймер", такт = такт системной синхронизации /1024
1 1 0 Режим "Счетчик", такт – внешний на входе Т0 (Т1), активный фронт сигнала – ниспадающий
1 1 1 Режим "Счетчик", такт – внешний на входе Т0 (Т1), активный фронт сигнала – нарастающий

Для Т/С2 комбинации разрядов CS22, CS21 и CS20 могут иметь разное значение для различных моделей микроконтроллеров.

Т/С0

Схема работы таймера/счетч?

К-во Просмотров: 689
Бесплатно скачать Учебное пособие: Микроконтроллеры AVR