Микропроцессоры и микроконтроллеры

 
 
 
«Итерация свойственна человеку, рекурсия божественна.»
L. Peter Deutsch
Русский | Українська


Микропроцессоры и микроконтроллеры :: RISC-мікроконтролери сімейства AVR :: Функціонування таймерів Т0 і Т2

Функціонування таймерів Т0 і Т2

До складу кожного з ідентичних таймерів Т0 і Т2 входять по три регістра з простору вводу-виводу: Рахункова регістр TCNT0 (TCNT2), реєстр управління TCCR0 (TCCR2) і регістр порівняння OCR0 (OCR2). Крім того, таймер Т2 містить регістр ASSR для управління його модулем (коефіцієнтом рахунку) в асинхронним режимі.

rn

Таймер Т0 може працювати в режимах 8-розрядної лічильника, лічильника зовнішніх подій, шим і формувачі сигналів. Таймер Т2 підтримує режими 8-розрядної лічильника, шим, формувачі сигналів і годинника реального часу.

rn

Основний засіб керування таймером Т0 і Т2 - регістри TCCR0 і TCCR2. Призначення його розрядів і принципи управління представлені в табл.27.3

rn

Таблиця 27.3

rn

Принципи управління таймером Т0 і Т2 через регістри TCCR0 (2)

rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn
rn

Біт

rn
rn

Назва

rn
rn

Опис призначення

rn
rn

7

rn
rn

FOCх

rn
rn

Примусове зміна стану виводу OCх в режимах Normal і CTC (залежить від бітів COMх0 і COMх1)

rn
rn

6,3

rn
rn

CTCх, PWMх

rn
rn

Вибір режиму роботи таймера-лічильника

rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn
rn

Режим

rn
rn

CTCх

rn
rn

PWMх

rn
rn

Опис режиму роботи

rn
rn

0

rn
rn

0

rn
rn

0

rn
rn

Normal (сумуються лічильник)

rn
rn

1

rn
rn

0

rn
rn

1

rn
rn

Phase correct PWM

rn
rn

2

rn
rn

1

rn
rn

0

rn
rn

CTC (скидання при збігу)

rn
rn

3

rn
rn

1

rn
rn

1

rn
rn

Fast PWM

rn
rn
rn

5,4

rn
rn

COMх1, COMх0

rn
rn

Режим роботи блоку порівняння. Визначає стан виведення OC0 (ОС2) при настанні події «Режим». Для режимів Normal і CTC доступні такі стану

rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn
rn

COMх1

rn
rn

COMх0

rn
rn

Опис стану виводу OCх

rn
rn

0

rn
rn

0

rn
rn

Таймер відключений від виведення OСх

rn
rn

0

rn
rn

1

rn
rn

Зміна на протилежну

rn
rn

1

rn
rn

0

rn
rn

Висновок скидається у «0»

rn
rn

1

rn
rn

1

rn
rn

Висновок встановлюється в «1»

rn
rn
rn

2-0

rn
rn

CSх2 ...
CSх0

rn
rn

Управління тактовим сигналом. Ці біти вибирають один з виходів предделітеля для отримання лічильних імпульсів, а також визначають старт і останов таймерів. Принципи управління показані в табл.27.4.

rn
rn

Примітка: «х» - номер таймера: 0 або 2

rn

Робота таймерів Т0 (Т2) в режимі Normal

rn

У цьому режимі таймер T0 (T2) функціонує як сумуються лічильник імпульсів з частотою, що визначається за табл.27.4. При переході до регістру TCNT0 (TCNT2) через значення $ FF рахунок продовжується з стану $ 00, і виникає переривання, яке фіксується у прапорі TOV0 (TOV2). Крім того, при рівності лічильно регістру TCNT0 (TCNT2) і регістра порівняння OCR0 (OCR2) встановлюється прапор переривання OCF0 (OCF2), а також буде змінюватися стан виведення OC0 (OC2) у відповідності з налаштуваннями згідно табл. 27.3. Усі зазначені переривання будуть оброблятися, якщо вони дозволені через біти регістра TIMSK (табл.27.1).

rn

Таблиця 27.4

rn

Вибір джерела тактового сигналу для таймерів Т0 і Т2

rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn
rn

CSх2

rn
rn

CSх1

rn
rn

CSх0

rn
rn

Джерело тактового сигналу

rn
rn

Для таймера Т0

rn
rn

0

rn
rn

0

rn
rn

0

rn
rn

Таймер-лічильник Т0 зупинений

rn
rn

0

rn
rn

0

rn
rn

1

rn
rn

Системний тактової сигнал CLKsys

rn
rn

0

rn
rn

1

rn
rn

0

rn
rn

CLKsys /8

rn
rn

0

rn
rn

1

rn
rn

1

rn
rn

CLKsys /64

rn
rn

1

rn
rn

0

rn
rn

0

rn
rn

CLKsys /256

rn
rn

1

rn
rn

0

rn
rn

1

rn
rn

CLKsys /1024

rn
rn

1

rn
rn

1

rn
rn

0

rn
rn

Зовнішній висновок Т0, рахунок по спаду імпульсу (1


Следующая статья >>
«Функціонування таймера Т1»