Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Богомазов шпоры.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.32 Mб
Скачать
    1. Регістрова структура мікроконтролера мс5-51. Особливості системи команд: арифметичні команди, логічні команди, бітові операції, команди передачі керування.

MC5-51 обладает регистрами специальных функций, которые выполняют определенные уникальные для них функции.

Блок регистров специальных функций(sfr)

Символ

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

Адрес

ACC *

Аккумулятор

0E0H

B *

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

0F0H

PSW *

Слово состояния программы

0D0H

SP

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

81H

DPTR

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

(DPL)

83H

82H

P0 *

Порт 0

80H

P1 *

Порт 1

90H

P2 *

Порт 2

0A0H

P3 *

Порт 3

0B0H

IP *

Регистр приоритетов

0B8H

IE *

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

0A8H

TMOD

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

89H

TCON *

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

88H

TH0

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

8CH

TL0

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

8AH

TH1

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

8DH

TL1

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

8BH

SCON *

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

98H

SBUF

Буфер приемопередатчика

99H

PCON

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

87H

Примечание. Регистры, имена которых отмечены знаком (*), допускают адресацию отдельных бит.

Наиболее часто используемые:

ACC – аккумулятор. Хранит один из операндов и результат.

Регистры общего назначения R0-R7 – для хранения промежуточных рез-тов.

В - Регистр-расширитель аккумулятора. Используется для умножения и деления.

DPTR – 16разрядный. Используется для косвенной адресации в XDATA и CODE. Делится на 2 части по 8 разрядов – DPH и DPL.

РС – program counter – хранит адрес текущей команды

SP – указатель стека. Стек располагается во внутренней памяти данных.Стек растет вверх(от малых адресов к старшим). Указатель стека указывает на занятую ячейку.

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

ADD – суммирование операнда, хранящегося в аккумуляторе с указанным операндом. Результат сохраняется в аккумуляторе.

ADDС - суммирование операнда, хранящегося в аккумуляторе с указанным операндом с учетом сдвига. Результат сохраняется в А.

DIV AB – операция деления. А/В. Результат записывается как А,В

MUL AB – операция умножения. АхВ Результат записывается в (В)(А)

SUBB – операция вычитания из А второго операнда с учетом сдвига. Результат хранится в А

INC – инкремент

DEC - декремент

Логические команды:

SWAP A меняет местами содержимое младших 4 и старших 4 регистра аккумулятора.

CLR A – очистка аккумулятора

CPL A – инверсия аккумулятора

RL A – смещение регистров влево

RLC A – смещение регистров влево с учетом сдвигового регистра

RR A - смещение регистров вправо

RRC A - смещение регистров вправо с учетом сдвигового регистра

ANL – логическое «И»

ORL – логическое «или»

XRL – исключающее «или»

Битовые операции:

CLR – установка бита в 0

SETB – установка бита в 1

CPL – инвертирование бита

ANL – битовое и

ORL – битовое или

MOV – перенос битов, только бит в С или С в бит

Команды передачи управления

JMP – переход на метку

JZ – переход на метку, если А=0

JNZ – переход на метку, если А не = 0

JC – переход на метку, если С = 1

JNC – переход на метку если С = 0

JB – переход на метку, если заданный бит = 1

JNB – переход на метку, если заданный бит = 0

DJNZ – decrement jump no zero – переход на метку, пока указанный адрес не будет = 0. С каждым циклом указанный адрес декрементируется.

CJNE – переход на метку, если значение аккумулятора не равно указанному.

CALL – вызов подпрограммы

RET – возврат из подпрограммы

RETI – возврат из обработки прерывания

NOP – отсутствие команды