- •1 Вивчити систему роботи стека мк51. 32
- •1 Вивчити систему роботи стека мк51. 38
- •1 Вивчити систему роботи стека мк51. 41
- •1 Вивчити систему роботи стека мк51. 49
- •1 Загальні положення
- •1.1 Вступ
- •1.2 Вимоги з техніки безпеки
- •1.3 Загальні вимоги до підготовки, проведення та здавання лабораторних робіт
- •1.1Порядок підготовки до лабораторної роботи
- •1.2Порядок проведення лабораторної роботи
- •1.3Здавання лабораторних робіт
- •1.4Вимоги до форми та змісту звіту
- •1.3.4.1 Вимоги до змісту звіту до однієї лабораторної роботи
- •1.4 Робота зі стендом
- •2 Лабораторна робота 1. Вивчення стенда і команд однокристальної еом сімейства mcs-51
- •Порядок виконання лабораторної роботи
- •Приклад виконання лабораторної роботи 1
- •Короткі теоретичні відомості Системи відображення інформації.
- •Система переривань еом 80c51
- •Структура переривань
- •Приклад програми:
- •Режими роботи таймерів-лічильників
- •Приклад програми
- •Порядок виконання лабораторної роботи
- •Приклад програми
- •Варіанти індивідуальних завдань
- •Список літератури
- •Абрайтис в.Б. Быстродействующие интегральные микросхемы " Электронная промышленность ", 1989.
- •Додаток а (довідковий) Теоретичні відомості.
- •Система команд mk51 Структура інформаційних зв'язків
- •Група команд операцій з бітами
Режими роботи таймерів-лічильників
Рисунок 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».
Мета роботи - вивчити режими роботи системи переривання ЕОМ, таймерів-лічильників, програмну обробку дискретних сигналів.
