- •1 Анализ технического задания 7
- •1 Анализ технического задания
- •2 Разработка процессорного модуля и интерфейса
- •2.1 Анализ структуры цп к1816ве51
- •2.2 Система команд к1816ве51
- •3 Выбор модулей памяти
- •3.1 Выбор оперативно запоминающего устройства
- •3.2 Выбор постоянно запоминающего устройства
- •4 Разработка подсистем ввода/вывода, прерываний, прямого доступа к памяти. Выбор таймера
- •4.1 Архитектура параллельного интерфейса кр580вв55
- •4.2 Архитектура программируемого контролера прерываний кр580вн59
- •4.3 Архитектура программируемого таймера кр580ви53
- •4.5 Архитектура контролера прямого доступа к памяти кр580вт57
- •5 Разработка интерфейса и уточненной структурной схемы микропроцессорной системы
- •5.1 Буферный регистр кр580ир83
- •5.2 Шинный формирователь кр580ва87
- •5.3 Подключение микросхем, входящих в мпс к шинам данных и шинам адреса
- •5.4 Разработка структурной схемы мпс
- •6 Разработка программного обеспечения
- •Заключение
- •Список используемых источников
- •Приложение а
2.2 Система команд к1816ве51
Система насчитывает 111 команд, из них 49 однобайтовых, 45 двухбайтовых и 17 трехбайтовых. Появление трехбайтовых команд связано с расширением объемов CSEG и XSEG. а также вводом прямой адресации в DSEG.
Все команды выполняются за один или два машинных цикла (12 тактов ALE) за исключением команд MUL и DIV, которые требуют четыре цикла. Большинство двухбайтовых команд одно цикловые, а все трехбайтовые команды двух цикловые. Это объясняется тем, что за один машинный цикл в ВЕ51 может вводиться до двух байтов, программного кода.
Все множество команд ВЕ51 удобно разбить на пять групп: пересылки (28), логической обработки (25), арифметической обработки (24), передачи управления (17), булевого процессора (17).
Группа команд пересылки (таблица 1) содержит команды MOV (пересылки данных между DSEG и RSEG), MOVC (между CSEG и A), MOVX (между XSEG и А или RSEG), команды обращения к стеку PUSH и POP, а также две команды обмена ХСН и XCHD. Наиболее емкой инструкцией является команда MOV, которая использует четыре способа адресации: регистровый (A,
Rn, DPTR), прямой (direct), косвенный (@Ri) и непосредственный (#data, #data 16). Для указания приемника служат три способа адресации (кроме непосредственного), для указания источника все четыре.
Трехбайтовая команда MOV direct, direct обеспечивает пересылку между двумя любыми ячейками памяти, включая регистры МК.
Обращение к внешней памяти осуществляется с помощью команды MOVX. Обмен производится по байтам между аккумулятором и ячейкой внешней памяти данных. Ячейка XSEG может быть адресована двумя способами: косвенно через 16-разрядный указатель DPTR и косвенно через 8-разрядный
указатель Ri. i =0-1. В последнем случае регистром страниц служит выходной регистр Р2.
В состав группы команд арифметической обработки (таблица 2) входят: операция сложения ADD, сложения с учетом переноса ADDC, вычитания с учетом займа SUBB, увеличения и уменьшения на единицу INC и DEC, десятичная коррекция сложения в 2/10-коде упакованного формата DA. умножение MUL и деление DIU.
В составе группы команд передачи управления находятся команды перехода AJMP, LJMP,SJMP, JMP, условного перехода JZ, JNZ, CJNE, вызова ACALL, LCALL, возврата RET, RETI и модификации с условным переходом DJNZ. Сюда же включена пустая команда NOP.
Таблица 1 – Группа команд пересылки
-
Мнемоника
Число
циклов
Код
Описание
MOV A,Rn
MOV A,direct
MOV A,@Ri
MOV A, #data
MOV Rn,A
MOV Rn,direct
MOV Rn,#data
MOV direct,A
MOV direct, Rn
MOV direct,direct
MOV direct, @Ri
MOV direct, #data
MOV @Ri,A
MOV @Ri,direct
MOV @Ri,#data
MOV DPTR,#data
MOVC A,@A + DPTR
MOVC А,@А + РС
MOVX A,@Ri
MOVX A,@DPTR
MOVX @Ri,A
MOVX @DPTR,A
PUSH direct
POP direct
XCH A,Rn
XCH A,direct
XCH A,@Ri
XCHD A,@R
1
1
1
1
1
2
1
1
2
2
2
2
1
2
1
2
2
2
2
2
2
2
2
2
2
1
1
1
E8-EF
E5
Е6-Е7
74
F8-FF
A8-AF
78-7F
F5
88-8F
85
86-87
75
F6-F7
A6-A7
76-77
90
93
83
E2-E3
E0
F2-F3
F0
C0
D0
C8-CF
C5
C6-C7
D6-D7
ARn, n=0-7
A(direct)
A(ri), i=0-1
Adata
RnA, n=0-7
Rn(direct), n=0-7
Rndata, n=0-7
(direct)A
(direct)Rn, n=0-7
(direct) (direct)
(direct)(Ri), i=0-1
(direct)data
(Ri)A, i=0-1
(Ri) (direct), i=0-1
(Ri) data, n=0-1
DPTRdata 16
ACREG(A+DPTR)
ACREG(A+PC)
AXREG(P2:Ri),i=0-1
AXREG(DPTR)
XREG(P2:Ri)A
i=0-1 XREG(DPTR)A
+(SP)(direct)
(direct)(SP)
ARn, n=0-7
ARn(direct)
A(Ri), i=0-1
A0-3(Ri)0-3, i=0-1
Таблица 2 – Группа команд арифметической обработки
-
Мнемоника
Число
циклов
Код
Описание
1
2
3
4
АDD A,Rn
АDD A,direct
АDD A,@Ri
АDD A, #data
АDDC A,Rn
АDDC A,direct
АDDC A, @Ri
АDDC A, #data
SUBB A,Rn
SUBB A,direct
1
1
1
1
1
1
1
1
1
1
28-2F
25
26-27
24
38-3F
35
36-37
34
98-9F
95
AA+Rn, n=0-7
AA+(direct)
AA+(Ri), i=0-1
AA+data
AA+Rn+CY, n=0-7
AA+(direct)+CY
AA+(Ri)+CY, i=0-1
AA+data+CY
AA-Rn-CY, n=0-7
AA-(direct)-CY
Продолжение таблицы 2
-
1
2
3
4
SUBB A, @Ri
SUBB A, #data
INC A
INC Rn
INC direct
INC @Ri
INC DPTR
DEC A
DEC Rn
DEC direct
DEC @Ri
MUL AB
DIV AB
DIA A
1
1
1
1
1
2
1
1
1
1
1
4
4
1
96-97
94
04
08-0F
05
06-07
A3
14
18-1F
15
16-17
A4
84
D4
AA-(Ri)-CY, i=0-1
AA-data-CY
AA+1
Rn Rn+1
(direct) (direct)+1
(Ri) (Ri)+1, i=0-1
DPTR DPTR+1
AA-1
Rn Rn-1
(direct) (direct)-1
(Ri) (Ri)11, i=0-1
BAAxB
ABA/B
A2/10 – коррекция A
В группу входят также операции безусловного и условного переходов с относительным 8-разрядным смещением rel.