ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.06.2025

Просмотров: 773

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Часть памяти данных представляет собой так называемую битовую область, в ней имеется возможность при помощи специальных битовых команд адресовываться к каждому разряду ячеек памяти. Адрес прямо адресуемых битов может быть записан либо в виде (Адрес Байта ).(Разряд), например выражение 21.3 означает третий разряд ячейки памяти с адресом 21H, либо в виде абсолютного битового адреса. Соответствие этих двух способов адресации можно определить по таблице.

Адрес  байта

Адреса битов по разрядам

 Adr 

 D7 

 D6 

 D5 

 D4 

 D3 

 D2 

 D1 

 D0 

2FH

7F

7E

7D

7C

7B

7A

79

78

2EH

77

76

75

74

73

72

71

70

2DH

6F

6E

6D

6C

6B

6A

69

68

2CH

67

66

65

64

63

62

61

60

2BH

5F

5E

5D

5C

5B

5A

59

58

2AH

57

56

55

54

53

52

51

50

29H

4F

4E

4D

4C

4B

4A

49

48

28H

47

46

45

44

43

42

41

40

27H

3F

3E

3D

3C

3B

3A

39

38

26H

37

36

35

34

33

32

31

30

25H

2F

2E

2D

2C

2B

2A

29

28

24H

27

26

25

24

23

22

21

20

23H

1F

1E

1D

1C

1B

1A

19

18

22H

17

16

15

14

13

12

11

10

21H

0F

0E

0D

0C

0B

0A

09

08

20H

07

06

05

04

03

02

01

00


ПРИМЕЧАНИЕ.Адрес прямо адресуемых битов может быть записан либо в виде выражения (Адрес Байта ).(Разряд), например выражение 21.3 означает адрес третьего разряда ячейки памяти с адресом 21H, либо в виде абсолютного битового адреса, который для данного бита равен (см. таблицу) 0B.

Регистры специальных функций.

Адрес  байта

Адреса битов по разрядам

Имя  регистра

 Adr 

 D7 

 D6 

 D5 

 D4 

 D3 

 D2 

 D1 

 D0 

 Name 

F0H

F7

F6

F5

F4

F3

F2

F1

F0

B

...

. . .

...

E0H

E7

E6

E5

E4

E3

E2

E1

E0

ACC

...

. . .

...

D0H

D7

D6

D5

D4

D3

D2

D1

D0

PSW

...

. . .

...

B8H

-

-

-

BC

BB

BA

B9

B8

IP

...

. . .

...

B0

B7

B6

B5

B4

B3

B2

B1

B0

P3

...

. . .

...

A8H

AF

-

-

AC

AB

AA

A9

A8

IE

...

. . .

...

A0H

A7

A6

A5

A4

A3

A2

A1

A0

P2

...

. . .

...

98H

9F

9E

9D

9C

9B

9A

99

98

SCON

...

. . .

...

90H

97

96

95

94

93

92

91

90

P1

...

. . .

...

88H

8F

8E

8D

8C

8B

8A

89

88

TCON

...

. . .

...

80H

87

86

85

84

83

82

81

80

P0


ПРИМЕЧАНИЕ.Адрес прямо адресуемых битов может быть записан либо в виде выражения (Название Регистра ).(Разряд), например выражение SCON.3 означает адрес третьего разряда регистра SCON, либо в виде абсолютного битового адреса, который для данного бита равен (см. таблицу) 9B. Кроме того, некоторые биты управляющих регистров имеют собственные названия, так например данный бит имеет название TB8

К адресному пространству памяти данных примыкает адресное пространство регистров специальных функций SFR (SpecialFunctionRegister).

Адрес

Символ

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

0E0H

*АСС

Аккумулятор (Accumulator)

0F0H

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

0D0H

*PSW

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

080Н

*P0

Порт 0 (SFR P0)

090H

*Р1

Порт 1 (SFR P1)

0A0H

*P2

Порт 2 (SFR P2)

0B0H

*P3

Порт 3 (SFR РЗ)

081H

SP

Регистр указатель стека (StackPointer)

083H

DPH

Старший байт регистра указателя данных DPTR (DataPointerHigh)

082H

DPL

Младший байт регистра указателя данных DPTR (DataPointerLow)

08CH

TH0

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

08AH

TL0

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

08DH

TH1

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

08BH

TL1

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

089H

TMOD

Регистр режимов таймеров счетчиков (Timer/Counter Mode Control Register)

088H

*TCON

Регистр управления статуса таймеров (Timer/Counter Control Register)

0B8H

*IP

