Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
Національний університет "Львівська Політехніка"
/
Лабораторна робота №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ВС – кількість тактів (