памяти не пересекаются, так как доступ к ним осуществляется с помощью разных команд.
Младшие 32 байта РПД сгруппированы в 4 банка по 8 регистров R0-R7 в каждом. Отметим, что Банк0, Банк1, Банк2 и Банк3 занимают соответственно адреса 00H-07H, 08H-0FH, 10H-17H и 18H-1FH. Следующие после банков регистров 16 байт (адреса 20H-2FH) или 128 бит (адреса 00H-7FH) образуют область ячеек, к которым возможно побитовое обращение. Набор команд МК 8051 содержит значительное количество инструкций, позволяющих работать с указанными битами.
Область регистров специальных функций (РСФ) (рис.2) содержит 21 регистр, назначение которых приведено в табл.2.1. Как видно из рис.2 и табл.2.1, 11 РСФ допускают побитовое обращение (биты с адресами 80H-0F7H).
Таблица 2.1
Наименование |
Назначение |
Адрес |
P0* |
Порт 0 |
80H |
SP |
Указатель стека |
81H |
DPL |
Младший байт указателя данных DPTR |
82H |
DPH |
Старший байт указателя данных DPTR |
83H |
PCON |
Регистр управления потреблением |
87H |
TCON* |
Регистр управления таймеров/счетчиков |
88H |
TMOD |
Регистр режимов таймеров/счетчиков |
89H |
TL0 |
Таймер/счетчик 0. Младший байт |
8АH |
TL1 |
Таймер/счетчик 1. Младший байт |
8BH |
TH0 |
Таймер/счетчик 0. Старший байт |
8CH |
TH1 |
Таймер/счетчик 1. Старший байт |
8DH |
P1* |
Порт 1 |
90H |
SCON* |
Регистр управления последовательным портом |
98H |
SBUF |
Буфер последовательного порта |
99H |
P2* |
Порт 2 |
0A0H |
IE* |
Регистр разрешения прерываний |
0A8H |
P3* |
Порт 3 |
0B0H |
IP* |
Регистр приоритетов прерываний |
0B8H |
PSW* |
Регистр состояния программы |
0D0H |
A* |
Аккумулятор |
0E0H |
B* |
Регистр B |
0F0H |
* - регистры, допускающие побитовую адресацию.
Рассмотрим регистры специальных функций более подробно.
Порты P0, P1, P2, P3 являются двунаправленными портами ввода/вывода и предназначены для обеспечения обмена информацией МК с внешними устройствами, образуя 32 линии ввода/вывода.