- •Введение
- •1 Анализ технического задания
- •2.1.5 Управление работой микроконтроллера. Устройство управления в каждом цикле команды формирует последовательность сигналов, управляющих всеми блоками мп и организует их взаимосвязь.
- •2.2 Система команд к1816ве51
- •2.3 Генератор тактовых импульсов
- •4.2 Архитектура параллельного интерфейса кр580вв55
- •4.3 Архитектура программируемого контролера прерываний кр580вн59
- •4.5 Архитектура контролера прямого доступа к памяти кр580вт57
- •5.3 Подключение микросхем, входящих в мпс к шинам данных и
- •Заключение
- •Список используемых источников
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.