Материал: 8-разрядные микроконтроллеры Atmel

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ÊÒÖ-ÌÊ

CK

TCK0

10-разрядный предварительный делитель

 

 

TCK1

 

TCK0/8

TCK0/32 TCK0/64 TCK0/128

TCK0/256 TCK0/1024

AS0

 

 

 

 

 

CS00

CS01

CS02

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

Рис. 31 Предварительный делитель таймера/счетчика0

Тактовый сигнал таймера/счетчика0 обозначен TCK0. Этот такто вый сигнал по умолчанию подключен к основному тактовому сигналу систе мы CK. При установке бита AS0 в регистре ASSR таймер/счетчик0 будет асинхронно такти роваться сигналом с вывода TOSC1, что позволяет использовать таймер/счетчик0 в ка честве часов реального времени (RTC). Генератор оптимизирован под использование кв арцевого кристалла с частотой 32768 кГц, подсоединяемого между выводами TOSC1 и TOSC2.

8-разрядные таймеры/счетчики T/C0 и T/C2

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

8-разрядный таймер/счетчик2 получает тактовый сигнал непо средственно от CK, после прохождения его через предварительный делитель и ли от внешнего вывода. Оба таймера/счетчика могут быть остановлены, как это пока зано в описании регистров управления таймерами/счетчиками TCCR0 и TCCR2.

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

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

Точность и разрешение 8-разрядных таймеров/счетчиков раст ет с уменьшением коэффициента предварительного деления. Аналогичным обр азом высокий коэффициент предварительного деления удобно использовать при реали зации функций с низким быстродействием или точной синхронизации редко происхо дящих действий.

8 9

ATMEL

 

 

 

 

 

ÊÒÖ-ÌÊ

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

сравнения выхода OCR0 и OCR2 как источники данных, сравниваемых с содержимым

таймеров/счетчиков. В функции сравнения выхода входит и о пция очистки счетчика

при совпадении и формирование, при совпадении, сигнала на выводах сравнения выхода

- PB4(OC0/PWM0) è PB7(OC2/PWM2).

 

 

 

 

Таймеры/счетчики 0 и 2 можно использовать как 8-разрядные ши ротно-

импульсные модуляторы (PWM). В этом режиме таймер/счетчик, со вместно с регистром

совпадения выхода работают как автономный ШИМ с центрированными импульсами

и без ложных выбросов. Подробнее эта функция описана в раз делеТаймеры/счетчики

0 и 2 в ШИМ режиме.

 

 

 

 

 

 

 

Прерывание по

Прерывание по

 

 

переполнению T/C0

совпадению T/C0

 

 

8-разрядная шина данных

 

 

 

 

 

 

8-разрядная асинхронная шина данных

 

 

 

таймера/счетчика 0

 

OCIE2 TOIE2 TICIE1 OCIE1B OCIE1A TOIE1 OCIE0 TOIE0

 

 

OCF0

TOV0

 

 

Регистр масок прерываний

Регистр флагов

 

Регистр управления

ïî T/C0 (TIMSK)

прерываний по T/C0 (TIFR)

T/C0 (TÑCR0)

 

 

OCF2

TOV2 ICF1 OCF2B

OCF2A TOV1 OCF0

TOV0

PWM0 COM01 COM00 CTC0 CS02 CS01

CS00

7

0

Очистка T/C

 

 

 

 

 

 

 

 

Таймер/счетчик0 (TCNT0)

 

Тактовый сигнал T/C

ЛОГИКА УПРАВЛЕНИЯ

TCK0

 

Направл. счета (Up/Down)

 

 

 

7

0

 

 

 

 

 

8-разрядный компаратор

 

 

 

 

 

 

7

0

 

 

 

 

 

Регистр сравнения

 

 

 

 

Регистр асинхронного

выхода (OCR0)

 

 

 

 

состояния (ASSR)

CK

Блок синхронизации

AS0 TC0UB OCR0UB

ICR0UB

 

 

TCK0

 

 

 

 

 

 

 

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

 

 

 

9 0

 

 

 

 

 

 

