Електроний посібник з
дисципліни "Мікропроцесорні системи"
Дипломный проект
Лабораторна робота №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 ц
Розрахунки часу затримки. За основу береться тривалість одного машинного циклу контролера. При тактовій частоті процесора 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
Рис. 2. Вікно установки частоти
Методика виконання:
1.Контроль витримки затримки проводиться за покажчиком часу, що перебуває у вікні «Ресурси» (пункт «Ядро MCS-51» (рис. 1).
2. Встановлення заданої частоти генератора виконується через пункт меню Виконання - Опції симуляції.
3.Для контролю виконання програми в автоматичному режимі використовувати крапку зупинки, встановлену на мітці М1. Для задання крапки зупинки необхідно маркер помістити на потрібну крапку програми й натиснути клавішу F5.
4.Задається крапка зупинки. Програма запускається на симуляцію в автоматичному режимі після переривання виконання (в крапці зупинки), час виконання не повинен відрізнятися від встановленого в заданні більш ніж на 5 мкс.
5. Значення регістрів визначається за формулою, що наведена вище. Для цього треба задати значення старшого байта затримки, що дорівнює 255, і за рівнянням знайти значення молодшого байта. Якщо отримане значення перевищує число 255, додаємо ще один цикл у програмі. З урахуванням цього коректуємо формулу й знаходимо потрібні значення.
Варіанти задань.
Час затримки повинен дорівнювати номеру за списком, що помножений на 27 мілісекунд.
Звіт повинен містити текст програми, вихідні дані й блок-схему алгоритму, отримане реальне значення затримки.