Приклади розрахунку

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

ХАРКІВСКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ имені В.Н.

КАРАЗІНА
Кафедра електроніки та управляючих систем

ПРИКЛАДИ РОЗРАХУНКУ РЕЖИМІВ РОБОТИ ТАЙМЕРІВ-ЛІЧИЛЬНИКІВ

Задача 1. Запрограмувати таймер Т/С0 на час ТЗАД = 10 мс при тактовій частоті


мікроконтролера fBQ = 3 МГц

Рішення
1. Знаходимо період тактової частоти: τ = 1 / fBQ = 1/(3 ⋅ 10 6) = 1/3 ⋅ 10 -6 (с).
2. Тривалість машинного циклу: ТМЦ = 12 ⋅ τ = 12 ⋅ 1/3 ⋅ 10 -6 = 4 ⋅ 10 -6 (с) [або 4 мкс].
3. Кількість необхідних машинних циклів: N = ТЗАД / ТМЦ = 10 ⋅ 10 -3 / 4 ⋅ 10 -6 = 2500.
4. Таку затримку може забезпечити нульовий та перший режим роботи таймера, але в цьому
випадку обираємо перший режим як більш зручний та з більшими можливостями.
5. Розрахуємо попередньо встановлене значення для першого режиму: 65 536 – 2500 = 63 036.
6. Обчислюємо TH0 і TL0: 63 036 / 256 = 246 + 60 в залишку,
тобто: ТН0 = 246, ТL0 = 60,
або: 63 036 = F63Сh, отже: ТН0 = F6h, ТL0 = 3Сh.
7. Для налаштування таймера необхідно:
MOV TMOD, #00000001b ; #01h або #1 – встановлюємо режим 1 для Т/С0
MOV TH0, #0F6h ; або #246 – завантажуємо старший байт початкового значення
MOV TL0, #03Сh ; або #60 – завантажуємо молодший байт початкового значення
MOV TCON, #00010000b ; #10h або #16 – вмикаємо таймер Т/С0 (дозволяємо його роботу)

Задача 2. Запрограмувати таймер Т/С1 на час ТЗАД = 150 мкс при тактовій частоті
мікроконтролера fBQ = 16 МГц

Рішення
1. Знаходимо період тактової частоти: τ = 1 / fBQ = 1/(16 ⋅ 10 6) = 1/16 ⋅ 10 -6 (с).
2. Тривалість машинного циклу: ТМЦ = 12 ⋅ τ = 12 ⋅ 1/16 ⋅ 10 -6 = 0,75 ⋅ 10 -6 (с).
3. Кількість необхідних машинних циклів: N = ТЗАД / ТМЦ = 150 ⋅ 10 -6 / 0,75 ⋅ 10 -6 = 200.
4. Таку затримку може забезпечити будь-який з режимів роботи таймера, але в цьому випадку
обираємо другий режим як більш зручний (із самопрограмуванням).
5. Розрахуємо попередньо встановлене значення для другого режиму: 256 – 200 = 56 (038h).
6. Отже, для другого режиму із автоматичним перезавантаженням: ТН0 = 56, ТL0 = 56,
6. Для налаштування таймера необхідно:
MOV TMOD, #00100000b ; #020h або #32 – встановлюємо режим 2 для Т/С1
MOV TH0, #038h ; або #56 – завантажуємо початкове значення в старший байт
MOV TL0, #038h ; або #56 – завантажуємо початкове значення в молодший байт
MOV TCON, #01000000b ; #40h або #64 – вмикаємо таймер Т/С1 (дозволяємо його роботу)

You might also like