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

1.10. Таймеры/счетчики (timer/counters)

Микроконтроллеры AVR имеют в своем составе от 1 до 4 таймеров/счетчиков с разрядностью 8 или 16 бит, которые могут работать и как таймеры от внутреннего источника тактовой частоты, и как счетчики внешних событий.

Их можно использовать для точного формирования временных интервалов, подсчета импульсов на выводах микроконтроллера, формирования последовательности импульсов, тактирования приемопередатчика последовательного канала связи. В режиме ШИМ (PWM) таймер/счетчик может представлять собой широтно-импульсный модулятор и используется для генерирования сигнала с программируемыми частотой и скважностью. Таймеры/счетчики способны вырабатывать запросы прерываний, переключая процессор на их обслуживание по событиям и освобождая его от необходимости периодического опроса состояния таймеров. Поскольку основное применение микроконтроллеры находят в системах реального времени, таймеры/счетчики являются одним из наиболее важных элементов.

Микроконтроллер ATmega8515 оснащен двумя таймерами/счетчиками – 8 (T/C0) и 16 (T/C1)-разрядным.

1.10.1. Таймер/счетчик t/c0

В состав T/C0 входят три регистра спецфункций:

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

– регистр управления TCCR0,

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

8-разрядный таймер/счетчик0 получает тактовый сигнал или непосредственно от TCK0 или после прохождения его через предварительный делитель.

В регистре флагов прерывания таймеров/счетчиков TIFR хранятся различные флаги состояния регистров (переполнения, совпадения при сравнении). Установки управляющих сигналов хранятся в регистрах управления таймерами/счетчиками TCCR0. Установка разрешения/запрещения прерываний производится в регистре масок прерываний таймеров/счетчиков TIMSK.

Таймер/счетчик поддерживает функцию сравнения выхода OCR0 как источник данных, сравниваемых с содержимым таймера/счетчика. В функции сравнения выхода входит и опция очистки счетчика при совпадении и формирование, при совпадении, сигнала на выводах сравнения выхода – PB0(OC0).

Таймер/счетчик 0 можно использовать как 8-разрядный широтно-импульсный модулятор (PWM). В этом режиме таймер/счетчик, совместно с регистром совпадения выхода работают как автономный ШИМ с центрированными импульсами и без ложных выбросов.

Рис. 20. Блок-схема таймера/счетчика 0

Регистр управления т/с0 - tccr0 (The Timer/Counter0 Control Register) Регистр tccr0 предназначен для управления модулем т/c0. Формат регистра tccr0:

Таблица 10. Формат регистра TCCR0

Биты

7

6

5

4

3

2

1

0

$33 ($53)

FOC0

WGM00

COM01

COM00

WGM01

CS02

CS01

CS00

TCCR0

Чтение/Запись

R

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Начальное состояние

0

0

0

0

0

0

0

0

Bit 7 –FOC0 – Принудительное изменение состояния вывода ОС0. При записи в этот разряд логической 1 состояние вывода ОС0 изменяется в соответствии с разрядами СОМ00, СОМ01. Прерывания при этом не генерируются.

Bits 6,3 – WGM00, WGM01 – Определяют режим работы таймер/счетчика0.

Таблица 11. Режимы работы T/C0

режима

WGM01

WGM00

Режим работы

0

0

0

Normal

1

0

1

Phase correct PWM

2

1

0

CTC

3

1

1

Fast PWM

Bits 5,4 – СОМ01:СОМ00 – Определяют режим работы блока сравнения. Определяется поведение вывода ОС0 при наступлении события «совпадение».

Bits 2..,0 – CS02,..CS00 – Управление тактовым сигналом. Разряды определяют источник тактового сигнала МК.

Счетный регистр – Таймер/счетчик0 – TCNT0

Регистр TCNT0 входит в состав основного блока модуля – блока реверсивного счетчика. В зависимости от режима работы модуля содержимое счетного регистра сбрасывается, инкрементируется, декрементируется по каждому импульсу тактового сигнала. После подачи питания начальное состояние счетного регистра нулевое.

Таблица 12. Формат регистра TCNT0

Биты

7

6

5

4

3

2

1

0

$32 ($42)

 

 

 

 

 

 

TCNT0

Чтение/Запись

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Начальное состояние

0

0

0

0

0

0

0

0

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