Встроенные системы - Регистры SFR

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

В 8051 регистры A, B, DPTR и PSW являются частью группы регистров, обычно называемых SFR (регистры специальных функций). Доступ к SFR можно получить по его имени или по адресу.

В следующей таблице показан список SFR и их адресов.

Байт-адрес Битовый адрес
FF
F0 F7 F6 F5 F4 F3 F2 F1 F0 B
E0 E7 E6 E5 E4 E3 E2 E1 E0 АКК
D0 D7 D6 D5 D4 D3 D2 - D0 PSW
B8 - - - до н.э BB BA B9 B8 IP
B0 B7 B6 B5 B4 B3 Би 2 B1 B0 P3
A2 AF - - AC AB AA A9 A8 IE
A0 A7 A6 A5 A4 A3 A2 A1 A0 P2
99 Без битовой адресации СБУФ
98 9F 9E 9D 9C 9B 99 98 SCON
90 97 96 95 94 93 92 91 90 P1
8D Без битовой адресации TH1
8C Без битовой адресации TH0
8B Без битовой адресации TL1
8A Без битовой адресации TL0
89 Без битовой адресации TMOD
88 8F 8E 8D 8C 8B 8A 89 88 TCON
87 Без битовой адресации PCON
83 Без битовой адресации DPH
82 Без битовой адресации DPL
81 год Без битовой адресации SP
80 87 87 85 84 83 82 81 год 80 P0

Обратите внимание на следующие два момента, касающиеся адресов SFR.

  • Специальный функциональный регистр может иметь адрес от 80H до FFH. Эти адреса выше 80H, поскольку адреса от 00 до 7FH являются адресами оперативной памяти внутри 8051.

  • Не все адресное пространство от 80 до FF используется SFR. Неиспользуемые ячейки, от 80H до FFH, зарезервированы и не должны использоваться программистом 8051.

CY PSW.7 Перенести флаг
AC PSW.6 Вспомогательный флаг переноски
F0 PSW.5 Флаг 0 доступен пользователю для общих целей.
RS1 PSW.4 Регистр бита выбора банка 1
RS0 PSW.3 Регистр бита выбора банка 0
OV PSW.2 Флаг переполнения
- PSW.1 Определяемый пользователем ФЛАГ
п PSW.0 ФЛАГ паритета. Устанавливается / сбрасывается аппаратно во время цикла команд, чтобы указать четное / нечетное число 1 бита в аккумуляторе.

В следующем примере имена регистров SFR заменяются их адресами.

CY AC F0 RS1 RS0 OV - п

Мы можем выбрать соответствующий бит банка регистров, используя биты RS0 и RS1.

RS1 RS2 Зарегистрировать банк Адрес
0 0 0 00H-07H
0 1 1 08H-0FH
1 0 2 10ч-17ч
1 1 3 18H-1FH

Слово состояния программы (PSW) содержит биты состояния, отражающие текущее состояние ЦП. Варианты 8051 предоставляют один специальный функциональный регистр PSW с этой информацией о состоянии. 8251 предоставляет два дополнительных флага состояния, Z и N, которые доступны во втором специальном функциональном регистре PSW1.