Помощь в написании студенческих работ
Антистрессовый сервис

Проектирование цифровых устройств на микроконтроллерах семейства MCS-51

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Основой микроконтроллера (см. рис. 1) является 8-ми битовое Арифметическое-Логическое устройство (АЛУ). Память МК логически разделена: на память программ — ПП (внутреннюю или внешнюю), адресуемую 16-ти битовым счетчиком команд (СК) и память данных — внутреннюю (Резидентная память данных — РПД) 128 (или 256) байт, а также внешнюю (Внешняя память данных — ВПД) до 64 Кбайт. Физически память программ… Читать ещё >

Проектирование цифровых устройств на микроконтроллерах семейства MCS-51 (реферат, курсовая, диплом, контрольная)

Проектирование цифровых устройств на микроконтроллерах семейства MCS-51

1. Структурная схема микроконтроллеров семейства MCS-51

Принятые сокращения:

8ADR

;

младшие 8 бит адреса Программной Памяти (ПП);

11ADR

;

11-ти битовый адрес в текущей странице Программной Памяти (ПП) по 2 Кбайта;

16ADR

;

16-ти битовый адрес Программной Памяти;

bit

;

8-ми битовый адрес прямоадресуемого бита в Резидентной Памяти Данных (РПД) или в блоке Регистров Специальных функций (РСФ);

#DAT

;

8-ми битовый непосредственный операнд;

#D16

;

16-ти битовый непосредственный операнд;

dir

;

8-ми битовый адрес прямоадресуемого байта в РПД или РСФ;

DPTR

;

Регистр указатель данных

Ft

;

Частота кварцевого генератора;

PC

;

Программный счетчик;

Р0, Р1, Р2, Р3 — 8- ми битовые двунаправленные Порты ввода/вывода;

PSW

;

Слово состояния процессора;

rel

;

8-ми битовое смещение адреса Программной Памяти (со знаком в дополнительном коде);

Ri

;

Регистры косвенной адресации (R0, R1);

i

;

Двоичный код регистра косвенной адресации;

Rn

;

Регистры Общего Назначения (РОНы) — (R0_R7);

r r r

;

Двоичный код РОНа;

SFR

;

Блок Регистров Специальных Функций (РСФ);

S0_S7

;

Страницы Программной Памяти (ПП) по 256 байт;

sss

;

(A10,A9,A8 — три бита адреса) — двоичный код номера страницы ПП по 256 байт;

SP

;

Указатель стека;

&

;

Логическая команда «И»

;

Логическая команда «ИЛИ»

(+)

;

Логическая команда «ИСКЛЮЧАЮЩЕЕ ИЛИ»

~

;

Логическая команда «ИНВЕРСИЯ»

<>

;

Неравенство

[ ]

;

В скобках указаны номера битов;

()

;

В скобках указан адрес операнда в Резидентной Памяти Данных (РПД) или Внешней Памяти Данных (ВПД);

(())

;

В скобках указан адрес операнда в Памяти Программ (ПП) (Резидентной или Внешней);

Таблица 1 — Отличительные особенности микроконтроллеров семейства MCS-51

Контроллер

ROM/

EPROM

(кбайт)

RAM

(байт)

Т/С

Макс.

Ft

(МГц)

Особенности группы

8031AH

;

n-MOS технология,

Базовая конфигурация,

4 порта

8051AH

4K ROM

8751H

4K EPROM

80C31BH

;

12, 16

CMOS технология,

Режим понижен. энерго-потребл., 3 бита защиты

80C51BH

4K ROM

12, 16

87C51BH

4K EPROM

16, 20

8032AH

;

n-MOS технология,

4 порта,

3 бита защиты

8052AH

8K ROM

8752BH

8K EPROM

80С32

;

20, 24

CMOS технология,

Таймер/счетчик с прямым и обратным счетом,

3 бита защиты

80С52

8K ROM

20, 24

87C52

8K EPROM

20, 24

80C54

16K ROM

20, 24

87C54

16K EPROM

20, 24

80C58

32K ROM

20, 24

87C58

32KEPROM

20, 24

80L52

