Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_10.doc
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
137.73 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ДОРОЖНО-СТРОИТЕЛЬНЫЙ КОЛЛЕДЖ имени Ленинского комсомола

Методические указания по выполнению лабораторных работ по дисциплине «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»

Лабораторная работа № 10 Команды операций с битами

ГГДСК Гомель 2011

  1. Цель работы

Изучить и практически исследовать работу команд операций с битами однокристальных микроконтроллеров семейства MCS-51 (МК51) на персональном компьютере.

2.Основные теоретические сведения

Отличительной особенностью данной группы команд является то, что они оперируют с однобитными операндами. В качестве таких операндов могут выступать отдельные биты некоторых регистров специальных функций, а также 128 программных флагов пользователя.

МК51 имеет следующие команды операций с битами

CLR C ; (C)  0 - Сброс переноса

CLR bit ; (b)  0 - Сброс бита

SETB C ; (C)  1 - Установка переноса

SETB bit ; (b)  1 - Установка бита

CPL C ; (C)  (/C) - Инверсия переноса

CPL bit ; (b)  (/b) - Инверсия бита

ANL C, bit ; (C)  (C)  (b) - Логическое И бита и переноса

ANL C, /bit ; (C)  (C)  (/b) - Логическое И инверсии бита и переноса

ORL C, bit ; (C)  (C)  (b) - Логическое ИЛИ бита и переноса

ORL C, /bit ; (C)  (C)  (/b) - Логическое ИЛИ инверсии бита и переноса

MOV C, bit ; (C)  (b) - Пересылка бита в перенос

MOV bit, C ; (b)  (C) - Пересылка переноса в бит

Эти команды в зависимости от выполняемой функции могут быть одно- или двухбайтными. Те из них, которые оперируют с флагом переноса, имеют однобайтный код. В командах, где фигурирует символическое имя bit , после кода операции добавляется байт прямоадресуемого бита. В зависимости от значения байта адреса прямоадресуемый бит выбирается из двух групп битов.

Значения адреса от 0 (00H) до 127 (7FH) определяют биты в 16-байтном блоке памяти данных между адресами 20H и 2FH (см. рис. 1). Они пронумерованы последовательно от младшего бита младшего адреса к старшему биту старшего адреса. Это так называемые программные флаги пользователя.

Адреса битов от 128 (80H) до 255 (FFH) соответствуют битам регистров специальных функций. Адреса битов этих регистров вычисляются иначе, чем адреса ячеек ПД пять старших битов адреса совпадают с собственными адресами регистров, а три младших бита идентифицируют позицию бита в пределах регистра (см. рис. 2).

Хотя МК51 имеет 20 регистров специальных функций, побитовый доступ обеспечен только для 11 PSW, ACC, B, P0, P1, P2, P3, TCON, SCON, IE, IP. У 6 из них (PSW, P3, TCON, SCON, IE, IP) отдельные разряды имеют собственные символические имена.

Обратите внимание, что аккумулятор как регистр специальных функций с именем ACC допускает адресацию отдельных бит (разрядов) с использованием соответствующего позиционного номера ACC.7 – 7-й бит, ACC.1 – 1-й бит аккумулятора.

В языке Ассемблера МК51 адрес бита указывается одним из трех способов

1) числом или выражением, соответствующим прямому адресу бита

Адрес ячейки ПД , HEX Адреса битов, HEX

7

6

5

4

3

2

1

0

2F

7F

7E

7D

7C

7B

7A

79

78

2E

77

76

75

74

73

72

71

70

2D

6F

6E

6D

6C

6B

6A

69

68

2C

67

66

65

64

63

62

61

60

2B

5F

5E

5D

5C

5B

5A

59

58

2A

57

56

55

54

53

52

51

50

29

4F

4E

4D

4C

4B

4A

49

48

28

47

46

45

44

43

42

41

40

27

3F

3E

3D

3C

3B

3A

39

38

26

37

36

35

34

33

32

31

30

25

2F

2E

2D

2C

2B

2A

29

28

24

27

26

25

24

23

22

21

20

23

1F

1E

1D

1C

1B

1A

19

18

22

17

16

15

14

13

12

11

10

21

0F

0E

0D

0C

0B

0A

09

08

20

07

06

05

04

03

02

01

00

Рис. 1. Карта адресуемых бит в памяти данных

Адрес регистра, HEX Адрес битов, HEX Имя регистра

7

6

5

4

3

2

1

0

F0

F7

F6

F5

F4

F3

F2

F1

F0

B

E0

E7

E6

E5

E4

E3

E2

E1

E0

ACC

D0

D7

D6

D5

D4

D3

D2

D1

D0

PSW

B8

-

-

-

BC

BB

BA

B9

B8

IP

B0

B7

B6

B5

B4

B3

B2

B1

B0

P3

A8

AF

-

-

AC

AB

AA

A9

A8

IE

A0

A7

A6

A5

A4

A3

A2

A1

A0

P2

98

9F

9E

9D

9C

9B

9A

99

98

SCON

90

97

96

95

94

93

92

91

90

P1

88

8F

8E

8D

8C

8B

8A

89

88

TCON

80

87

86

85

84

83

82

81

80

P0

Рис. 2. Карта адресуемых бит регистров специальных функций

2) именем или адресом регистра (ячейки ПД), содержащего данный бит, и позицией бита в регистре (ячейке ПД), разделенными точкой

3) для определенных битов регистров специальных функций указанием символического имени.

Биты также могут обозначаться произвольными именами директивой Ассемблера REG (для ассемблера фирмы “2500 A.D.”).

Например, 5-й бит регистра PSW может быть сброшен (очищен) любой из четырех команд

USER_FLAG REG PSW.5 ; Описание символа пользователя

………………..

………………..

CLR 0D5H ; Абсолютная адресация

CLR PSW.5 ; Использование точечного оператора

CLR F0 ; Использование собственного имени бита

CLR USER_FLAG ; Использование символа пользователя

Установить в единицу 3-бит ячейки ПД с адресом 20H можно любой из трех следующих команд

FLAG1: REG 20H.3 ; Описание флага пользователя

……………….

SETB 03H ; Абсолютная адресация

SETB 20H.3 ; Использование точечного оператора

SETB FLAG1 ; Использование имени флага пользователя

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]