Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety.doc
Скачиваний:
17
Добавлен:
08.03.2015
Размер:
7.46 Mб
Скачать

22. Таймеры-счетчики.

T0, T1, T2.

Таймер – формирует интервал времени, счетчик – подсчитывает события.

T0 – восьмиразрядный таймер-счетчик;

T1 – шестнадцатиразрядный таймер-счетчик;

T2 – восьмиразрядный таймер-счетчик.

Могут работать как таймер, так и как счетчик, также могут работать в сравнении с ШИМ.

Структура таймера-счетчика T0:

TCNT0 – счетный регистр;

TCCR0 – регистр управления таймером-счетчиком;

OCR0 – регистр сравнения;

TIMSK – регистр, отвечающий за разрешение прерываний от таймера счетчика;

TIFR – регистр разрешения флагов прерываний.

Работа таймера-счетчика основана на внешних сигналах:

CLK – сигнал тактовой частоты микроконтроллера;

T0 – поступают сигналы, которые нужно подсчитывать;

OC0 – выход используется для формирования сигнала ШИМ и в режиме сравнения.

Существуют четыре режима таймера-счетчика:

  1. Нормальный.

  2. Сброс при совпадении (СТС)

  3. Быстродействующий ШИМ.

  4. ШИМ с точной фазой.

Рассмотрим регистр управления. Три младших бита определяют источник тактового сигнала таймера-счетчика.

000 – таймер остановлен;

001 – на вход таймера подается CLK;

010 – CLK/8;

011 – CLK/64;

100 – CLK/256;

101 – CLK/1024;

110 – спадающий фронт на входе T0;

111 – нарастающий фронт на входе T0.

Последние два – в режиме счетчика.

Четвертый и пятый биты определяют режим работы блока сравнения. Этими битами определяется поведение выхода OC0 при наступлении события сравнения или совпадения содержимого регистра TCNT0 с содержимым регистра OCR0.

Нормальный режим работы.

Наиболее простой при работе таймера-счетчика.

По каждому импульсу тактового сигнала значение счетчика увеличивается на единицу. При достижении состояния все единицы, таймер-счетчик переполняется и следующим импульсом сбрасывается в ноль, и продолжает счет. Есть флажок переполнения. При каждом переполнении он устанавливается в «1» и при разрешении прерывания по этому флагу, микроконтроллер переходит к подпрограмме обслуживания, флажок сбрасывается. Если нет прерывания по этому флагу, сброс флажка осуществляется программно.

В нормальном режиме работы работает система сравнения. При равенстве содержания счетного регистра и регистра сравнения устанавливается еще один флаг, прерывания при совпадении. Этот флаг может вызвать прерывание, если оно разрешено. Микроконтроллер перейдет к подпрограмме обслуживания, флаг автоматически сбрасывается.

OC0:

00 – вывод OC отключен от T0;

01 – состояние меняется на противоположное при каждом сравнении;

10 – OC устанавливается в 0;

11 – OC устанавливается в 1.

Режим СТС (сброс при совпадении).

В этом режиме с каждым тактовым импульсом увеличивается на «1». При достижении события сравнения, счетный регистр сбрасывается и счет начинается с «0». Частота на выходе OC0 следования импульсов меняется в зависимости от числа, записанного в регистре сравнения.

В режиме СТС

FF

CO0

FF

При достижении события сравнения в СТС устанавливается флажок события, который может вызвать прерывание если оно разрешено.

Режим быстродействующий ШИМ.

Формируется на выходе OC0.

­

T

2T

3T

Длительность импульса ШМ

Период ШИМ

­

Основные параметры:

- период ШИМ;

Длительность импульса ШИМ (0-T) определяется содержимым регистра сравнения.

Период ШИМ определяется периодом тактового сигнала, поступающего в счетный регистр.

00 – отключен;

01 – зарезервировано;

10 – обычный ШИМ;

11 – инвертированный ШИМ.

Режим ШИМ с точной фазой.

T

2T

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]