- •Тема 8 Микропроцессоры бцвм
- •Электрическая принципиальная схема параллельного программируемого интерфейса умпк-80.
- •Пз.8.3.4. Программирование микропроцессора при выполнении программ ввода вывода через ппи.
- •Пример программы вывода данных в порты а, в, с
- •Задание к лр№11 Исследование интерфейса микропроцессора
Электрическая принципиальная схема параллельного программируемого интерфейса умпк-80.
Пз.8.3.4. Программирование микропроцессора при выполнении программ ввода вывода через ппи.
Команда IN (первый байт – код операции DBH) – двухбайтная, предназначена для ввода данных от входного порта в регистр-аккумулятор А. Второй байт В2 отведен под адрес входного порта. В результате выполнения команды IN данные от входного порта по двунаправленной шине данных передаются в регистр-аккумулятор А.
Команда OUT (первый байт – код операции D3H) – двухбайтная, предназначена для вывода данных из регистра аккумулятора А в выходной порт. Второй байт В2 выходного порта.В результате выполнения команды OUT, данные выводятся по той же шине данных из аккумулятора А в выходной порт.
Основные этапы программирования:
выбор направления и типа обмена (вариант обмена в режиме 0 табл2.2);
формирование управляющего слова в регистре аккумуляторе А и его ввод в регистр управляющего слова (при А1,А0=11), в нашем случае код РУС(83). (команда IN)
формирование данных для вывода информации (посылка информации ЯП, регистра, В2 команды в регистр аккумулятор А) и выбор порта, в нашем случае РА(80), РВ(81), РС(82) (команда OUT);
формирование данных для ввода (IN) информации (посылка информации из порта в регистр аккумулятор А) и выбор порта, в нашем случае РА(80), РВ(81), РС(82) (команда OUT);
Пример программы вывода данных в порты а, в, с
|
Адрес |
Команда |
Мнемокод |
Пояснения |
||
|
Коп(В1) |
В2 |
В3 |
|||
|
0А00 |
3E |
80 |
|
MVI A |
80 р.A ( формирование УС в р.А) |
|
0А02 |
D3 |
83 |
|
OUT РУС |
Вывод УС в регистр РУС, имеющего адрес 83 (установка всех портов на вывод) |
|
0А04 |
3E |
AA |
|
MVI A |
AA р.A (формирование выводимого кода для вывода через порт А) |
|
0А06 |
D3 |
80 |
|
OUT А |
Вывод кода АА в регистр порта А, имеющего адрес 80 |
|
0А08 |
3E |
ВВ |
|
MVI A |
ВВ р.A, (формирование выводимого кода для вывода через порт В) |
|
0А0А |
D3 |
81 |
|
OUT В |
Вывод кода ВВ в регистр порта В, имеющего адрес 81 |
|
0А0С |
3E |
СС |
|
MVI A |
СС р.A, (формирование выводимого кода для вывода через порт С) |
|
0А0Е |
D3 |
82 |
|
OUT С |
Вывод кода СС в регистр порта С, имеющего адрес 82 |
|
0А10 |
76 |
|
|
HLT |
Останов выполнения программы |
Организация и формы текущего контроля
Оценка выставляется по результатам решений индивидуальных заданий
Индивидуальное задание
(номер варианта соответствует номеру студента по журналу учета учебных занятий)
Задача №1. По коду регистра управляющего слова (УС), заданного в таблице, определить состояние портов ППИ (ввод или вывод, по каким портам):
|
Варианты |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
0+ |
88 |
90 |
98 |
80 |
88 |
90 |
98 |
80 |
88 |
82 |
|
10+ |
89 |
91 |
99 |
81 |
89 |
91 |
99 |
81 |
89 |
89 |
|
20+ |
8A |
92 |
9A |
82 |
8A |
92 |
9A |
82 |
8A |
81 |
|
30+ |
8B |
93 |
9B |
83 |
8B |
93 |
9B |
83 |
8B |
98 |
Задача №2. Используя систему команд МП КР580ИК80А, составить программу в машинных кодах, используя команды ввода-вывода.
Вычислительная задача и исходные данные представлены в таблице.
|
Вариант |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
Вычисл. задача |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
|
X16 |
в М(0907) |
в М(0807) |
в p.H |
в М(0A0F) |
в М(0804) |
в p. H |
в М(0807) |
в М(090F) |
в М(0809) |
в p. A |
|
Y16 |
Ввести через Р.А |
Ввести через Р.В |
Ввести через Р.С |
Ввести через Р.А |
Ввести через Р.В |
Ввести через Р.С |
Ввести через Р.А |
Ввести через Р.В |
Ввести через Р.С |
Ввести через Р.А |
|
Z |
в М(0908) в р.E |
в М(0A08)
|
в р.C |
в р.L |
в М(0902) в р.H |
в р.A |
в р.A |
в р.B |
в р.E |
в р.B |
|
Вариант |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
|
Вычисл. задача |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
|
X16 |
в М(0903) |
в М(0805) |
в p.A |
в М(0A06) |
в М(0808) |
в p. A |
в М(0804) |
в М(0906) |
в М(0800) |
в p. H |
|
Y16 |
в р.L |
в р.B |
в р.B |
в р.E |
в р.D |
в р.L |
в М(0A08) |
в р.E |
в М(080C) |
в р.A |
|
Z |
Вывести через Р.А |
Вывести через Р.В |
Вывести через Р.С |
Вывести через Р.А |
Вывести через Р.В |
Вывести через Р.С |
Вывести через Р.А |
Вывести через Р.В |
Вывести через Р.С |
Вывести через Р.А |
|
Вариант |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
|
Вычисл. задача |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
|
X16 |
Ввести через Р.А |
Ввести через Р.В |
Ввести через Р.С |
Ввести через Р.А |
Ввести через Р.В |
Ввести через Р.С |
Ввести через Р.А |
Ввести через Р.В |
Ввести через Р.С |
Ввести через Р.А |
|
Y16 |
в р.D |
в р.A |
в р.B |
в р.E |
в р.D |
в р.L |
в М(0A08)
|
в р.C |
в М(0A0C)
|
в р.H |
|
Z |
в М(0908) в р.E |
в М(0A08)
|
в р.C |
в р.L |
в М(0902) в р.H |
в р.A |
в р.A |
в р.B |
в р.E |
в р.B |
|
Вариант |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
|
Вычисл. задача |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
Х-У=Z |
Х+У=Z |
|
X16 |
Ввести через Р.В |
Ввести через Р.А |
Ввести через Р.В |
Ввести через Р.С |
Ввести через Р.А |
Ввести через Р.В |
Ввести через Р.С |
Ввести через Р.А |
Ввести через Р.В |
Ввести через Р.С |
|
Y16 |
в М(0907) |
в М(0807) |
в p.H |
в М(0A0F) |
в М(0804) |
в p. H |
в М(0807) |
в М(090F) |
в М(0809) |
в p. A |
|
Z |
в М(0908) в р.E |
в М(0A08)
|
в р.C |
в р.A |
в М(0906) в р.H |
в р.D |
в р.A |
в р.B |
в р.E |
в р.B |
