Встроенные системы - Регистры 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 | 9А | 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.