8K ROM

16, 20

Контроллеры с пониженным напряжением питания 2,7…3,6 Вольт

87L52

8K EPROM

16, 20

80L54

16K ROM

16, 20

87L54

16K EPROM

16, 20

80L58

32K ROM

16, 20

87L58

32KEPROM

16, 20

80C31FA

;

20, 24

Модуль РСА,

Т/С с прямым и обратным счетом

80C51FA

8K ROM

20,24

87C51FA

8K EPROM

20,24

83C51FB

16K ROM

20, 24

Сторожевой таймер,

3 бита защиты

87C51FB

16K EPROM

20, 24

83C51FC

32K ROM

20, 24

87C51FC

32KEPROM

20, 24

80С51GB

;

20, 24

АЦП (8 кан/8 разрядов),

2 РСА, 6 портов I/O,

Сторожевой таймер

83C51GB

8K ROM

20, 24

87C51GB

8K EPROM

20, 24

Новое семейство микроконтроллеров 8xC151Sx (MCS-151) по системе команд, набору программно доступных ресурсов, системе прерываний, набору блоков ввода-вывода и функциям выводов корпуса совместимы с микроконтроллерами 8xC51Fx. Усовершенствования коснулись, в основном, операционного ядра. Введены: конвейер команд, режим страничной адресации памяти и др.

В результате при конвейерной выборке в пределах одной страницы время выполнения команды составляет два периода частоты задающего кварцевого генератора (вместо 12 периодов у предыдущего семейства MCS-51).

Микроконтроллеры семейства MCS-251 являются развитием архитектуры семейств MCS-51 и MCS-151. В основу положена «старая» система команд и устоявшийся набор блоков ввода/вывода: три таймера-счетчика, последовательный порт, блок РСА и сторожевой таймер.

Центральный процессор микроконтроллеров MCS-251 построен с использованием конвейера команд (время выполнения команд — 2 периода частоты кварцевого генератора) и регистрового файла. Система команд дополнена инструкциями, оперирующими 16-ти и 32-х разрядными операндами.

Основой микроконтроллера (см. рис. 1) является 8-ми битовое Арифметическое-Логическое устройство (АЛУ). Память МК логически разделена: на память программ — ПП (внутреннюю или внешнюю), адресуемую 16-ти битовым счетчиком команд (СК) и память данных — внутреннюю (Резидентная память данных — РПД) 128 (или 256) байт, а также внешнюю (Внешняя память данных — ВПД) до 64 Кбайт. Физически память программ реализована на ПЗУ (доступна только по чтению), а память данных — на ОЗУ (возможна запись и чтение данных).

Прием и выдача внешних сигналов осуществляется через 4 восьмибитовых порта Р0. Р3. При обращении к внешней памяти программ (ВПП) или памяти данных (ВПД) порты Р0 и Р2 используются как мультиплексированная внешняя шина Адрес/Данные. Линии порта Р3 могут выполнять также альтернативные функции (см. табл. 2).

16-ти битовый регистр DPTR формирует адрес ВПД или базовый адрес Памяти программ в команде преобразования Аккумулятора. Регистр DPTR может также использоваться как два независимых 8-ми битовых регистра (DPL и DPH) для хранения операндов.

8-ми битовый внутренний регистр команд (РК) принимает код выполняемой команды; этот код дешифрируется схемой управления, которая генерирует управляющие сигналы (см. рис. 1).

Обращение к регистрам специальных функций — РСФ (SFR — на рис. 1 они обведены пунктирной линией) возможно только с использованием прямой байтовой адресации в диапазоне адресов от 128 (80h) и более.

Резидентная память данных (РПД) в первых моделях микроконтроллеров семейства MCS-51 имела объем 128 байт. Младшие 32 байта являются одновременно и регистрами общего назначения — РОН (4 банка по 8 РОНов). Программа может обратиться к одному из 8-ми РОНов активного банка. Выбор активного банка РОНов осуществляется программированием двух бит в регистре состояния процессора — PSW (см. табл. 5). Переключение банков РОНов упрощает выполнение подпрограмм и обработку прерываний, т.к. не нужно пересылать в стек содержимое РОНов основной программы при вызове подпрограммы.

