Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МП-сист_ЛР-1_Сист команд.docx
Скачиваний:
1
Добавлен:
18.11.2019
Размер:
83.26 Кб
Скачать

6. Контрольні питання.

  1. Способи адресації даних

  2. На які групи поділяються команди мікроконтролера КР1816ВЕ51 ?

  3. Що таке машинний код програми ?

  4. Як виконується табличне асемблювання прогами, написаної на мові Асемблера ?

  5. Час виконання команд (поняття такту, машинного циклу)

  6. Типи команд. Формат команд. Команди прямої і непрямої адресації.

  7. Арифметичні команди. Логічні команди.

  8. Команди роботи із стеком, послідовність дій (команд) при роботі із стеком

  9. Призначення і робота з внутрішньою пам'яттю даних ОЕОМ

  10. Характеристики вихідних сигналів ОЕОМ

7. Рівень знань та навичок після виконання лабораторної роботи.

В результаті виконання практичної роботи студенти повинні навчитися писати нескладні програми на мові Асемблера для мікроконтролера КР1816ВЕ51 та здійснювати табличне асемблювання програм.

8. Література.

  • В.В. Сташин, А.В. Урусов, О.Ф. Мологонцева. Проектирование цифровых устройств на однокристальніх микроконтроллерах.

  • Г.Б. Уильямс. Отладка микропроцессорных систем.

  • 6. А.В. Фрунзе. Микроконтроллеры? Это же просто.

Додаток 1

Адреси регістрів спеціальних функцій

РСФ

Адреса (в шістнадцятковій системі числення)

Найменування

*

P0

80

Порт 0

SP

81

Вказівник стеку

DPL

82

Регістр-вказівник даних (молодший байт)

DPH

83

Регістр-вказівник даних (старший байт)

PCON

87

Регістр керування потужністю

*

TCON

88

Регістр керування/статусу таймера

TMOD

89

Регістр режиму таймера

TL0

8A

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

TL1

8B

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

TH0

8C

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

TH1

8D

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

*

P1

90

Порт 1

*

SCON

98

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

SBUF

99

Буфер послідовного порту

*

P2

A0

Порт 2

*

IE

A8

Регістр маски переривань

*

P3

B0

Порт 3

*

IP

B8

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

*

PSW

D0

Слово стану

*

ACC

E0

Акумулятор

*

B

F0

Регістр-розширювач акумулятора

Додаток. 2

СИСТЕМА КОМАНД ОЕОМ КР1816ВЕ51

Пересилки

Арифметичні

Логічні

Перед. керування

MOV

A,Rn

ADD

A,Rn

ANL

A,Rn

LJMP

ad16

MOV

A,ad

ADD

A,ad

ANL

A,ad

AJMP

ad11

MOV

A,@Ri

ADD

A,@Ri

ANL

A,@Ri

SJMP

rel

MOV

A,#d8

ADD

A,#d8

ANL

A,#d8

JMP

@A+DPTR

MOV

Rn,A

ADDC

A,Rn

ANL

ad,A

JZ

rel

MOV

Rn,ad

ADDC

A,ad

ANL

ad,#d8

JNZ

rel

MOV

Rn,#d8

ADDC

A,@Ri

ORL

A,Rn

JC

rel

MOV

ad,A

ADDC

A,#d8

ORL

A,ad

JNC

rel

MOV

ad,Rn

DA

A

ORL

A,@Ri

JB

bit, rel

MOV

add,ads

SUBB

A,Rn

ORL

A,#d8

JNB

bit, rel

MOV

ad,@Ri

SUBB

A,ad

ORL

ad,A

JBC

bit, rel

MOV

ad,#d8

SUBB

A,@Ri

ORL

ad,#d8

DJNZ

Rn,rel

MOV

@Ri,A

SUBB

A,#d8

XRL

A,Rn

DJNZ

ad,rel

MOV

@Ri,ad

INC

A

XRL

A,ad

CJNE

A,ad,rel

MOV

@Ri,#d8

INC

Rn

XRL

A,@Ri

CJNE

A,#d8,rel

MOV

DPTR,#d16

INC

ad

XRL

A,#d8

CJNE

Rn,#d8,rel

MOVC

A,@A+DPTR

INC

@Ri

XRL

ad,A

CJNE

@Ri,#d8,rel

MOVC

A,@A+PC

INC

DPTR

XRL

ad,#d8

LCALL

ad16

MOVX

A,@Ri

DEC

A

CLR

A

ACALL

ad11

MOVX

A,@DPTR

DEC

Rn

CPL

A

RET

MOVX

@Ri,A

DEC

ad

RL

A

RETI

MOVX

@DPTR,A

DEC

@Ri

RLC

A

NOP

PUSH

ad

MUL

AB

RR

A

Операції з бітами

POP

ad

DIV

AB

RRC

A

CLR

C

XCH

A,Rn

CLR

bit

XCH

A,ad

Прямоадресовані регістри

SETB

C

XCH

A,@Ri

* ACC

* P3

TH1

SETB

Bit

XCHD

A,@Ri

* B

* IP

TL1

CPL

C

SWAP

A

* PSW

* IE

* SCON

CPL

Bit

SP

TMOD

SBUF

ANL

C,bit

* P0

* TCON

PCON

ANL

C,/bit

* P1

TH0

ORL

C,bit

* P2

TL0

ORL

C,/bit

DPTR (DPH, DPL)

MOV

C,bit

* - допускається адресація окремих біт

MOV

bit,C

* PSW:

C

AC

F0

RS1

RS0

OV

-

P

TMOD

TMR1

TMR0

GATE

Л/-T

M1

M0

GATE

Л/-T

M1

M0

* TCON

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

* SCON