Регистр приоритетов (Interrupt Priority Control Register)

0A8H

*IE

Регистр маски прерывания (Interrupt Enable Register)

087H

PCON

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

098H

*SCON

Регистр управления приемопередатчиком (Serial Port Control Register)

099H

SBUF

Буфер приемопередатчика (Serial Data Buffer)


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

Адреса, по которым расположены эти регистры, приведены в таблице.

Отметим, что регистры занимают только часть 128-байтового адресного пространства. Те ячейки памяти с адресами 80H-0FFH, которые не заняты регистрами, физически отсутствуют, на кристаллах микроконтроллеров семейства 8051 при обращении к ним можно прочитать лишь код команды возврата.

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

  • Регистры-защелки SFR параллельных портов P0...P3 - служат для ввода-вывода информации.

  • Две регистровые пары с именами TH0, TL0 и TH1, TL1 представляют собой регистры двух программно-управляемых 16-битных таймеров-счетчиков.

  • Режимы таймеров-счетчиков задаются с использованием регистра TMOD, а управление ими осуществляется с помощью регистра TCON.

  • Для управления режимами энергопотребления микро-ЭВМ используется регистр PCON.

  • Регистры IP и IE управляют работой системы прерываний микро-ЭВМ,

  • Регистры SBUF и SCON управляют работой приемопередатчика последовательного порта.

  • Регистр-указатель стека SP в микро-ЭВМ рассматриваемого семейства — восьмибитный. Он может адресовать любую область внутренней памяти данных. В отличие от микропроцессора КР580ВМ80, у микро-ЭВМ семейства 8051 стек «растет вверх», т.е. перед выполнением команды PUSH или CALL содержимое SP инкрементируется, после чего производится запись информации в стек. Соответственно при извлечении информации из стека регистр SP декрементируется после извлечения информации. В процессе инициализации микро-ЭВМ после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н.

  • Регистр-указатель данных DPTR чаще всего используют для фиксации 16-битного адреса в операциях обращения к внешней памяти программ и данных. С точки зрения программиста он может выступать как в виде одного 16-битного регистра, так и в виде двух независимых регистров DPL и DPH

  • Аккумулятор (АСС) является источником операнда и местом фиксации результата при выполнении арифметических, логических операций и ряда операций передачи данных. Кроме того, только с использованием аккумулятора могут быть выполнены операции сдвигов, проверка на нуль, формирование флага паритета и т.п. В распоряжении пользователя имеются 8 регистров общего назначения R0–R7 одного из четырёх возможных банков. При выполнении многих команд в АЛУ формируется ряд признаков операции (флагов), которые фиксируются в регистре PSW.

  • Регистр В используется как источник и как приемник при операциях умножения и деления, обращение к нему, как к регистру SFR, производится аналогично аккумулятору.

  • При выполнении ряда команд в арифметико-логическом устройстве (АЛУ) формируются признаки операций — флаги, которые фиксируются в регистре PSW.


Регистр флагов (PSW).

Символ

Позиция

Имя и назначение

P

PSW.0

Флаг приоритета. Устанавливается и сбрасывается аппаратурно в каждом цикле команды и фиксирует нечетное/четное число единичных бит в аккумуляторе

-

PSW.1

Не используется

OV

PSW.2

Флаг переполнения. Устанавливается и сбрасывается аппаратурно при выполнении арифметических операций

RS0 - RS1

PSW.3 - PSW.4

Биты выбора используемого банка регистров. Могут быть изменены программным путем

RS0

RS1

Банк

Границы адресов ОЗУ

0

0

0

00H - 07H

1

0

1

08H - 0FH

0

1

2

10H - 17H

1

1

3

18H - 1FH

F0

PSW.5

Флаг пользователя. Может быть установлен, сброшен или проверен программой пользователя

АС

PSW.6

Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или заеме в бите 3 аккумулятора

C

PSW.7

Флаг переноса. Устанавливается и сбрасывается как аппаратурно, так и программным путем

Наиболее “активным” флагом PSW является флаг переноса С, который принимает участие и модифицируется в процессе выполнения множества операций, включая сложение, вычитание и сдвиги. Кроме того, флаг переноса (C) выполняет функции “булева аккумулятора” в командах, манипулирующих с битами.Флаг переполнения(OV) фиксирует арифметическое переполнение при операциях над целыми числами со знаком и делает возможным использование арифметики в дополнительных кодах. ALU не управляет флагами селекции банка регистров (RS0, RS1), их значение полностью определяется прикладной программой и используется для выбора одного из четырёх регистровых банков.