Таблица 2 — Назначение выводов MCS-51

№ выв.

Обозначение

Назначение

1.8

Р1[0.7]

8-ми битовый квазидвунаправленный порт ввода/вывода

RST

Сигнал сброса (активный уровень — высокий);

Сигнал RST обнуляет: PC и большинство Регистров Специальных Функций (SFR), запрещая все прерывания и работу таймеров; выбирает Банк РОНов 0; записывает в порты Р0_Р3 «все единицы», подготавливая их на ввод; записывает код 07H в указатель стека (SP);

10.17

P3[0.7]

P3[0]

P3[1]

P3[2]

P3[3]

P3[4]

P3[5]

P3[6]

P3[7]

8-ми битовый квазидвунаправленный порт ввода/вывода; после записи в соответствующий разряд «1» — выполняет дополнительные (альтернативные) функции:

Вход последовательного порта — RxD;

Выход последовательного порта — TxD;

Вход внешнего прерывания 0 — ~INT0;

Вход внешнего прерывания 1 — ~INT1;

Вход таймера/счетчика 0 — Т0;

Вход таймера/счетчика 1 — Т1;

Выход строб. сигнала при записи в ВПД — ~WR;

Выход строб. сигнала при чтении из ВПД — ~RD;

18, 19

X1, X2

Выводы для подключения кварцевого резонатора или LC-контура;

GND

Общий вывод;

21.28

P2[0.7]

8-ми битовый квазидвунаправленный порт ввода /вывода; или выход адреса A[815] в режиме работы с внешней памятью (ВПП или ВПД);

PME

Строб чтения Внешней Памяти Программ, выда-ется только при обращении к внешнему ПЗУ;

ALE

Строб адреса Внешней памяти (ВПП или ВПД);

ЕА

Отключение РПП, уровень «0» на этом входе пе-реводит МК на выборку команд только из ВПП;

39.32

Р0[0.7]

8-ми битовый двунаправленный порт ввода/ вывода; при обращении к Внешней Памяти выдает адреса A[07] (которые записываются во внешний регистр по сигналу ALE), а затем обменивается байтом синхронно с сигналом ~PME (для команд) или ~WR,~RD (для данных в ВПД), при обращении к Внешней Памяти в регистр порта Р0 записываются все единицы, разрушая хранимую там информацию;

Ucc

Вывод напряжения питания

Обращение к РПД возможно с использованием косвенной или прямой байтовой адресации.

Расширенная область РПД (у микроконтроллеров семейства MCS-52 и последующих семейств) с адреса 128 (80h) до 255 (FFh) может адресоваться только с использованием косвенного метода адресации.

Таблица 3 — Блок Регистров Специальных Функций (s f r)

Адрес

Dir

Мнемо-код

Наименование

0E0h

* ACC

Аккумулятор

0F0h

* B

Регистр расширитель аккумулятора

0D0h

* PSW

Слово состояния процессора

0B0h

* P3

Порт 3

0A0h

* P2

Порт 2

90h

* P1

Порт 1

80h

* P0

Порт 0

0B8h

* IP

Регистр приоритетов прерываний

0A8h

* IE

Регистр маски прерываний

99h

SBUF

Буфер последовательного приемо-передатчика

98h

* SCON

Регистр управления/статуса последовательного порта

89h

TMOD

Регистр режимов таймеров/счетчиков

88h

* TCON

Регистр управления/статуса таймеров/счетчиков

8Dh

TH1

Таймер 1 (старший байт)

8Bh

TL1

Таймер 1 (младший байт)

8Ch

TH0

Таймер 0 (старший байт)

8Ah

TL0

Таймер 0 (младший байт)

83h

DPH

Регистр-указатель данных (DPTR)(старший байт)

82h

DPL

Регистр-указатель данных (DPTR)(младший байт)

81h

SP

Регистр-указатель стека

87h

PCON

Регистр управления мощностью потребления

* - Отмеченные регистры допускают адресацию отдельных бит (см. табл. 4)

2. Программная модель MCS-51