ÊÒÖ-ÌÊ

 

 

 

 

 

 

 

 

 

 

Прерывание по

Прерывание по

 

 

 

переполнению T/C2

совпадению T/C2

 

 

данных

OCIE2 TOIE2 TICIE1 OCIE1B OCIE1A TOIE1 OCIE0 TOIE0

OCF2

TOV2

 

 

 

Регистр управления

-разрядная шина

Регистр масок прерываний

Регистр флагов

 

ïî T/C0 (TIMSK)

прерываний по T/C0 (TIFR)

 

T/C2 (TOCR2)

 

 

 

TOV2 ICF1

OCF2B

OCF2A TOV1 OCF0

 

PWM2

COM21 COM20 CTC2 CS22 CS21

CS20

7

0

Очистка T/C

 

 

OCF2

TOV0

8

Таймер/счетчик2 (TCNT2)

 

Тактовый сигнал T/C

 

ЛОГИКА УПРАВЛЕНИЯ

 

 

 

 

CK

 

 

Направл. счета (Up/Down)

 

 

7

0

 

 

 

 

 

 

 

 

8-разрядный компаратор

 

 

 

 

 

 

 

 

 

7

0

 

 

 

 

 

 

 

 

Регистр сравнения

 

 

 

 

 

 

 

 

 

выхода (OCR2)

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

РЕГИСТР УПРАВЛЕНИЯ ТАЙМЕРОМ/СЧЕТЧИКОМ0 -

 

 

 

TCCR0 - (The Timer/Counter0 Control Register)

 

 

 

Áèòû

7

6

5

4

3

2

1

0

 

 

$33 ($53)

-

PWM0

COM01

COM00

CTC0

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

 

 

РЕГИСТР УПРАВЛЕНИЯ ТАЙМЕРОМ/СЧЕТЧИКОМ2 -

 

 

 

 

 

TCCR2 - (The Timer/Counter2 Control Register)

 

 

 

 

 

 

Áèòû

7

6

5

4

3

2

1

0

 

 

$25 ($45)

-

PWM2

COM21

COM20

CTC2

CS22

CS21

 

CS20

 

TCCR2

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

R

R/W

R/W

R/W

R/W

R/W

R/W

 

R/W

 

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

0

0

0

0

0

0

0

0

 

 

9 1

ATMEL ÊÒÖ-ÌÊ

• Bit 7 - Res: Reserved Bit - Зарезервированный бит

Данный бит в микроконтроллерах ATmega603/103 зарезервирован и при считывании всегда покажет состояние 0.

•Bit 6 - PWM0 / PWM2: Pulse Width Modulator Enable - Разрешение широтно-

импульсного модулятора

Установленный в состояние 1 бит разрешает режим ШИМ для та ймеров/счетчиков 0 или 2. Режим подробно описан в разделе Таймеры/счетчики 0 и 2 в ШИМ режиме.

•Bits 5,4 - COM01, COM00 / COM21, COM20: Compare Output Mode, bits 1 and 0 -

Режим сравнения выхода, биты 1 и 0

Управляющие биты COMn1 и COMn0 устанавливают состояние выходных выводов PB4(OC0/PWM0) или PB7(OC2/PWM2). после совпадения в таймере/счетчике 2. Поскольку это альтернативная функция выводов порта I/O, то с оответствующий бит направления вывода должен быть установлен в состояние 1. У правляющая конфигурация показана в таблице 10.

Таблица 10. Выбор режима сравнения

COMn1

COMn0

Описание

0

0

Таймер/счетчикn отсоединен от выходного вывода OCn/PWMn

0

1

Переключение выходной линии OCn/PWMn.

1

0

Очистка выходной линии OCn/PWMn (установка в состояние 0).

1

1

Установка выходной линии OCn/PWMn (установка в состояние 1).

Примечания: n = 0 или 2.

В ШИМ режиме функции этих битов отличаются. Подробное опи сание приведено в таблице 13. При изменении битов COMn1/COMn0 прерывание по сравнени ю выхода должно быть запрещено очисткой его бита разрешени я прерывания в регистре TIMSK. В противном случае при изменении состояния бита может п роизойти прерывание.

