Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASSEMBLER / Пособие51GB / !!!!!ИТОГО!!!!!.doc
Скачиваний:
175
Добавлен:
16.04.2015
Размер:
4.14 Mб
Скачать

Передняя панель

Задняя панель

9. Лабораторные работы мк-51

  1. Архитектура микроконтроллера. Структура ассемблерной программы.

  1. Сортировка массива. Обмен файлов.

  1. Суммирование многобайтных чисел

-целых чисел без знака

-числа со знаком прямой код

-числа со знаком обратный код

  1. Подпрограммы. Передачи данных из вызывающей в вызываемую программу и наоборот.

  1. Умножение и деление вещественных чисел.

  1. Организация ввода с клавиатуры С (ассемблер)

-ввод

- идентификация клавиатуры

- защита от дребезга

  1. Вывод данных на ЖКИ (ассемблер) или на светодиод

-работа с курсором

-вывод сигнала на ЖКИ

-бегущая строка

  1. Вывод данных на ЖКИ С(подпрограммы)

  1. АЦП (ввод, нормирование) с потенциометра

  1. Вывод аналоговых сигналов на объект

-управление подсветкой индикатора

-управление инерционным объектом

-генератор периодических сигналов

  1. Последовательный интерфейс

-RS-232 “точка - точка”

-RS-485 “ведущий - ведомый”

-C-NET, ModBus

  1. Цифровые управление (PID – регулятор)

  1. Работы с таймерами

-конфигурированные

-для ШИМ

-для последовательного интерфейса

  1. Программная матрица (определение реакции оператора)

-ШИМ

  1. I2C интерфейс памяти

  1. SPI

10. Отчет по лабораторной работе

Отчет должен содержать следующие пункты:

  1. Задача

Постановка задачи

  1. Описание способа решения задачи.

  2. Алгоритм

Блок схема программы с комментариями к блокам, описываются используемые регистры. Блоки необходимо пронумеровать. Например:

4. Описание блок-схемы алгоритма

5. Описание программы

Построчное описание программы с ссылками на блоки алгоритма. Например: 6-9: реализация 1 блока алгоритма

6. Текст программы

Строки программы должны быть пронумерованы, должны присутствовать комментарии

7. Выводы

Приложение

Коды машинных команд

(в алфавитном порядке мнемонических обозначений машинных команд)

Мнемоническое обозначение машинной команды

Код ком.

K-bo байт

Мнемоническое обозначение машинной команды

Код ком.

К-во байт

Мнемоническое обозначение машинной команды

Код ком.

К-во байт

ACALL 000H-0FFH

11

2

ANL A, R3

5B

1

DEC @R1

17

1

ACALL 100H-1FFH

31

2

ANL A, R4

5C

1

DIV AB

84

1

ACALL 200H-2FFH

51

2

ANL A, R5

5D

1

DJNZ R0, rel

D8

2

ACALL 300H-3FFH

71

2

ANL A, R6

5E

1

DJNZ R1, rel

D9

2

ACALL 400H-4FFH

91

2

ANL A, R7

5F

1

DJNZ R2, rel

DA

2

ACALL 500H-5FFH

В1

2

ANL A, #data

54

2

DJNZ R3, rel

DB

2

ACALL 600H-6FFH

D1

2

ANL A, direct

55

2

DJNZ R4, rel

DC

2

ACALL 700H-7FFH

F1

2

ANL A, @R0

56

1

DJNZ R5, rel

DD

2

ADD A, R0

28

1

ANL A, @R1

57

1

DJNZ R6, rel

DE

2

ADD A, R1

29

1

ANL direct, A

52

2

DJNZ R7, rel

DF

2

ADD A, R2

2A

1

ANL direct, #data

53

3

DJNZ direct, rel

D5

3

ADD A, R3

2B

1

ANL C, bit

82

2

INC A

04

1

ADD A, R4

2C

1

ANL C, /bit

В0

2

INC direct

05

2

ADD A, R5

2D

1

CJNE A, #data, rel

B4

3

INC DPTR

A3

