logo search
КС-ZAO / Лекции ЦЭВМруский вариант11

§7.2Специальные функциональные регистры

СФР (специальный функциональный регистр) – это область внутренней память микросхемы. Ее карта показана на рис.7.2. СФР заключенные в скобки отсутствуют в микросхемах 8051.

Порт 0

P0.0-P0.7 P2.0-P2.7

Порт 2

ОЗУ

ПЗУ

Регистр

Р0

Регистр

Р2

В

ACC

Указатель

стека

(stack pointer)

АЛУ

Регистр адреса программы

TMP1

TMP2

Буфер

PCON SCON TMOD TCON

T2CON TH0 TL0 TH1

TL1 TH2 TL2 RCAP2H

RCAP2L SBUF IE IP

Счетчик команд

РС

PSW

Программный счетчик

DPTR

Timing

and

Control

PSEN

ALE

EA

Регистр

Р1

Порт 1

RST

Регистр

Р3

OSC

Порт 3

Р1.0-Р1.7 Р3.0-Р3.7

Рисунок 7.1. Архитектура MSC-51

8 байт

F8

FF

F0

B

F7

E8

EF

E0

ACC

E7

D8

DF

D0

PSW

D7

C8

(T2CON)

(RCAP2L)

(RCAP2H)

(TL2)

(TH2)

CF

C0

C7

B8

IP

BF

B0

P3

B7

A8

IE

AF

A0

P2

A7

98

SCON

SBUF

9F

90

P1

97

88

TCON

TMOD

TL0

TL1

TH0

TH1

8F

80

P0

SP

DPL

DPH

PCON

87

Рисунок 7.2. Карта СФР

Обратите внимание на то, что не все адреса используются. Неиспользуемые адреса не встроены в микросхему. Попытка чтения по этим адресам, в общем случае, вернет случайные данные, а попытки записи ни к чему не приведут.

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

Основные СФР перечислены ниже.

АККУМУЛЯТОР

ACC – регистр аккумулятора. В мнемонических инструкциях обозначается как А.

РЕГИСТР В

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

СЛОВО СОСТОЯНИЯ ПРОГРАММЫ

PSW (Program Status Word) – слово состояния программы – содержит информацию о ходе выполнения программы (см. рис. 3).

УКАЗАТЕЛЬ СТЕКА

Регистр SP (Stack Pointer – указатель стека) – 8-ми разрядный регистр, содержащий указатель на вершину стека. Его значение увеличивается перед добавлением данных в стек (во время выполнения командPUSH иCALL). Тогда как сам стек может находится в произвольной области внутренней памяти, указатель стека при сбросе инициализируется значением 07Н, т.е. стек начинается с адреса 08Н.

УКАЗАТЕЛЬ ДАННЫХ

Указатель данных (DPTR) состоит из старшего (DPH) и младшего байта (DPL). Его функция – содержать 16-ти разрядный адрес. Им можно пользоваться как одним 16-ти разрядным регистром, или как 2-мя 8-ми разрядными.

ПОРТЫ (С 0 по 3)

P0, P1, P2 иP3 – СФР-защелки портов 0, 1, 2 и 3 соответственно.

ПОСЛЕДОВАТЕЛЬНЫЙ БУФЕР ДАННЫХ

Последовательный буфер данных состоит из двух раздельных регистров – регистра буфера передачи и регистра буфера приема. Когда данные попадают в SBUF, они перемещаются в буфер передачи, где ее и ожидают (посылка байта вSBUF инициирует передачу). Соответственно,при приеме информации,данные из буфера приема попадают вSBUF.

РЕГИСТРЫ ТАЙМЕРА

Регистровые пары (TH0, TL0), (TH1, TL1) и(TH2, TL2) являются 16-ти разрядными регистрами-счетчиками для таймера/счетчика 0, 1 и 2 соответственно.

Р

CY

AC

F0

RS1

RS0

OV

-

P

Символ

Позиция

Значение

CY

AC

F0

RS1

RS0

OV

-

P

PSW.7

PSW.6

PSW.5

PSW.4

PSW.3

PSW.2

PSW.1

PSW.0

Флаг переноса.

Вспомагательный флаг переноса. (для двоично-десятичных операций).

Флаг 0. (доступен пользователю для общих целей).

Банк регистра, выбирается управляющими битами 1&0.Устанавливается/снимается программно для определения банка регистра (см. замечание).

Флаг переполнения.

Определяемый пользователем флаг.

Флаг четности. Устанавливается/снимается аппаратно.

Замечание:

Содержимое RS1, RS0позволяет определять следующие банки регистра:

0.0 – банк 0 (00Н-07Н)

0.1 – банк 1 (08Н-0FH)

1.0– банк 2 (10Н-17Н)

1.1 – банк 3 (18H-1FH)

ЕГИСТРЫ ЗАХВАТА

Регистровая пара (RCAP2H, RCAP2L) используется для “режима захвата” таймера 2. В этом режиме, при подаче сигнала на вход T2EX микросхемы 8052, содержимое регистров таймераTH2 иTL2 копируется в регистрыRCAP2H иRCAP2L соответственно. Таймер 2 также имеет 16-ти разрядный режим авто-загрузки. В этом случае в регистрахRCAP2H иRCAP2L хранится атозагружаемое значение таймера. Более подробно об особенностях таймера 2 будет рассказано ниже.

РЕГИСТРЫ УПРАВЛЕНИЯ

СФР IP, IE, TMOD, TCON, T2CON, SCON иPCON содержат управляющую информацию для системы прерываний, таймера/счетчика и последовательного порта. Они будут описаны в следующих разделах.

Рисунок 7.3. Регистр PSW.

Рисунок 7.4. Регистры портов и буферы ввода-вывода 8051