Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Призначення регістрів SFR та окремих бітів цих регістрів

РефератПомощь в написанииУзнать стоимостьмоей работы

Таблиця 5 — команди булевого процесора MCS — 51. В командах можливі наступні формування ознак: PSW.5 — прапорець користувача (General Purpose Status Flag). Таблиця 3 — логічні та арифметичні команди. Таблиця 4 — команди передачі управління. Безпосередній операнд, довжиною 16 біт; Регістр загального призначення (n = 0.7); Безпосередній операнд, довжиною 8 біт; Зсув на сторінці CSEG, довжиною 8 бит. Читать ещё >

Призначення регістрів SFR та окремих бітів цих регістрів (реферат, курсовая, диплом, контрольная)

Акумулятор (Acc) використовується як джерело і як приймач при обчисленнях та пересилках. Мається можливість як бітової, так і байтової адресації.

Регістр В використовується як джерело і як приймач при операціях множення або ділення. Мається можливість як бітової, так і байтової адресації.

Регістр слова стану програми (PSW) містить біти (прапорці), які відзеркалюють результати виконання операцій, біти обрання відповідного регістрового банку, біт загального використання, який доступний користувачу:

Формат регістр слова стану програми (PSW).

Рисунок 6 — Формат регістр слова стану програми (PSW).

PSW.0 — біт парності (Parity flag);

PSW.1 — резерв;

PSW.2 — біт переповнення (OVerflow flag);

PSW.3, PSW.4 — біти обрання регістрового банку (Registers Bank Selection);

PSW.5 — прапорець користувача (General Purpose Status Flag).

PSW.6 — зарезервований біт;

PSW.7 — біт перенесення (Carry flag);

Система команд мікроконтролера MCS — 51

Система команд містить 111 команд — одно байтних 49, дво байтних 45 та три байтних 17. Всі команди виконуються за 1 або 2 машинних цикли МЦ (12 тактов CLK), за виключенням команд множення та ділення MUL и DIV, для виконання яких потрібно 4 МЦ. Більшість дво байт них команд — одноциклові, а всі три байтні двох циклові. За один МЦ в MCS — 51 можна вводити до двох байтів програмного коду.