1

ADD A, R6

2E

l

CJNE A, direct, rel

В5

3

INC R0

08

1

ADD A, R7

2F

1

CJNE R0, #data, rel

В8

3

INC R1

09

1

ADD A, #data

24

2

CJNE R1, #data, rel

В9

3

INC R2

0A

1

ADD A, direct

25

2

CJNE R2, #data, rel

ВА

3

INC R3

0B

1

ADD A, @R0

26

1

CJNE R3, #data, rel

ВВ

3

INC R4

1

ADD A, @R1

27

1

CJNE R4, #data, rel

ВС

3

INC R5

0D

1

ADDC A, R0

38

1

CJNE R5, #data, rel

BD

3

INC R6

0E

1

ADDC A, R1

39

1

CJNE R6, #data, rel

BE

3

INC R7

0F

1

ADDC A, R2

ЗА

1

CJNE R7, #data, rel

BF

3

INC @R0

06

1

ADDC A, R3

3B

1

CJNE @R0 ,#data, rel

В6

3

INC @R1

07

1

ADDC A,R4

3C

1

CJNE @R1, # data, rel

В7

3

JB bit, rel

20

3

ADDC A, R5

3D

1

CLR A

Е4

1

JBC bit, rel

10

3

ADDC A, R6

3E

1

CLR bit

С2

2

JC rel

40

2

ADDC A, R7

3F

1

CLR С

C3

1

JMP @A+DPTR

73

1

ADDC A, #data

34

2

CPL A

F4

1

JNB bit, rel

30

3

ADDC A, direct

35

2

CPL bit

В2

2

JNC rel

50

2

ADDC A, @R0

36

1

CPL С

ВЗ

1

JNZ rel

70

2

ADDC A, @R1

37

1

DA A

D4

1

JZ rel

60

2

AJMP 000H-0FFH

01

2

DEC A

14

1

LCALL addr l6

12

3

AJMP 100H-1FFH

21

2

DEC direct

15

2

LJMP addr l6

02

3

AJMP 200H-2FFH

41

2

DEC R0

18

1

MOV A, R0

E8

1

AJMP 300H-3FFH

61

2

DEC R1

19

1

MOV A, Rl

E9

1

AJMP 400H-4FFH

81

2

DEC R2

1

MOV A, R2

EA

1

AJMP 500H-5FFH

Al

2

DEC R3

1

MOV A, R3

EB

1

AJMP 600H-6FFH

C1

2

DEC R4

1

MOV A, R4

EC

1

AJMP 700H-7FFH

El

2

DEC R5

1D

1

MOV A, R5

ED

1

ANL A, R0

58

1

DEC R6

1E

1

MOV A, R6

ЕЕ

1

ANL A, R1

59

1

DEC R7

1F

1

MOV A, R7

EF

1

ANL A, R2

5A

1

DEC @R0

16

1

MOV A, #data

74

2

Мнемоническое обозначение машинной команды

Код ком.

К-во байт

Мнемоническое обозначение машинной команды

Код ком.

К-во байт

Мнемоническое обозначение машинной команды

Код ком.

К-во байт

MOV A, direct

E5

2

MOV R3, direct

AB

2

SETB С

D3

1

MOV A, @R0

E6

1

MOV R4, direct

AC

2

SJMP rel

80

2

MOV A, @R1

E7

1

MOV R5, direct

AD

2

SUBB A, R0

98

1

MOV bit, С

92

2

MOV R6, direct

AE

2

SUBB A, R1

99

1

MOV C, bit

A2

2

MOV R7, direct

AF

2

SUBB A, R2

9A

1

MOV direct, A

F5

2

MOV @R0, direct

A6

2

SUBB A, R3

9B

1

MOV direct, #data

75

3

MOV @R1, direct

A7

2

SUBB A, R4

9C

1

MOV direct, direct

85

3

MOVC A, @A+DPTR

93

1

SUBB A, R5

9D

1

MOV direct, R0

88

2

MOVC A, @A+PC

83

1

SUBB A, R6

9E

1