2.1 Карта прямоадресуемых бит

В Резидентной Памяти Данных В блоке Регистров Спец. Функций

7Fh

Адреса РПД

Адреса

SFR

30h

Регистр В

2Fh

7F

7E

7D

7C

7B

7A

0F0h

F7

F6

F5

F4

F3

F2

F1

F0

2Eh

2Dh

6F

6E

6D

6C

6B

6A

2Ch

Регистр АСС

2Bh

5F

5E

5D

5C

5B

5A

0E0h

E7

E6

E5

E4

E3

E2

E1

E0

2Ah

29h

4F

4E

4D

4C

4B

4A

28h

27h

3F

3E

3D

3C

3B

3A

26h

IP

25h

2F

2E

2D

2C

2B

2A

0B8h

BC

BB

BA

B9

B8

24h

23h

1F

1E

1D

1C

1B

1A

Порт Р3

22h

0B0h

B7

B6

B5

B4

B3

B2

B1

B0

21h

0F

0E

0D

0C

0B

0A

20h

IE

1Fh

R7

0A8h

AF

AC

AB

AA

A9

A8

Порт Р2

18h

R0

0A0h

A7

A6

A5

A4

A3

A2

A1

A0

17h

R7

SCON

98h

9F

9E

9D

9C

9B

9A

10h

R0

R7

Порт Р1

90h

08h

R0

TCON

07h

R7

88h

8F

8E

8D

8C

8B

8A

Порт Р0

00h

R0

80h

2.2 Типы команд MCS-51

Почти половина команд выполняется за 1 машинный цикл (МЦ) (см. таблицы 8.12). При частоте кварцевого генератора 12 МГц время выполнения такой команды — 1 мкс. Остальные команды выполняются за 2 машинных цикла, т. е. за 2мкс (см. таблицы 8.12). Только команды умножения (MUL) и деления (DIV) выполняются за 4 машинных цикла.

За время одного машинного цикла происходит два обращения к Памяти Программ (внутренней или внешней) для считывания двух байтов команды или одно обращение к Внешней Памяти Данных (ВПД).

3. Методы (способы) адресации MCS-51

1. РЕГИСТРОВАЯ АДРЕСАЦИЯ — 8-ми битовый операнд находится в РОНе выбранного банка регистров;

2 НЕПОСРЕДСТВЕННАЯ АДРЕСАЦИЯ — операнд находится во втором (а для 16-ти битового операнда и в третьем) байте команды;

3 КОСВЕННАЯ АДРЕСАЦИЯ — операнд находится в Памяти Данных (РПД или ВПД), а адрес ячейки памяти содержится в одном из РОНов косвенной адресации (R0 или R1); в командах PUSH и POP адрес содержится в указателе стека SP; регистр DPTR может содержать адрес ВПД объемом до 64К;

4 ПРЯМАЯ БАЙТОВАЯ АДРЕСАЦИЯ — (dir) — используется для обращения к ячейкам РПД (адреса 00h…7Fh) и к регистрам специальных функций SFR (адреса 80h…0FFh);

5 ПРЯМАЯ БИТОВАЯ АДРЕСАЦИЯ — (bit) — используется для обращения к отдельно адресуемым 128 битам, расположенным в ячейках РПД по адресам 20H…2FH и к отдельно адресуемым битам регистров специальных функций (см. табл. 2.3);

6 КОСВЕННАЯ ИНДЕКСНАЯ АДРЕСАЦИЯ — упрощает просмотр таблиц в Памяти Программ, адрес ПП определяется по сумме базового регистра (PC или DPTR) и индексного регистра (Аккумулятора);

7 НЕЯВНАЯ (ВСТРОЕННАЯ) АДРЕСАЦИЯ — в коде команды содержится неявное (по умолчанию) указание на один из операндов (чаще всего на Аккумулятор).

ФОРМАТ СЛОВА СОСТОЯНИЯ ПРОЦЕССОРА (PSW)

Прямой байтовый адрес PSW: dir — 0D0H.

Допускается адресация отдельных бит PSW: bit — 0D0H_0D7H.

