
- •Проектування мікропроцесорних та мікроконтролерних пристроїв
- •Лабораторна робота №1 вивчення структури, алгоритму роботи і програмування мікропроцесора intel
- •1. Опис навчального мікропроцесорного комплекту умпк-80
- •1.1. Склад комплексу
- •1.2. Режими роботи й алгоритм монітора мікроЕом
- •2. Теоретичні відомості
- •3. Приклади виконання лабораторної роботи
- •3.1. Запис і виконання простих програм
- •3.2. Виконання арифметичних операцій
- •3.3. Запис числа в програмно-доступні регістри мп біс.
- •4.Завдання до лабораторної роботи
- •5 . Порядок виконання лабораторної роботи
- •Лабораторна робота №3 ознайомлення з структурою та функціональними можливостями оеом кр1816ве31
- •Лабораторна робота №4 програмування паралельного інтерфейсу кр580вв55. Схеми відображення інформації.
- •Системи відображення інформації
- •Варіанти індивідуальних завдань
- •Лабораторна робота №5
- •Лабораторна робота №6
- •Контрольні запитання
3. Приклади виконання лабораторної роботи
3.1. Запис і виконання простих програм
Програма записується в мікроЕОМ у послідовних комірках пам'яті. Розглянемо найпростішу програму (програма 1), що витягає число з адреси пам'яті 0C00h, що інвертує його й записує результат на адресу пам'яті 0C0lh.
Примітка. Якщо включено захист ОЗП (перемикач SA3), то для запису даних на згадку мікроЕОМ під час виконання програм необхідно використовувати область ОЗП, починаючи з 0C00h.
Програма 1 (у мнемокодах)
Мнемокод Коментар
LDA 0C00h ;завантажити число з адреси 0C00h
СМА ;інвертувати число
STA 0С01h ;записати результат за адресою 0С01h
RST1 ;перервати виконання програми
При записі програми на згадку мікроЕОМ необхідно перевести мнемокоды команд у машинні коди (див. таблицю). Команди в програмі можуть бути одне-, двох- або трехбайтні й повинні в пам'яті займати відповідно один, два або три адреси.
Програма 1 (розміщення по адресах пам'яті)
Адреса Код Коментарі
0800 3А ;код команди LDA
0801 00 ;молодший байт адреси
0802 0С ;старший байт адреси
0803 2F ;код команди СМА
0804 32 ;код команди STA
0805 01 ;молодший байт адреси - 1
0806 0С ;старший байт адреси
0807 CF ;код команди RST1
Попередній запис програм зручно вводити в більше компактній формі. У програмі вказується початкова адреса кожної команди й при цьому розуміється, що команди, залежно від довжини, будуть займати в пам'яті від однієї до трьох послідовних комірок.
Програма 1 (загальний вид запису)
Адреса Код Мітка Мнемокод Коментар
0800 3А 00 0С LDA 0C00h ;завантажити число
0803 2F СМА ;інвертувати
0804 32 01 0С STA 0C0lh ;записати
0807 CF RST1 ;перервати програму
Тут використовується прямий спосіб адресації. Розглянемо програму, аналогічну програмі 1, з використанням непрямого способу адресації (програма 2).
Програма 2
Адреса Код Мітка Мнемокод Коментар
0800 21 00 0С LXI 0C00h ;записати 0C0h в HL
0803 7Е MOV А,М ;завантажити число в А
0804 2F СМА ;інвертувати
0805 23 INX H ;збільшити HL на 1
0806 77 MOV M,A ;записати число
0807 CF RST1 ;перервати програму
Таблиця
Мнемоніки команд МП БІС КР580ВМ80А
Команда |
Код операції |
Команда |
Код операції |
ACI data |
РЄ |
DAD В |
09 |
ADC A |
8F |
DAD D |
19 |
ADC B |
88 |
DAD H |
29 |
ADC C |
89 |
DAD SP |
39 |
ADC D |
8A |
DCR A |
3D |
ADC E |
8B |
DCR B |
05 |
ADC H |
8С |
DCR C |
0D |
ADC L |
8D |
DCR D |
15 |
ADC M |
8Е |
DCR E |
1D |
ADD A |
87 |
DCR H |
25 |
ADD В |
80 |
DCR L |
2D |
ADD З |
81 |
DCR M |
35 |
ADD D |
82 |
DCX B |
0B |
ADD E |
83 |
DCX D |
IB |
ADD H |
84 |
DCX H |
2B |
ADD L |
85 |
DCX SP |
3B |
ADD M |
86 |
DI |
F3 |
ADI data |
З6 |
EI |
FB |
ANA A |
А7 |
HLT |
76 |
ANA В |
АТ |
IN port |
DB |
ANA З |
А1 |
INR A |
3C |
ANA D |
А2 |
INR B |
04 |
ANA E |
A3 |
INR C |
0С |
ANA H |
А4 |
INR D |
14 |
ANA L |
А5 |
INR E |
1С |
ANA M |
А6 |
INR H |
24 |
ANI data |
Е6 |
INR L |
2C |
CALL addr |
CD |
INR M |
34 |
CC addr |
DC |
INX B |
03 |
CM addr |
FC |
INX D |
13 |
CMA |
2F |
INX H |
23 |
CMC |
3F |
INX SP |
33 |
CMP A |
BF |
JC addr |
DA |
CMP В |
B8 |
JM addr |
FA |
CMP З |
B9 |
JMP addr |
C3 |
CMP D |
ВА |
JNC addr |
D2 |
CMP E |
ВВ |
JNZ addr |
C2 |
CMP H |
ВР |
JP addr |
F2 |
CMP L |
BD |
JPE addr |
EA |
CMP M |
BE |
JPO addr |
E2 |
CNC addr |
D4 |
JZ addr |
CA |
CNZ addr |
C4 |
LDA addr |
3A |
CP addr |
F4 |
LDAX B |
OA |
CPE addr |
EC |
LDAX D |
1A |
CPI addr |
FE |
LHLD addr |
2A |
CPO addr |
E4 |
LXI B,datal6 |
01 |
CZ addr |
CC |
LXI D,datal6 |
11 |
DAA |
27 |
LXI H,datal6 |
21 |
LXI SP,datal6 |
31 |
MOV H, E |
63 |
MOV A, A |
7F |
MOV H, H |
64 |
MOV A, B |
78 |
MOV H, L |
65 |
MOV A, C |
79 |
MOV H, M |
66 |
MOV A,D |
7A |
MOV L, A |
6F |
MOV A, E |
7B |
MOV L, B |
68 |
MOV A, H |
7C |
MOV L, C |
69 |
MOV A,L |
7D |
MOV L, D |
6A |
MOV A, M |
7E |
MOV L, E |
6B |
MOV B, A |
47 |
MOV L, H |
6C |
MOV B, B |
40 |
MOV L, L |
6D |
MOV B, C |
41 |
MOV L, M |
6E |
MOV B, D |
42 |
MOV M, A |
77 |
MOV B, E |
43 |
MOV M, B |
70 |
MOV B, H |
44 |
MOV M, C |
71 |
mov b, l |
45 |
MOV M, D |
72 |
MOV B, M |
46 |
MOV M, E |
73 |
MOV C, A |
4F |
MOV M, H |
74 |
MOV C, B |
48 |
MOV M, L |
75 |
MOV C, C |
49 |
MVI A, data |
3E |
MOV C, D |
4A |
MVI B,data |
06 |
MOV C, E |
4B |
MVI C, data |
OE |
MOV C, H |
4C |
MVI D, data |
16 |
MOV C, L |
4D |
MVI E, data |
1E |
MOV C, M |
4E |
MVI H, data |
26 |
MOV D, A |
57 |
MVI L, data |
2E |
MOV D, B |
50 |
MVI M, data |
36 |
MOV D, C |
51 |
NOP |
00 |
MOV D, D |
52 |
ORA A |
B7 |
MOV D, E |
53 |
ORA B |
B0 |
MOV D, H |
54 |
ORA C |
B1 |
MOV D, L |
55 |
ORA D |
B2 |
MOV D, M |
56 |
ORA E |
B3 |
MOV E, A |
5F |
ORA H |
B4 |
MOV E, B |
58 |
ORA L |
B5 |
MOV K, C |
59 |
GRA M |
B0 |
MOV E, D |
5A |
ORI data |
F6 |
MOV E, Ј |
5B |
OUT port |
D3 |
MOV E, H |
5С |
PCHL |
E9 |
MOV E, L |
5D |
POP B |
C1 |
MOV E, M |
5E |
POP D |
Dl |
[MOV H, A |
67 |
POP K |
El |
MOV H. B |
60 |
POP PSW |
F1 |
MOV H, C |
61 |
PUSH B |
C5 |
MOV H,D |
62 |
PUSH D |
D5 |