Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[1]

•P2 - восьми битный квази двунаправленный порт, аналогичный Р1; кроме того, выводы этого порта используются для выдачи адресной информации при обращении к внешней памяти программ или данных (если используется 16-битовая адресация последней). Выводы порта используются при программировании 8751 для ввода в микроконтроллер старших разрядов адреса:

•РЗ - восьми битный квази двунаправленный порт, аналогичный. Р1; кроме того, выводы этого порта могут выполнять ряд альтернативных функций, которые используются при работе таймеров, порта последовательного ввода-вывода, контроллера прерываний, и внешней памяти программ и данных;

•P0 - восьми битный двунаправленный порт ввода-вывода информации: при работе с внешними ОЗУ и ПЗУ по линиям порта в режиме временного мультиплексирования выдается адрес внешней памяти, после чего осуществляется передача или прием данных.


3.Организация ОЗУ, ПЗУ и регистров микроконтроллера 8051.

3.1.1.Память программ (ПЗУ).

Как и у большинства микроконтроллеров, у микроконтроллеров семейства 8051, память программ и память данных являются самостоятельными и независимыми друг от друга устройствами, адресуемыми различными командами и управляющими сигналами.

Объем встроенной памяти программ, расположенной на кристалле микроконтроллера 8051 и 8751, равен 4 Кбайт. При обращении к внешней памяти программ все микроконтроллеры семейства 8051 всегда используют 16-разрадный адрес, что обеспечивает им доступ к 64 Кбайт ПЗУ. Микроконтроллер обращается к программной памяти при чтении кода операции и операндов (используя счетчик команд PC), а также при выполнении команд переноса байта из памяти программ в аккумулятор. При выполнении команд переноса данных адресация ячейки памяти программ, из которой будут прочитаны данные, может осуществляться с использованием как счетчика PC, так и специального двухбайтового регистра-указателя данных DPTR.

3.1.2.Память данных (ОЗУ).

Объем расположенной на кристалле памяти данных-128 байт. Объем внешней памяти данных может достигать 64 Кбайт. Первые 32 байта организованы в четыре банка регистров общего назначения, обозначаемых соответственно банк 0 - банк 3. Каждый из них состоит из восьми регистров R0 - R7. В любой момент программе доступен только один банк регистров, номер которого содержится в третьем и четвертом битах слова состояния программы PSW (см. ниже).

Оставшееся адресное пространство может конфигурироваться разработчиком по своему усмотрению: в нем располагаются стек, системные и пользовательские области данных. Обращение к ячейкам памяти данных возможно двумя способами. Первый способ - прямая адресация ячейки памяти. В этом случае адрес ячейки является операндом соответствующей команды. Второй способ - косвенная адресация с помощью регистров R0 или R1: перед выполнением соответствующей команды в один из них должен быть занесен адрес ячейки, к которой необходимо обратиться.

Для обращения к внешней памяти данных используется только косвенная адресация с помощью регистров R0 и R1 или с помощью 16-разрядного регистра-указателя DPTR. Он относится к группе регистров специальных функций, и с его помощью можно адресовать все 64 Кбайта внешней памяти.

Часть памяти данных представляет собой так называемую битовую область, в ней имеется возможность при помощи специальных битовых команд адресовываться к каждому разряду ячеек памяти. Адрес прямо адресуемых битов может быть записан либо в виде (Адрес Байта ).(Разряд), например выражение 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

Таблица.1. Адреса битовых областей памяти микроконтроллера 8051

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


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

Адрес байта

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

Имя регистра

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

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

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

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

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

Адрес

Символ

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

0E0H

*АСС

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

0F0H

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

0D0H

*PSW

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

080Н

*P0

Порт 0 (SFR P0)

090H

*Р1

Порт 1 (SFR P1)

0A0H

*P2

Порт 2 (SFR P2)

0B0H

*P3

Порт 3 (SFR РЗ)

081H

SP

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

083H

DPH

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

082H

DPL

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

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

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

098H

*SCON

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

099H

SBUF

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

Таблица.3. Размещение регистров специальных функций в пространстве SFR



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23]