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

Часові діаграми таймера-лічильника 0

На рисунку часової діаграма роботи таймер-лічильника 0 без дільника частоти тактовий сигнал таймера (clkT0) показаний як сигнал дозволу синхронізації. Рахункова послідовність показана в області максимального значення лічильника (0xFF). На наступних рисунках показані аналогічні тимчасові діаграми, але з дозволеним дільником частоти тактового сигналу.

Представлені діаграми відповідають синхронному по відношенню до системної частоти режиму тактування таймера-лічильника. Однак, вони будуть повністю відповідати асинхронному режиму роботи, якщо замінити clkI/O на сигнал генератора таймера-лічильника.

Часова діаграма таймера-лічильника без дільника частоти

(fclk_I/O/8) Часова діаграма таймера-лічильника з дільником частоти на 8 (fclk_I/O/8)

Часова діаграма таймера-лічильника з установкою мітка OCF0 і дільником частоти 8 (fclk_I/O/8)

Часова діаграма таймер-лічильника з дільником частоти 8 (fclk_I/O/8) в режимі скидання при збігу

Опис регістрів 8-розрядного таймера-лічильника 0

Регістр управління таймером-лічильником 0 - TCCR0

Розряд

7

6

5

4

3

2

1

0

FOC0

WGM00

COM01

COM00

WGM01

CS02

CS01

CS00

TCCR0

Читання/запис

Чт

Чт/Зп.

Чт/Зп

Чт/Зп

Чт/Зп

Чт/Зп

Чт/Зп

Чт/Зп

Поч. значення

0

0

0

0

0

0

0

0

Розряд 7 - FOC0: Примусова установка результату порівняння

Функція біта FOC0 активна тільки, якщо за допомогою біт WGM заданий один з режимів, де немає широтно-імпульсної модуляції. Однак з метою сумісності з наступними мікроконтролерами рекомендується під час запису в регістр TCCR0 в позиції даного біта вказувати лог., якщо таймер працює в одному з режимів з широтно-імпульсною модуляцією. Якщо записати лог. 1 в біт FOC0, то це призводить до примусової установки результату порівняння на вході блоку формування вихідного сигналу. Отже, значення записане в COM01, COM00 визначає ефект дії примусової установки результату порівняння. Зверніть також увагу, що біт FOC0 є стробуючим.

Строб FOC0 не генерує жодних переривань, а також не викликає скидання таймера в режимі СТС, де регістр OCR0 задає верхню межу лічби.

Біт FOC0 завжди зчитується як 0.

Розряди 6, 3 - WGM01: 0: Режим роботи таймера-лічильника 0

Дані біти визначають алгоритм лічби лічильника, джерело, яке задає верхню межу рахунку та тип генеруються прямокутних імпульсів. Даним таймером підтримуються наступні режими роботи: нормальний режим, режим скиду при збігу і два режими з широтно-імпульсною модуляцією. У таблиці представлені режими роботи таймера-лічильника 0

Опис біт, які задають режим роботи таймера-лічильника 0

Номер режиму

WGM01

WGM00

Найменування режиму роботи таймера-лічильника 0

Верхня межа лічби

Умова оновлення вмісту регістра OCR0

Умова установки мітки TOV0

0

0

0

Нормальний

0xFF

Відразу після запису в регістр

Досягнення максимального значення (0xFF)

1

0

1

ШІМ з фазовою корекцією

0xFF

Досягнення верхньої межі лічби

Досягнення мінімального значення (0x00)

2

1

0

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

OCR0

Відразу після запису в регістр

Досягнення максимального значення (0xFF)

3

1

1

Швидка ШІМ

0xFF

Досягнення верхньої межі лічби

Досягнення максимального значення (0xFF)

Розряди 5:4 - COM01, COM00: Режим формування вихідного сигналу

Дані біти визначають алгоритм зміни сигналу на виводі OC0. Якщо значення даних біт ненульове, то функція виводу OC0 як звичайного порту вводу-виводу замінюється на альтернативну. Однак, слід враховувати, що напрямок цього виводу також управляється через регістр напрямку даних порту В (DDRB). Тому, для дозволу альтернативної функції виводу OC0 також необхідно встановити біт 4 (OC0) в регістрі DDRB для установки вихідного напряму.

Після активізації альтернативної функції призначення біт COM01, COM00 залежить від обраного режиму роботи таймера бітами WGM01, WGM00У таблиці 53 приведено призначення біт COM01, COM00, якщо за допомогою WGM01, WGM00 заданий нормальний режим або режим скидання при збігу (тобто режими без ШІМ).

Таблиця Режими формування вихідного сигналу в режимах роботи таймера 0 без ШІМ

COM01

COM00

Опис

0

0

Функція звичайного порту вводу-виводу. OC0 відключений.

0

1

Перемикання (інвертування) OC0 при кожному збігу

1

0

Скидання OC0 при кожному збігу

1

1

Установка OC0 при кожному збігу

У таблиці наступній таблиці наведено призначення біт COM01, COM00 для режиму роботи таймера-лічильника 0 з швидкою ШІМ (WGM01: 0).

Зазначення цих бітів для режимів з ШІМ дивіться у опис даного мікроконтролера

Розряди 2:0 - CS02: 0: Настройка частоти синхронізації таймера

За допомогою трьох настроювальних біт є можливість вибрати різні тактові частоти, кратні вхідній частоті синхронізації

Таблиця вибору частоти синхронізації таймера 0

CS02

CS01

CS00

Опис

0

0

0

Немає синхронізації. Таймер-лічильник 0 зупинений.

0

0

1

clkT0S/1 (без ділення частоти)

0

1

0

clkT0S/8 (з діленням частоти)

0

1

1

clkT0S/32 (з діленням частоти)

1

0

0

clkT0S/64 (з діленням частоти)

1

0

1

clkT0S/128 (з діленням частоти)

1

1

0

clkT0S/256 (з діленням частоти)

1

1

1

clkT0S/1024 (з діленням частоти)

Регістр таймера-лічильника - TCNT0

Розряд

7

6

5

4

3

2

1

0

 

 

TCNT0[7:0]

TCNT0

Читання/запис

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

 

Поч. значення

0

0

0

0

0

0

0

0

 

Регістр таймера-лічильника характеризується двоспрямованістю доступу до 8-розрядному лічильнику таймера 0. Зміна вмісту лічильника (TCNT0) під час лічби пов'язано з ризиком втрати результату порівняння між TCNT0 і регістром OCR0.

Регістр порогу порівняння - OCR0

Розряд

7

6

5

4

3

2

1

0

 

 

OCR0[7:0]

OCR0

Читання/запис

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

Чт./Зп.

 

Поч. значення

0

0

0

0

0

0

0

0

 

Регістр порогу порівняння містить 8-розр. значення, яке безперервно порівнюється цифровим компаратором зі значенням 8-розр. лічильника (TCNT0). Факт збігу значень може використовуватися для генерації переривання по виконанню умови порівняння або для генерації прямокутних імпульсів на виводі OC0.