C — флаг переноса, выполняет также функции «булевого Аккумулято-ра» в командах, оперирующих с битами;

AC — флаг вспомогательного (дополнительного) переноса;

F0 — флаг пользователя — устанавливается, сбрасывается и проверяется программно;

OV — Флаг арифметического переполнения; его значение определяется операцией «Исключающее ИЛИ» сигналов входного и выходного переносов старшего разряда АЛУ; единичное значение этого флага указывает на то, что результат арифметической операции в дополнительном коде занял знаковый разряд; при выполнении операции деления флаг OV сбрасывается, а в случае деления на ноль — устанавливается; при умножении флаг OV устанавливается, если результат больше 255 (0FFH);

Разряд PSW[1] - Резервный, содержит триггер, доступный по записи или чтению; P — флаг паритета — является дополнением аккумулятора до четности; формируется комбинационной схемой (программно доcтупен только по чтению).

В микроконтроллерах MCS-51 отсутствует флаг «Z». Но в командах условного перехода (JZ, JNZ) проверяется комбинационной схемой текущее (нулевое) содержимое Аккумулятора

Таблица 5 — Таблица ассемблера MCS-51

Rn

@Ri

R0

R1

Прямая адресация

Непосредственная

MOV A, Rn

E8

E9

EA

EB

EC

ED

EE

EF

MOV A,@Ri

E6

E7

MOV A

E5

, dir

MOV A

#DAT

MOV Rn, A

F8

F9

FA

FB

FC

FD

FE

FF

MOV @Ri, A

F6

F7

MOV dir

F5

A

MOV dir

#DAT

MOV Rn

7A

7B

7C

7D

7E

7F

#DAT

MOV @Ri

#DAT

MOV dir

B5

dir

MOV Rn

A8

A9

AA

AB

AC

AD

AE

AF

dir

MOV @Ri

A6

A7

dir

PUSH

C0

dir

MOV DPTR

#D16

MOV dir

B8

B9

BA

BB

BC

BD

BE

BF

Rn

MOV dir

B6

B7

@Ri

POP

D0

dir

XCH A, Rn

C8

C9

CA

CB

CC

CD

CE

CF

XCH A,@Ri

C6

C7

XCH A

C5

, dir

SWAP A

C4

<�Обмен тетрад Аккумулятора

XCHD A,@Ri

D6

D7

<�Обмен младших тетрад

Пересылки

ВПД с Акк

MOVX A,@DPTR

E0

MOVX A,@Ri

E2

E3

Пересылки из Пам. Прогр. в Акк

MOVC A,@A+DPTR

MOVX @DPTR, A

F0

MOVX @Ri, A

F2

F3

MOVC A,@A+PC

B3

Арифметические и логические команды

Комментарии

Rn

@Ri

R0

R1

Прям. адресация

Непосредственная

А<�А+()

ADD A, Rn

2A

2B

2C

2D

2E

2F

ADD A,@Ri

ADD A

dir

ADD A,

#DAT

A<�А+()+C

ADDC A, Rn

3A

3B

3C

3D

3E

3F

ADDC A,@Ri

ADDC A

dir

ADDC A

#DAT

A<�А-()-C

SUBB A, Rn

9A

9B

9C

9D

9E

9F

SUBB A,@Ri

SUBB A

dir

SUBB A

#DAT

()< () + 1

INC Rn

0A

0B

0C

0D

0E

0F

INC @Ri

INC

dir

INC A

()< () — 1

DEC Rn

1A

1B

1C

1D

1E

1F

DEC @Ri

DEC

dir

DEC A

А<�А & ()

ANL A, Rn

5A

5B

5C

5D

5E

5F

ANL A,@Ri

ANL A

dir

ANL A

#DAT

()<() & А

ANL dir

A

ANL dir

#DAT

А<�А / ()

ORL A, Rn

4A

4B

4C

4D

4E

4F

ORL A,@Ri

ORL A

dir

ORL A

#DAT

()<() / А

ORL dir

A

ORL dir

#DAT

А<�А (+) ()

XRL A, Rn

6A

6B

6C

6D

6E

6F

