Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
praktika.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7 Мб
Скачать
☆

Лабораторна робота №5 Дослідження тимчасових затримок у мп системах

Ціль роботи: навчитися писати програми й розраховувати значення змінних для програмних тимчасових витримок.

Теоретичні відомості. Тимчасові витримки в мікропроцесорних системах легше всього організувати через програмні лічильники. У якості лічильників зручно використовувати регістри R0 – R7. При цьому виходимо з того, що команди виконуються за кінцевий час. Вихідними даними для розрахунків є частота кварцу мікроконтролера. У середовищі Mcstudio вона встановлюється в меню Виконання – Опції симуляції. Програми формування затримок зручно оформляти у вигляді підпрограми з передачею параметрів. Параметр – значення регістрів, що забезпечує задану тимчасову затримку.

У прикладі наведено програму тимчасової затримки для двобайтового лічильника.

Приклад:

Mov r2,#25h; завантаження молодшого байта затримки 1 ц Mov r3,#47h ; завантаження старшого байта затримки 1 ц Lcall zd1; виклик підпрограми затримки 2 ц

M1: ajmp M1; нескінченний цикл

zd1: mov a,r2; пересилання вхідного значення в акумулятор 1 ц вип. r3

раз

m2: djnz a,m2 ; декремент молодшого байта затримки 2 ц вип. r2*r3 раз

djnz r3,zd1; декремент старшого байта затримки2 ц вип. r3 раз

ret ;вихід з підпрограми 2 ц

Розрахунки часу затримки. За основу береться тривалість одного

179

машинного циклу контролера. При тактовій частоті процесора 12 МГц тривалість машинного циклу 1 мкС. Загальна тривалість обчислюється за наступною формулою

Тзд=1ц+1ц+2ц+1ц*r3+2ц*r2*r3+2ц*r3+2=

=1+1+2+71+2*37*71+2*71+2=10869 [мkc].

Методика виконання:

  1. Контроль витримки затримки проводиться за покажчиком часу, що перебуває у вікні «Ресурси» (пункт «Ядро MCS-51» (рис. 1).

  2. Встановлення заданої частоти генератора виконується через пункт меню Виконання – Опції симуляції.

  3. Для контролю виконання програми в автоматичному режимі використовувати крапку зупинки, встановлену на мітці М1. Для задання крапки зупинки необхідно маркер помістити на потрібну крапку програми й натиснути клавішу F5.

  4. Задається крапка зупинки. Програма запускається на симуляцію в автоматичному режимі після переривання виконання (в крапці зупинки), час виконання не повинен відрізнятися від встановленого в заданні більш ніж на 5 мкс.

180

Рис. 1. Вікно ядра MCS-51 Рис. 2. Вікно установки частоти

генератора мікроконтролера

  1. Значення регістрів визначається за формулою, що наведена вище. Для цього треба задати значення старшого байта затримки, що дорівнює 255, і за рівнянням знайти значення молодшого байта. Якщо отримане значення перевищує число 255, додаємо ще один цикл у програмі. З урахуванням цього коректуємо формулу й знаходимо потрібні значення.

Варіанти задань.

Час затримки повинен дорівнювати номеру за списком, що помножений на 27 мілісекунд.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]