MOV direct, R1

89

2

MOVX A, @DPTR

E0

1

SUBB A, R7

9F

1

MOV direct, R2

8A

2

MOVX A, @R0

E2

1

SUBB A, #data

94

2

MOV direct, R3

8B

2

MOVX A, @R1

E3

1

SUBB A, direct

95

2

MOV direct, R4

8C

2

MOVX @DPTR, A

F0

1

SUBB A, @R0

96

1

MOV direct, R5

8D

2

MOVX @R0, A

F2

1

SUBB A, @R1

97

1

MOV direct, R6

8E

2

MOVX @R1, A

F3

1

SWAP A

C4

1

MOV direct, R7

8F

2

MUL AB

A4

1

XCH A, R0

C8

1

MOV direct, @R0

86

2

NOP

00

1

XCH A, R1

C9

1

MOV direct, @R1

87

2

ORL A, R0

48

1

XCH A, R2

CA

1

MOV DPTR, #data l6

90

3

ORL A, R1

49

1

XCH A, R3

CB

1

MOV R0, A

F8

1

ORL A, R2

4A

1

XCH A, R4

CC

1

MOV R1, A

F9

1

ORL A, R3

4B

1

XCH A, R5

CD

1

MOV R2, A

FA

1

ORL A, R4

4C

1

XCH A, R6

CE

1

MOV R3, A

FB

1

ORL A, R5

4D

1

XCH A, R7

CF

1

MOV R4, A

FC

1

ORL A, R6

4E

1

XCH A, direct

C5

2

MOV R5, A

FD

1

ORL A, R7

4F

1

XCH A, @R0

C6

1

MOV R6, A

FE

1

ORL A, #data

44

2

XCH A, @R1

C7

1

MOV R7, A

FF

1

ORL A, direct

45

2

XCHD A, @R0

D6

1

MOV @R0, A

F6

1

ORL A, @R0

46

1

XCHD А, @R1

D7

1

MOV @R1, A

F7

1

ORL A, @R1

47

1

XRL A, R0

68

1

MOV R0, #data

78

2

ORL C, bit

72

2

XRL A, R1

69

1

MOV R1, #data

79

2

ORL C, /bit

А0

2

XRL A, R2

6A

1

MOV R2, #data

7A

2

2

ORL direct, A

42

2

XRL A, R3

6B

1

MOV R3, #data

7B

ORL direct, #data

43

3

XRL A, R4

6C

1

MOV R4, #data

7C

2

POP direct

D0

2

XRL A, R5

6D

1

MOV R5, #data

7D

2

PUSH direct

C0

2

XRL A, R6

6E

1

MOV R6, #data

7E

2

RET

22

1

XRL A, R7

6F

1

MOV R7, #data

7F

2

RETI

32

2

XRL A, #data

64

2

MOV @R0, #data

76

2

RL A

23

1

XRL A, direct

65

2

MOV @R1, #data

77

2

RLC A

33

l

XRL A, @R0

66

1

MOV R0, direct

A8

2

RR A

03

1

XRL A, @R1

67

1

MOV R1, direct

A9

2

RRC A

13

l

XRL direct, A

62

2

MOV R2, direct

AA

2

SETB bit

D2

2

XRL direct, #data

63

3

Код ком.

Мнемоническое обозначение машинной команды

К-во байт

1

Мнемоническое обозначение машинной команды

К-во байт

Код ком.

Мнемоническое обозначение машинной команды

К-во байт

00

NOP

1

2A

ADD A, R2

1

54

ANL A, #data

2

01

AJMP 000H-0FFH

2

2B

ADD A, R3

1

55

ANL A, direct

2

02

LJMP addrl6

3

2C

ADD A, R4

1

56

ANL A, @R0

1

03

RR A

1

2D

ADD A, R5

1

57

ANL A, @R1

1

04

INC A

1

2E

ADD A, R6

1

58

ANL A, R0

1

05

INC direct

2

2F

ADD A, R7

1

59

ANL A, Rl

1

06

INC @R0

1

30

JNB bit, rel

