Функціонування таймерів Т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 7 rn | rn rn FOCх rn | rn rn Примусове зміна стану виводу OCх в режимах Normal і CTC (залежить від бітів COMх0 і COMх1) rn | rn rn rn rn 6,3 rn | rn rn CTCх, PWMх rn | rn rn Вибір режиму роботи таймера-лічильника rn rn rn rn rn Режим rn | rn rn CTCх rn | rn rn PWMх rn | rn rn Опис режиму роботи rn | rn rn rn rn 0 rn | rn rn 0 rn | rn rn 0 rn | rn rn Normal (сумуються лічильник) rn | rn rn rn rn 1 rn | rn rn 0 rn | rn rn 1 rn | rn rn Phase correct PWM rn | rn rn rn rn 2 rn | rn rn 1 rn | rn rn 0 rn | rn rn CTC (скидання при збігу) rn | rn rn rn rn 3 rn | rn rn 1 rn | rn rn 1 rn | rn rn Fast PWM rn | rn rn rn rn | rn rn rn rn 5,4 rn | rn rn COMх1, COMх0 rn | rn rn Режим роботи блоку порівняння. Визначає стан виведення OC0 (ОС2) при настанні події «Режим». Для режимів Normal і CTC доступні такі стану rn rn rn rn rn COMх1 rn | rn rn COMх0 rn | rn rn Опис стану виводу OCх rn | rn rn rn rn 0 rn | rn rn 0 rn | rn rn Таймер відключений від виведення OСх rn | rn rn rn rn 0 rn | rn rn 1 rn | rn rn Зміна на протилежну rn | rn rn rn rn 1 rn | rn rn 0 rn | rn rn Висновок скидається у «0» rn | rn rn rn rn 1 rn | rn rn 1 rn | rn rn Висновок встановлюється в «1» rn | rn rn rn rn | rn rn rn rn 2-0 rn | rn rn CSх2 ... CSх0 rn | rn rn Управління тактовим сигналом. Ці біти вибирають один з виходів предделітеля для отримання лічильних імпульсів, а також визначають старт і останов таймерів. Принципи управління показані в табл.27.4. rn | rn rn 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 CSх2 rn | rn rn CSх1 rn | rn rn CSх0 rn | rn rn Джерело тактового сигналу rn | rn rn rn rn Для таймера Т0 rn | rn rn rn rn 0 rn | rn rn 0 rn | rn rn 0 rn | rn rn Таймер-лічильник Т0 зупинений rn | rn rn rn rn 0 rn | rn rn 0 rn | rn rn 1 rn | rn rn Системний тактової сигнал CLKsys rn | rn rn rn rn 0 rn | rn rn 1 rn | rn rn 0 rn | rn rn CLKsys /8 rn | rn rn rn rn 0 rn | rn rn 1 rn | rn rn 1 rn | rn rn CLKsys /64 rn | rn rn rn rn 1 rn | rn rn 0 rn | rn rn 0 rn | rn rn CLKsys /256 rn | rn rn rn rn 1 rn | rn rn 0 rn | rn rn 1 rn | rn rn CLKsys /1024 rn | rn rn rn rn 1 rn | rn rn 1 rn | rn rn 0 rn | rn rn Зовнішній висновок Т0, рахунок по спаду імпульсу (1
|
|