XRL A,@Ri

XRL A

dir

XRL A

#DAT

()<() (+) А

XRL dir

A

XRL dir

#DAT

BA < A? B

MUL AB

A4

INC DPTR

Сброс

CLR A

E4

Циклический сдвиг

RL A

RR A

A. B < A / B

DIV AB

B4

DA A

D4

Инверсия

CPL A

F4

Сдвиг через перенос

RLC A

RRC A

Флаг OV при выполнении операции деления — сбрасывается, а в случае деления на ноль — устанавливается; при умножении флаг OV устанавливается, если результат больше 255 (0FFH)

Флаги: Р (четности Аккумулятора) и Z (нулевого содержимого Аккумулятора) формируются комбинационными схемами. Эти флаги модифицируются любыми командами, изменяющими содержимое Аккумулятора Таблица 7 — Таблица дизассемблера MCS-51

NOP

AJMP

S0+8ADR

LJMP 16ADR

RR A

INC A

INC dir

INC @R0

INC @R1

JBC

bit, rel

ACALL

S0+8ADR

LCALL 16ADR

RRC A

DEC A

DEC dir

DEC @R0

DEC @R1

JB

bit, rel

AJMP

S1+8ADR

RET

RL A

ADD A,#DAT

ADD A, dir

ADD A,@R0

ADD A,@R1

JNB

bit, rel

ACALL

S1+8ADR

RETI

RLC A

ADDC A,#DAT

ADDC A, dir

ADDC A,@R0

ADDC A,@R1

JC rel

AJMP

S2+8ADR

ORL dir, A

ORL dir, #DAT

ORL A,#DAT

ORL A, dir

ORL A,@R0

ORL A,@R1

JNC rel

ACALL

S2+8ADR

ANL dir, A

ANL dir, #DAT

ANL A,#DAT

ANL A, dir

ANL A,@R0

ANL A,@R1

JZ rel

AJMP

S3+8ADR

XRL dir, A

XRL dir, #DAT

XRL A,#DAT

XRL A, dir

XRL A,@R0

XRL A,@R1

JNZ

rel

ACALL

S3+8ADR

ORL C, bit

JMP @A +DPTR

MOV A,#DAT

MOV dir, #DAT

MOV @R0, #DAT

MOV @R1, #DAT

SJMP

rel

AJMP

S4+8ADR

ANL C, bit

MOVC A,@A+PC

DIV AB

MOV dir, dir

MOV dir,@R0

MOV dir,@R1

MOV DPTR, #D16

ACALL

S4+8ADR

MOV bit, C

MOVC A,@A+

DPTR

SUBB A,#DAT

SUBB A, dir

SUBB A,@R0

SUBB A,@R1

A

ORL C,/bit

AJMP

S5+8ADR

MOV C, bit

INC DPTR

MUL AB

MOV @R0,dir

MOV @R1,dir

B

ANL C,/bit

ACALL

S5+8ADR

CPL

bit

CPL C

CJNE A,#DAT, rel

CJNE A, dir, rel

CJNE @R0,#D, rel

CJNE @R1,#D.rel

C

PUSH

Dir

AJMP

S6+8ADR

CLR bit

CLR C

SWAP A

XCH A, dir

XCH A,@R0

XCH A,@R1

D

POP dir

ACALL

S6+8ADR

SETB bit

SETB C

DA A

DJNZ dir, rel

XCHD A,@R0

XCHD A,@R1

E

MOVX A, @DPTR

AJMP

S7+8ADR

MOVX A,@R0

MOVX A,@R1

CLR A

MOV A, dir

MOV A,@R0

MOV A,@R1

F

MOVX @DPTR, A

ACALL

S7+8ADR

MOVX @R0,A

MOVX @R1,A

CPL A

MOV dir, A

MOV @R0,A

MOV @R1,A

Таблица дизассемблера MCS-51

INC R0

INC R1

INC R2

INC R3

INC R4

INC R5

INC R6

INC R7

DEC R0

DEC R1

DEC R2

DEC R3

DEC R4

DEC R5

DEC R6

DEC R7

ADD A, R0

ADD A, R1