В MCS — 51 передбачена пряма (direct), непряма (через R0, R1 или DPTR) та безпосередня (# data) адресація елементів DSEG и RSEG, пряма адресація елементу BSEG, непряма адресація (через R0, R1 або DPTR) — адресація XSEG.

Вся множина команд розподілена на 5 груп: пересилки 28, логічних 25, арифметичні 24, передачі управління 17 та булевого процесора 17.

В таблицях 1 — 4 наведені мнемо коди команд, тривалість команди в МЦ, HEX-коди та опис команд. В таблицях використані наступні позначення:

Таблиця 1.

A, B.

— акумулятор, додатковий акумулятор;

Rn.

— регістр загального призначення (n = 0.7);

@Ri.

— не пряма адреса через Ri (i = 0,1);

direct.

— пряма адреса DSEG (8 бит);

#data.

— безпосередній операнд, довжиною 8 біт;

#data16.

— безпосередній операнд, довжиною 16 біт;

addr11.

— адреса переходу, довжиною 11 біт;

addr16.

— адреса переходу, довжиною 16 бит;

rel.

— зсув на сторінці CSEG, довжиною 8 бит;

bit.

— пряма адреса BSEG (номер біту).

В командах можливі наступні формування ознак:

[1] - P.

[2] - CY, P.

[3] - CY, AC, OV, P.

[4] - OV, P, CY 0.

[5] - CY.

Таблиця 2 — команди пересилки.

Мнемокод.

МЦ

HEX-коди.

Опис команди.

MOV A, Rn

E8. EF.

A Rn

MOV A, direct.

E5.

A (direct).

MOV A, @Ri

E6. E7.

A (Ri).

MOV A, #data.

A data.

MOV Rn, A.

F8. FF.

Rn A.

MOV Rn, direct.

A8. AF.

Rn (direct).

MOV Rn, #data.

78. 7 °F.

Rn data.

MOV direct, A.

F5.

(direct) A.

MOV direct, Rn

88. 8 °F.

(direct) Rn

MOV direct, direct.

(direct) (direct).

MOV direct, @Ri

86. 87.

(direct) (Ri).

MOV direct, #data.

(direct) data.

MOV @Ri, A.

F6. F7.

(Ri) A.

MOV @Ri, direct.

A6. A7.

(Ri) (direct).

MOV @Ri, #data.

76. 77.

(Ri) data.

MOV DPTR, #data16.

DPTR data16.

MOVC A,@A+DPTR.

A CSEG (A+DPTR).

MOVC A,@A+PC.

A CSEG (A+PC).

MOVX A, @Ri

E2. E3.

A XSEG (P2.Ri).

MOVX A, @DPTR.

E0.

A XSEG (DPTR).

MOVX @Ri, A.

F2. F3.

XSEG (P2.Ri) A.

MOVX @DPTR, A.

F0.

XSEG (DPTR) A.

PUSH direct.

C0.

+(SP) (direct).

POP direct.

D0.

(direct) (SP);

XCH A, Rn

C8. CF.

A Rn

XCH A, direct.

C5.

A (direct).

XCH A, @Ri

C6. C7.

A (Ri).

XCHD A, @Ri

D6. D7.

A[3:0] (Ri[3:0]).

Таблиця 3 — логічні та арифметичні команди.

Мнемокод.

МЦ

HEX-коди.

Опис команди.

ANL A, Rn

58. 5 °F.

A A Rn

ANL A, direct.

A A (direct).

ANL A, @Ri

56. 57.

A A (Ri).

ANL A, #data.

A A data.

ANL direct, A.

(direct) (direct) A.

ANL direct, #data.

(direct) (direct) data.

ORL A, Rn

48. 4 °F.

A A Rn

ORL A, direct.

A A (direct).

ORL A, @Ri

46. 47.

A A (Ri).

ORL A, #data.

A A data.

ORL direct, A.

(direct) (direct) A.

ORL direct, #data.

(direct) (direct) data.

XRL A, Rn

68. 6 °F.

A A Rn

XRL A, direct.

A A (direct).

XRL A, @Ri

66. 67.

A A (Ri).

XRL A, #data.

A A data.

XRL direct, A.

(direct) (direct) A.

XRL direct, #data.

(direct) (direct) data.

CLR A.

E4.

A 0000 0000 (очищення акумулятора).

CLP A.

F4.

A A (інверсія акумулятора).

RL A.

Зсув лівий циклічний.

RLC A.

Зсув лівий з перенесенням.

RR A.

Зсув правий циклічний.

RRC A.

Зсув правий з перенесенням.

SWAP A.

C4.

A[7:4] A[3:0].

ADD A, Rn

28. 2 °F.

A A + Rn

ADD A, direct.

A A + (direct).

ADD A, @Ri

26. 27.

A A + (Ri).

ADD A, #data.

A A + data.

ADDC A, Rn

38. 3 °F.

A A + Rn + CY.

ADDC A, direct.

A A + (direct) + CY.

ADDC A, @Ri

36. 37.

A A + (Ri) + CY.

ADDC A, #data.

A A + data + CY.

SUBB A, Rn

98. 9 °F.

A A — Rn — CY.

SUBB A, direct.

A A — (direct) — CY.

SUBB A, @Ri

96. 97.

A A — (Ri) — CY.

SUBB A, #data.

A A — data — CY.

INC A.

A A + 1.

INC Rn

08. 0 °F.

Rn Rn + 1.

INC direct.

(direct) (direct) + 1.

INC @Ri

06. 07.

(Ri) (Ri) + 1.

INC DPTR.

A3.

DPTR DPTR + 1.

DEC A.

A A — 1.

DEC Rn

18. 1 °F.

Rn Rn — 1.

DEC direct.

(direct) (direct) — 1.

DEC @Ri

16. 17.

(Ri) (Ri) — 1.

MUL AB.

A4.

B.A A B.

DIV AB.

A.B A B.

DA A.

Десяткова корекція додавання.

Таблиця 4 — команди передачі управління

Мнемокод.

МЦ

HEX-коди.

Опис команди.

ACALL addr11.

aaa10001.

+(SP) PC; PC[10:0] adrr11.

LCALL addr16.

+(SP) PC; PC adrr16.

RET.

PC (SP);

RETI.

PC (SP)-; кінець переривання.

AJMP addr11.

aaa00001.

PC[10:0] adrr11.

LJMP addr16.

PC adrr16.

JMP @A + DPTR.

PC DPTR +A.

SJMP rel.

PC PC + rel.

JZ rel.

if A = 0 then PC PC + rel.

JNZ rel.

if A 0 then PC PC + rel.

CJNE A, direct, rel.

B5.

if A (direct) then PC PC + rel.

CJNE A, #data, rel.

B4.

if A data then PC PC + rel.

CJNE Rn, #data, rel.

B8. BF.

if Rn data then PC PC + rel.

CJNE @Ri,#data, rel.

B6. B7.

if (Ri) data then PC PC + rel.

CJNZ Rn, rel.

D8. DF.

Rn Rn — 1 if Rn 0 then PC PC + rel.

CJNE direct, rel.

D5.

(direct) (direct) — 1 if (direct) 0 then PC PC + rel.

NOP.

Таблиця 5 — команди булевого процесора MCS — 51.

Мнемокод.

МЦ

HEX-коди.

Опис команди.

MOV C, bit.

A9.

CY BSEG (bit).

MOV bit, C.

BSEG (bit) CY.

CLR C.

C3.

CY 0.

CLR bit.

C2.

BSEG (bit) 0.

SETB C.

D3.

CY 1.

SETB bit.

D2.

BSEG (bit) 1.

CPL C.

B3.

CY CY.

CPL bit.

B2.

BSEG (bit) BSEG (bit).

ANL C, bit.

CY CY BSEG (bit).

ANL C, bit.

B0.

CY CY BSEG (bit).

ORL C, bit.

CY CY BSEG (bit).

ORL C, bit.

A0.

CY CY BSEG (bit).

JC rel.

if CY = 1 then PC PC + rel.

JNC rel.

if CY = 0 then PC PC + rel.

JB bit, rel.

if BSEG (bit) = 1 then PC PC + rel.

JNB bit, rel.

if BSEG (bit) = 0 then PC PC + rel.

JBl.

if BSEG (bit) = 1 then PC PC + rel и BSEG (bit) 0.

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