3

5A

ANL A, R2

1

07

INC @R1

1

31

ACALL 100H-1FFH

2

5B

ANL A, R3

1

08

INC R0

1

32

RETI

2

ANL A, R4

1

09

INC R1

1

33

RLC A

1

5D

ANL A, R5

1

INC R2

1

34

ADDC A, #data

2

ANL A, R6

1

INC R3

1

35

ADDC A, direct

2

5F

ANL A, R7

1

INC R4

1

36

ADDC A, @R0

1

60

JZ rel

2

0D

INC R5

1

37

ADDC A, @R1

1

61

AJMP 300H-3FFH

2

INC R6

1

38

ADDC A, R0

1

62

XRL direct, A

2

0F

INC R7

1

39

ADDC A, R1

1

63

XRL direct, #data

3

10

JBC bit, rel

3

ЗА

ADDC A, R2

1

64

XRL A, #data

2

11

ACALL 000H-0FFH

2

3B

ADDC A, R3

1

65

XRL A, direct

2

12

LCALL addrl6

3

3C

ADDC A, R4

1

66

XRL A, @R0

1

13

RRC A

1

3D

ADDC A, R5

1

67

XRL A,@R1

1

14

DEC A

1

3E

ADDC A, R6

1

68

XRL A, R0

1

15

DEC direct

2

3F

ADDC A, R7

1

69

XRL A, R1

1

16

DEC @R0

1

40

JC rel

2

XRL A, R2

1

17

DEC @R1

1

41

AJMP 200H-2FFH

2

XRL A, R3

1

18

DEC R0

1

42

ORL direct, A

2

XRL A, R4

1

19

DEC R1

1

43

ORL direct, #data

3

6D

XRL A, R5

1

DEC R2

1

44

ORL A, #data

2

XRL A, R6

1

1B

DEC R3

1

45

ORL A, direct

2

6F

XRL A, R7

1

DEC R4

1

46

ORL A, @R0

1

70

JNZ rel

2

1D

DEC R5

1

47

ORL A, @R1

1

71

ACALL 300H-3FFH

2

1E

DEC R6

1

48

ORL A, R0

1

72

ORL C, bit

2

1F

DEC R7

1

49

ORL A, Rl

1

73

JMP @A+DPTR

1

20

JB bit, rel

3

4A

ORL A, R2

1

74

MOV A, #data

2

21

AJMP 100H-1FFH

2

4B

ORL A, R3

1

75

MOV direct, #data

3

22

RET

1

4C

ORL A, R4

1

76

MOV @R0, #data

2

23

RL A

1

4D

ORL A, R5

1

77

MOV @R1, #data

2

24

ADD A, #data

2

4E

ORL A, R6

1

78

MOV R0, #data

2

25

ADD A, direct

2

4F

ORL A, R7

1

79

MOV R1, #data

2

26

ADD A, @R0

1

50

JNC rel

2

MOV R2, #data

2

27

ADD A, @R1

1

51

ACALL 200H-2FFH

2

MOV R3, #data

2

28

ADD A, R0

1

52

ANL direct, A

2

MOV R4, #data

2

29

ADD A, R1

1

53

ANL direct, #data

.3

7D

MOV R5, #data

2

Код ком.

Мнемоническое обозначение машинной команды

К-во байт

Код ком.

Мнемоническое обозначение машинной команды

К-во байт

Код ком.

Мнемоническое обозначение машинной команды

К-во байт

MOV R6, #data

2

A9

MOV R1, direct

2

D4

DA A

1

7F

MOV R7, #data

2

AA

MOV R2, direct

2

D5

DJNZ direct, rel

3

80

SJMP rel

2

AB

MOV R3, direct

2

D6

XCHD A, @R0

1

81

AJMP 400H-4FFH

2

AC

MOV R4, direct

2

D7

XCHD A, @R1

1

82

ANL C, bit

2

AD

MOV R5, direct

2

D8

DJNZ R0, rel

2

83

MOVC A, @A+PC

1

AE

MOV R6, direct

2

D9