ADD A, R2

ADD A, R3

ADD A, R4

ADD A, R5

ADD A, R6

ADD A, R7

ADDC A, R0

ADDC A, R1

ADDC A, R2

ADDC A, R3

ADDC A, R4

ADDC A, R5

ADDC A, R6

ADDC A, R7

ORL A, R0

ORL A, R1

ORL A, R2

ORL A, R3

ORL A, R4

ORL A, R5

ORL A, R6

ORL A, R7

ANL A, R0

ANL A, R1

ANL A, R2

ANL A, R3

ANL A, R4

ANL A, R5

ANL A, R6

ANL A, R7

XRL A, R0

XRL A, R1

XRL A, R2

XRL A, R3

XRL A, R4

XRL A, R5

XRL A, R6

XRL A, R7

MOV R0, #DAT

MOV R1, #DAT

MOV R2, #DAT

MOV R3, #DAT

MOV R4, #DAT

MOV R5, #DAT

MOV R6, #DAT

MOV R7, #DAT

MOV dir, R0

MOV dir, R1

MOV dir, R2

MOV dir, R3

MOV dir, R4

MOV dir, R5

MOV dir, R6

MOV dir, R7

SUBB A, R0

SUBB A, R1

SUBB A, R2

SUBB A, R3

SUBB A, R4

SUBB A, R5

SUBB A, R6

SUBB A, R7

MOV R0, dir

MOV R1, dir

MOV R2, dir

MOV R3, dir

MOV R4, dir

MOV R5, dir

MOV R6, dir

MOV R7, dir

A

CJNE R0,#D,

rel

CJNE R1,#D,

rel

CJNE R2,#D,

rel

CJNE R3,#D,

rel

CJNE R4,#D,

rel

CJNE R5,#D,

rel

CJNE R6,#D,

rel

CJNE R7,#D,

rel

B

XCH A, R0

XCH A, R1

XCH A, R2

XCH A, R3

XCH A, R4

XCH A, R5

XCH A, R6

XCH A, R7

C

DJNZ R0, rel

DJNZ R1, rel

DJNZ R2, rel

DJNZ R3, rel

DJNZ R4, rel

DJNZ R5, rel

DJNZ R6, rel

DJNZ R7, rel

D

MOV A, R0

MOV A, R1

MOV A, R2

MOV A, R3

MOV A, R4

MOV A, R5

MOV A, R6

MOV A, R7

E

MOV R0, A

MOV R1, A

MOV R2, A

MOV R3, A

MOV R4, A

MOV R5, A

MOV R6, A

MOV R7, A

F

Таблица 8 — Команды пересылки, обмена и загрузки

Комментарии

Мнемокод

К О П

ТК

Б

МЦ

A < Rn; Пересылка из РОНа в Акк

MOV A, Rn

11101rrr

A < (Ri); Пересыдка из РПД в Акк

MOV A,@Ri

111 0011i

A < (dir); Пересылка из РПД в Акк

MOV A, dir

A < #DAT; Загрузка байта в Акк

MOV A,#DAT

Rn < A; Пересылка из Акк. в РОН

MOV Rn, A

11111rrr

(Ri) < A; Пересылка из Акк. в РПД

MOV @Ri, A

111 1011i

(dir) < A; Пересылка из Акк. в РПД

MOV dir, A

(dir) < #DAT; Загрузка байта в РПД

MOV dir,#DAT

Rn < #DAT; Загрузка байта в РОН

MOV Rn,#DAT

01111rrr

(Ri) < #DAT; Загрузка байта в РПД

MOV @Ri,#DAT

11 1011i

(dir)<(dir); Пересыл. из РПД в РПД

MOV dir, dir

Rn < (dir); Пересылка из РПД в РОН

MOV Rn, dir

10101rrr

(Ri)<(dir); Пересылка из РПД в РПД

MOV @RI, dir

101 0011i

(dir)

MOV dir, Rn

10001rrr

(dir)<(Ri); Пересылка из РПД в РПД

MOV dir,@Ri

100 0011i

DPTR

Показать весь текст
Заполнить форму текущей работой