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

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

Рисунок 17 - Режими роботи таймерів-лічильників

Режим 0 Переведення будь-якого Т/С в режим 0 робить його схожим на таймер КМ1816ВЕ48 (восьмибітний лічильник), до входу якого під’єднаний п'ятибітний дільник частоти. Роботу Т/С в режимі 0 на прикладі T/C1 ілюструє рис.17а. У цьому режимі таймера регістр має розрядність 13 біт. При переході зі стану "всі одиниці" у стан "всі нулі" встановлюється прапорець переривання від таймера TF1. Вхідний дозволений синхросигнал таймера 1 (надходить на вхід Т/С1), коли керуючий біт TR1 установлений в 1 або керуючий біт GATE (блокування) дорівнює 0, або на зовнішній вивід запиту переривання INT1 надходить рівень 1. Установка біта GATE в 1 дозволяє використовувати таймер для вимірювання тривалості імпульсного сигналу.

Режим 1 Робота будь-якого Т/С у цьому режимі така сама, як і в режимі 0, за винятком того, що регістр таймера має розрядність 16 біт.

Режим 2 У цьому режимі робота організована таким чином, що переповнення (перехід зі стану "всі одиниці" у стан, "всі нулі") восьмибітного лічильника TL1 призводить не тільки до установки прапорця TF1 (див. рис.17б), але й автоматично перезавантажує в TL1 вміст старшого байта (TH1) таймерного регістра, яке попередньо було задано програмним шляхом. Перевантаження залишає вміст TH1 незмінним. У режимі 2 Т/С0 і Т/С1 також працюють абсолютно однаково.

Режим 3 У режимі 3 Т/С0 і Т/С1 працюють по-різному. Т/С1 зберігає незмінним свій поточний зміст. Роботу Т/С0 ілюструє рис.17в. У режимі 3 TL0 і TH0 функціонують як два незалежних восьмибітних лічильника. Роботу TL0 визначають керуючі біти Т/С0 (С/Т, GATE TR0), вхідний сигнал INT0 і прапорець переповнення TF0. Роботу TH0, який може виконувати тільки функції таймера (підрахунок машинних циклів мікро-ЕОМ), визначає керуючий біт TR1. При цьому TH0 використовує прапорець переповнення TF1. Режим 3 використовується в тих випадках, коли потрібна наявність додаткового восьмибітного таймера або лічильника подій. Можна вважати, що в цьому режимі мікроЕОМ 8051 має у своєму складі три таймера/лічильника. У разі ж, якщо Т/С0 використовується в режимі 3, Т/С1 може бути або вимкнений, або переведено в режим 0, 1 або 2, або може бути використаний послідовним портом як генератор частоти передавання.

Приклад програми

Організувати почергове перемикання лінійки світлодіодів в шаховому порядку. На статичному індикаторі відображати числа 01h і 02h. Організувати затримку почергового виведення на світлодіоди й індикатор, що дорівнює 1 с. Використовувати таймер 0.

$ NOMOD51

$ Include (D:\ Sum_GU_STUD\MPP\ BIN\ASM51\mod51)

ORG 0

Begin:

mov R1, # 01h; записати в R1 число 1

mov R2, # 02h; записати в R2 число 2

mov P1, # 01010101b; виведення результату на лінійку світлодіодів

mov P2, R1

call timer_50mcs; виклик підпрограми затримки

mov P2, R2

mov P1, # 10101010b; виведення результату на лінійку світлодіодів

call timer_50mcs; виклик підпрограми затримки

jmp Begin, перехід на початок програми

timer_50mcs:

mov R7, # 20d

Sec_1:

mov TMOD, # 00000001b

mov TH0, # HIGH (15542)

mov TL0, # LOW (15542)

setb TR0

jnb TF0, $

clr TF0

clr TR0

djnz R7, Sec_1

ret

END

Таблиця 13 - Варіанти індивідуальних завдань до ЛР 7

Номер

вар.

Текст індивідуального завдання

1,11,

21

Занести до регістра R1число 09Н, віднімаючи від числа "1", відображати результат на статичному індикаторі у молодшому розряді до нуля. Вмикати переміщення світлодіода на HL1-HL8. Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 2 с. Використовувати таймер 0

2,12,

22

Занести до регістра R1 число 05Н. Організувати біжучий рядок на статичному індикаторі справа наліво. Вмикати в шаховому порядку світлодіоди HL1-HL8. Організувати затримку почергового виведення на світлодіоди й індикатор, що дорівнює 1,5 с. Використовувати таймер 1

3,13,

23

Вмикати в шаховому порядку світлодіоди HL1-HL8. Занести до регістра R5 00Н, додаючи до числа "1", відображати результат на статичному індикаторі у молодшому розряді до 9. Вмикати переміщення світлодіода на HL1-HL8. Організувати затримку почергового виведення на світлодіоди й індикатор, що дорівнює 2,5 с. Використовувати таймер 0

4,14,

24

Почергово відображати на статичному індикаторі числа від 0 до 9, дублювати ці числа на лінійці світлодіодів (у двійковій формі). Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 3 с. Використовувати таймер 1

5,15,

25

Вмикати переміщення світлодіода на HL1-HL8 зліва направо, а потім справо наліво. На статичному індикаторі відображати номер варіанта у форматі ХХН. Організувати затримку почергового виводу на світлодіоди і індикатор рівну 3,5 сек. Використовувати таймер 0

6,16

Занести до регістра R7 08Н, віднімаючи від числа "2" відображати результат на статичному індикаторі в старшому розряді до нуля. Вмикати переміщення світлодіоду на HL1-HL8. Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 1 с. Використовувати таймер 1

7,17

Занести до регістра R1 число 08Н. Організувати біжучий рядок на статичному індикаторі з ліва на право. Вмикати в шаховому порядку світлодіоди HL1-HL8. Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 4 с. Використовувати таймер 0

Продовження табл. 13

8,18

Вмикати в шаховому порядку світлодіоди HL1-HL8.

Занести до регістр R0 00Н, додаючи до числа "2", відображати результат на статичному індикаторі у молодшому розряді до 0АН. Вмикати переміщення світлодіода на HL1-HL8. Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 5 с. Використовувати таймер 1

9,19

Почергово відображати на статичному індикаторі числа від 9 до 0, дублювати ці числа на лінійці світлодіодів (у двійковій формі). Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 5,5 с. Використовувати таймер 0

10,20

Вмикати переміщення світлодіода на HL1-HL8 справа наліво, а потім зліва направо. На статичному індикаторі відображати номер варіанта у форматі ХХН. Організувати затримку почергового виведення на світлодіоди і індикатор, що дорівнює 6 с. Використовувати таймер 1

Примітка. Х – цифра від 0 до 9

Рисунок 18 - Схема до лабораторної роботи 7

9 Лабораторна робота 8. Робота з таймерами-лічильниками. Система переривань МК51

Тема «Робота з таймерами-лічильниками. Система переривань МК51».

Мета роботи - вивчити режими роботи системи переривання ЕОМ, таймерів-лічильників, програмну обробку дискретних сигналів.