Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[27]

Оба таймера/счетчика поддерживают две функции сравнения выхода, используя регистры сравнения выхода OCR0 и OCR2 как источники данных, сравниваемых с содержимым таймеров/счетчиков. В функции сравнения выхода входит и опция очистки счетчика при совпадении и формирование, при совпадении, сигнала на выводах сравнения выхода - PB4(OC0/PWM0) и PB7(OC2/PWM2).

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

Прерывание по Прерывание по переполнению T/C0 совпадению T/C0

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

-1 1-

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

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

OCIE2 TOIE2

TICIE1

OCIE1B

uj

IC O

TOIE1

OCIE0

о

EI

ITO

1

OCF0

TOV0

Регистр масок прерываний по T/C0 (TIMSK)

Регистр флагов прерываний по T/C0 (TIFR)

cs cs - cq < - о

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

Очистка T/C

Регистр управления T/C0 (TCCR0)

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

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

710

i * i i i i i

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

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

70

Регистр сравнения выхода (OCR0)

Регистр асинхронного состояния (ASSR)

CK TCK0

=5

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

B

3 3 3

ооо

г)

OI

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

о

I

о

1

о и

о

ь

о

3

о о

3

1

о и

о

0

7


Прерывание по Прерывание по переполнению T/C2 совпадению T/C2

11

CN

LLJ

О

О о

со <.

fIoIoIRIoIRI51 R

Регистр масок прерываний по T/C0 (TIMSK)

Регистр флагов прерываний по T/C0 (TIFR)

CN СЧ - CQ < - О

> у-. CN СЧ >

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

Очистка Т/С

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

T/C2 (TOCR2)

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

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

7-i-1

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

*******

логика управления

ck

7iо

Регистр сравнения выхода (OCR2)

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

РЕГИСТР УПРАВЛЕНИЯ ТАЙМЕРОМ/СЧЕТЧИКОМ0 -TCCR0 - (The Timer/CounterO Control Register)

Биты7

$33 ($53)Г"7"

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

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

6

5 4 3 2 10

PWM01 COM011 COM00 CTC0 CS02 CS01 CS00 Н TCCR0

R/W R/W R/W R/W R/W R/W R/W

0000000

ш

D О

СЧ

I

о

СЧ

2 О и

сч U

сч

СЧ ОО

и

о сч

ОО

и

сч 2

о и

сч

LO

7

о

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

TCCR2 - (The Timer/Counter2 Control Register)

Биты7 6 543210

$25 ($45) - PWM21 COM211COM20 CTC2 CS22 CS21 CS20 TCCR2

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

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


•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

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

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

COMnl

COMn0

Описание

0

0

Таймер/счетчикп отсоединен от выходного вывода 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 подключают выход определенной ступени предварительного делителя.



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51]