Електроний посібник з
дисципліни "Мікропроцесорні системи"
 
Дипломный проект
                                                                 Лабораторна робота №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 мілісекунд.
  Звіт повинен містити текст програми, вихідні дані й блок-схему алгоритму, отримане реальне значення затримки.