SM0

SM1

SM2

REN

TB8

RB8

T1

R1

PCON

SMOD

GF1

GF0

PD

IDL

* IE

EA

-

-

ES

ET1

EX1

ET0

EX0

* IP

-

-

-

PS

PT1

PX1

PT0

PX0

* P3

-RD

-WR

T1

T0

-INT1

-INT0

TXD

RXD

MOVC A,@A+DPTR - (A) ← ((A) + (DPTR))

MOVC A,@A+PC - (PC) ← (PC) + 1; (A) ← ((A) + (PC))

XCHD A,@Ri - (A0-3) ↔ ((Ri)0-3)

SUBB A,Rn - (A) ← (A) - (C) - (Rn)

MUL AB - (B) (A) ← (A) x (B)

DIV AB - (A).(B) ← (A) / (B)

Додаток 3

Машинні (шістнадцяткові коди команд однокристального мікроконтролера КР1816ВЕ51. (Х – шістнадцяткова цифра)

По горизонталі - старша цифра По вертикалі - молодша цифра. Наприклад, машинний код команди RRC A – 13H

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0

NOP

AJMP 0XXH

LJMP ad16

RR A

INC A

INC ad

INC @R0

INC @R1

INC R0

INC R1

INC R2

INC R3

INC R4

INC R5

INC R6

INC R7

0

1

JBC bit,rel

ACALL 0XXh

LCALL ad16

RRC A

DEC A

DEC ad

DEC @R0

DEC @R1

DEC R0

DEC R1

DEC R2

DEC R3

DEC R4

DEC R5

DEC R6

DEC R7

1

2

JB bit,rel

AJMP 1XXH

RET

RL A

ADD A,#d

ADD A,ad

ADD A,@R0

ADD A,@R1

ADD A,R0

ADD A,R1

ADD A,R2

ADD A,R3

ADD A,R4

ADD A,R5

ADD A,R6

ADD A,R7

2

3

JNB bit,rel

ACALL 1XXh

RETI

RLC A

ADDC A,#d

ADDC A,ad

ADDC A,@R0

ADDC A,@R1

ADDC A,R0

ADDC A,R1

ADDC A,R2

ADDC A,R3

ADDC A,R4

ADDC A,R5

ADDC A,R6

ADDC A,R7

3

4

JC rel

AJMP 2XXH

ORL ad,A

ORL ad,#d

ORL A,#d

ORL A,ad

ORL A,@R0

ORL A,@R1

ORL A,R0

ORL A,R1

ORL A,R2

ORL A,R3

ORL A,R4

ORL A,R5

ORL A,R6

ORL A,R7

4

5

JN Crel

ACALL 2XXh

ANL ad,A

ANL ad,#d

ANL A,#d

ANL A,ad

ANL A,@R0

ANL A,@R1

ANL A,R0

ANL A,R1

ANL A,R2

ANL A,R3

ANL A,R4

ANL A,R5

ANL A,R6

ANL A,R7

5

6

JZ rel

AJMP 3XXH

XRL ad,A

XRL ad,#d

XRL A,#d

XRL A,ad

XRL A,@R0

XRL A,@R1

XRL A,R0

XRL A,R1

XRL A,R2

XRL A,R3

XRL A,R4

XRL A,R5

XRL A,R6

XRL A,R7

6

7

JNZ rel

ACALL 3XXh

ORL C,bit

JMP @A+DPTR

MOV A,#d

MOV ad,#d

MOV @R0,#d

MOV @R1,#d

MOV R0,#d

MOV R1,#d

MOV R2,#d

MOV R3,#d

MOV R4,#d

MOV R5,#d

MOV R6,#d

MOV R7,#d

7

8

SJMP rel

AJMP 4XXH

ANL C,bit

MOVC A,@A+PC

DIV AB

MOV add,ads

MOV ad,@R0

MOV ad,@R1

MOV ad,R0

MOV ad,R1

MOV ad,R2

MOV ad,R3

MOV ad,R4

MOV ad,R5

MOV ad,R6

MOV ad,R7

8

9

MOV DPTR,#d16

ACALL 4XXh

MOV bit,C

MOVC A,@A+DPTR

SUBB A,#d

SUBB A,ad

SUBB A,@R0

SUBB A,@R1

SUBB A,R0

SUBB A,R1

SUBB A,R2

SUBB A,R3

SUBB A,R4

SUBB A,R5

SUBB A,R6

SUBB A,R7

9

A

ORL C,/bit

AJMP 5XXH

MOV C,bit

INC DPTR

MUL AB

MOV @R0,ad

MOV @R1,ad

MOV R0,ad

MOV R1,ad

MOV R2,ad

MOV R3,ad

MOV R4,ad

MOV R5,ad

MOV R6,ad

MOV R7,ad

A

B

ANL C,/bit

ACALL 5XXh

CPL bit

CPL C

CJNE A,#d,rel

CJNE A,ad,rel

CJNE @R0,#d,rel

CJNE @R1,#d,rel

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

C

PUSH ad

AJMP 6XXH

CLR bit

CLR C

SWAP A

XCH A,ad

XCH A,@R0

XCH A,@R1

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

D

POP ad

ACALL 6XXh

SETB bit

SETB

C

DA

A

DJNZ ad,rel

XCHD A,@R0

XCHD A,@R1

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

E

MOVX A,@DPTR

AJMP 7XXH

MOVX A,@R0

MOVX A,@R1

CLR A

MOV A,ad

MOV A,@R0

MOV A,@R1

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

F

MOVX @DPTR,A

ACALL 7XXh

MOVX @R0,A

MOVX @R1,A

CPL A

MOV ad,A

MOV @R0,A

MOV @R1,A

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

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F