Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
Національний університет "Львівська Політехніка"
/
Лабораторна робота №3
‘‘Реалізація підпрограм часових затримок’’ з дисципліни ЦП та МП
Мета роботи: Навчитись реалізувати підпрограми на мові асемблера та розраховувати час їх виконання.
Теоретична частина
Кожна команда на мові асемблера вимагає певну кількість тактів мікропроцесора необхідних для її виконання. В таблиці 1 показані декілька команд асемблера, які будуть використані в даній лабораторній роботі, та вказана кількість тактів мікропроцесора для їх виконання.
Таблиця 1
Команда асемблера
Кількість тактів МП потрібна для виконання команди
CALL
18
RET
10
LXI
10
DCX
6
MOV
4
MVI
7
ORA
4
JNZ
10
JMP
10
Час виконання команди визначається за наступною формулою: , (1)
де - кількість тактів, яка необхідна для виконання заданої команди; - період повторення тактових імпульсів мікропроцесора.
Виконання завдання:
lxi b,5; 10
call delay; 18
delay:
dcx b; 6
mov A,B; 4
ora c; 4
jnz delay; 10
ret 10
T=(28+BC(24))*0,5*10-6 (c)
Час виконання цієї підпрограми 0.74мс
Порядок роботи:
Індивідуальне завдання
Запрограмувати паралельний програмований інтерфейс таким чином, щоб порт В був запрограмований на вивід, а порт С - на ввід (код в РКС=89h, див. лабораторну роботу №2). Написати підпрограму, яка формує періодичні імпульси на одному із виходів порта В із заданою тривалістю імпульса , та тривалістю паузи між ними .
Варіант
,мс
,мс
4
300
900
Програма на мові асемблера згідно з індивідуальним завданням;
org 8000h;
mvi A,89h;
out 0FBh;
next:
mvi A,0FFh;
out 0F9h;
lxi B,23800;
call delay;
mvi A,0;
out 0F9h;
lxi B,40000;
call delay ;
lxi B,31500;
call delay;
jmp next;
delay:
dcx B;
mov A,B;
ora C;
jnz delay;
ret;
Розрахунок та обгрунтування часових затримок реалізованих в індивідуальному завданні;
28+24ВС – кількість тактів (
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!