DJNZ Rl, rel

2

84

DIV AB

1

AF

MOV R7, direct

2

DA

DJNZ R2, rel

2

85

MOV direct, direct

3

B0

ANL C, /bit

2

DB

DJNZ R3, rel

2

86

MOV direct, @R0

2

B1

ACALL 500H-5FFH

2

DC

DJNZ R4, rel

2

87

MOV direct, @Rl

2

B2

CPL bit

2

DD

DJNZ R5, rel

2

88

MOV direct, R0

2

B3

CPL С

1

DE

DJNZ R6, rel

2

89

MOV direct, Rl

2

B4

CJNE A, #data, rel

3

DF

DJNZ R7, rel

2

MOV direct, R2

2

B5

CJNE A, direct, rel

3

E0

MOVX A, @DPTR

1

8B

MOV direct, R3

2

B6

CJNE @R0, #data, rel

3

El

AJMP 700H-7FFH

2

MOV direct, R4

2

B7

CJNE @R1, #data rel

3

E2

MOVX A, @R0

1

8D

MOV direct, R5

2

B8

CJNE R0, #data, rel

3

E3

MOVX A, @R1

1

MOV direct, R6

2

B9

CJNE R1, #data, rel

3

E4

CLR A

1

8F

MOV direct ,R7

2

BA

CJNE R2, #data, rel

3

E5

MOV A, direct

2

90

MOV DPTR, #datal6

3

BB

CJNE R3, #data, rel

3

E6

MOV A, @R0

1

91

ACALL 400H-4FFH

2

ВС

CJNE R4, #data, rel

3

E7

MOV A, @R1

1

92

MOV bit, С

2

BD

CJNE R5, #data, rel

3

E8

MOV A,R0

1

93

MOVC A, @A+DPTR

1

BE

CJNE R6, #data, rel

3

E9

MOV A, R1

1

94

SUBB A, #data

2

BF

CJNE R7, #data, rel

3

EA

MOV A, R2

1

95

SUBB A, direct

2

C0

PUSH direct

2

EB

MOV A, R3

1

96

SUBB A, @R0

1

C1

AJMP 600H-6FFH

2

EC

MOV A, R4

1

97

SUBB A, @R1

1

C2

CLR bit

2

ED

MOV A, R5

1

98

SUBB A, R0

1

C3

CLR С

1

ЕЕ

MOV A, R6

1

99

SUBB A,R1

1

C4

SWAP A

1

EF

MOV A, R7

1

SUBB A, R2

1

C5

XCH A, direct

2

F0

MOVX @DPTR, A

1

SUBB A, R3

1

C6

XCH A, @R0

1

F1

ACALL 700H-7FFH

2

SUBB A, R4

1

C7

XCH A, @R1

1

F2

MOVX @R0, A

1

9D

SUBB A, R5

1

C8

XCH A, R0

1

F3

MOVX @R1, A

1

SUBB A, R6

1

C9

XCH A, R1

1

F4

CPL A

1

9F

SUBB A, R7

1

CA

XCH A, R2

1

F5

MOV direct, A

2

А0

ORL C, /bit

2

CB

XCH A, R3

1

F6

MOV @R0, A

1

А1

AJMP 500H-5FFH

2

CC

XCH A, R4

1

F7

MOV @R1, A

1

А2

MOV C, bit

2

CD

XCH A, R5

1

F8

MOV R0, A

1

A3

INC DPTR

1

CE

XCH A, R6

1

F9

MOV R1, A

1

А4

MUL AB

1

CF

XCH A, R7

1

FA

MOV R2, A

1

А5

D0

POP direct

2

FB

MOV R3, A

1

А6

MOV @R0, direct

2

Dl

ACALL 600H-6FFH

2

FC

MOV R4, A

1

А7

MOV @R1, direct

2

D2

SETB bit

2

FD

MOV R5, A

1

А8

MOV R0, direct

2

D3

SETB С

1

FE

MOV R6, A

1

FF

MOV R7, A

1

Содержание:

Соседние файлы в папке Пособие51GB