•Bit 3 - CTC0 / CTC2: Clear Timer/Counter on Compare match - Очистить таймер/ счетчик при совпадении

При установленном в состояние 1 бите CTC0 или CTC2 таймер/счетчик сбрасывается в состояние $00 в течение одного тактового цикла CPU после наст упления совпадения. Если бит управления сброшен, то таймер продолжает считать и не используется в процедуре сравнения. Поскольку факт совпадение детектир уется в тактовом цикле CPU следующем за совпадением, то эта функция будет вести себ я несколько по другому, если коэффициент предварительного деления будет больше 1. Если используется коэффициент предварительного деления равный 1 и в регистр сравнения A установлено содержимое C, то таймер будет продолжать счет так как это де лается при установленном CTC0/2.

... | C-1 | C | C+1 | 0 | 1 | ...

Если установлен коэффициент деления 8, таймер будет счита ть аналогично следующей последовательности:

... | C-1, C-1, C-1, C-1, C-1, C-1, C-1, C-1 | C, C, C, C, C, C, C, C | C+1, 0, 0, 0, 0, 0, 0, 0, 0 | 1, 1, 1,

...

В ШИМ режиме состояние этого бита значения не имеет.

•Bits 2,1,0 - CS02, CS01, CS00 / CS22, CS21, CS20: Clock Select bits 2,1 and 0 - Áèòû

выбора тактовой частоты

Биты 2,1 и 0 выбора тактовой частоты таймера/счетчика2 подклю чают выход определенной ступени предварительного делителя.

9 2

ÊÒÖ-ÌÊ

Таблица 11. Выбор коэффициента деления предварительного делителя таймера/счетчика0

CS02

CS01

CS00

Описание

0

0

0

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

0

0

1

TCK0

0

1

0

TCK0 / 8

 

 

 

 

0

1

1

TCK0 / 32

1

0

0

TCK0 / 64

1

0

1

TCK0 / 128

1

1

0

TCK0 / 256

1

1

1

TCK0 / 1024

Таблица 12. Выбор коэффициента деления предварительного делителя таймера/счетчика2

CS22

CS21

CS20

Описание

 

 

 

 

0

0

0

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

 

 

 

 

0

0

1

CK

0

1

0

CK / 8

0

1

1

CK / 6 4

1

0

0

CK / 256

1

0

1

CK / 1024

1

1

0

Внешний вывод PD7(T2), падающий фронт

1

1

1

Внешний вывод PD7(T2), нарастающий фронт

 

 

 

 

Условие Stop обеспечивает реализацию функции разрешения/за прещения таймера.

Режим деления CK реализуется непосредственным делением та ктовой частоты CK. Если для тактирования таймера/счетчика 2 используется вн ешний источник, то переключения на выводе PD7/(T2) будут воздействовать на счетч ик, даже если этот вывод сконфигурирован как выход.

ТАЙМЕР/СЧЕТЧИК0 - TCNT0 - (Timer/Counter0)

Áèòû

7

6

5

4

3

2

1

0

 

$32 ($42)

MSB

 

 

 

 

 

 

 

 

 

 

LSB

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

 

ТАЙМЕР/СЧЕТЧИК2 - TCNT2 - (Timer/Counter2)

 

 

 

 

 

 

Áèòû

7

6

5

4

3

2

1

0

 

$24 ($44)

MSB

 

 

 

 

 

 

 

 

 

 

LSB

TCNT2

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

R/W

 

R/W

R/W

R/W

 

R/W

 

R/W

 

R/W

R/W

 

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

0

0

0

0

0

0

0

0

 

Содержимое этих 8-разрядных регистров является состояние м таймеров/ счетчиков. Оба таймера/счетчика реализованы как счетчики по нарастанию или реверсивные (в ШИМ режиме) счетчики с возможностью чтения /записи. Если в таймер/ счетчик записано некоторое значение и выбран источник та ктового сигнала, то он продолжит счет с записанного значения с тактовой частото й счетчика.

9 3

Источник: https://studfile.net/preview/16521258/