Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект лекций.doc
Скачиваний:
79
Добавлен:
21.05.2017
Размер:
3.74 Mб
Скачать

1.1.3. Организация памяти программ

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

Рис. 1.5. Адресное пространство памяти программ

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

Современные микроконтроллеры содержат на своем кристалле электрически стираемую резидентную память программ (EEPROM), емкость которой составляет 4 Кбайт. При этом емкость внешней памяти может достигать 60 Кбайт. Выбор памяти программ (резидентной или внешней) осуществляется с помощью входа EA. При подаче на этот вход логической 1 (EA=1) разрешена работа с обоими типами памяти. Если же на вход DEMA подан низкий уровень напряжения (EA=0), то разрешена работа только с внешней памятью программ. Для разрешения считывания байта из внешней памяти программ и ввода его в МК51 используется сигнал на выходе, который формируется дважды в течение каждого машинного цикла.

1.1.4. Резидентная память данных

Резидентная память данных состоит из двух областей: 128 байт оперативной памяти (ОЗУ) с адресами 00-7FH и области регистров специальных функций, занимающих адреса с 80Н по 0FFH. Распределение адресного пространства RDMпоказано на рис. 1.6. Младшие 32 байта ОЗУ данных сгруппированы в 4 банка (Банк 0...Банк 3). Команды программы могут обращаться к регистрам, используя их символические имена R0...R7. При этом в регистреPSW должны быть установлены биты RS0 и RS1, определяющие, к какому банку данных производится обращение. Такой механизм адресации позволяет экономить память программ.

Следующие 16 байт ОЗУ допускают обращение к ним как в побайтном режиме, так и в побитном. Эта область ОЗУ используется МК51 при выполнении операций над битами. Каждый бит имеет свой адрес.

Обращение к RDMвсегда осуществляется с использованием 8-разрядного адреса. При включении питания содержимое ОЗУ будет иметь случайный характер.

Регистры специальных функций также имеют свои адреса, приведенные в табл. 1.3, а некоторые из них допускают побитовую адресацию.

Регистры

специальных

функций

FFH

80H

Остальные регистры ОЗУ

(80 регистров)

7FH

30H

Прямо адресуемые

биты

(16 регистров)

2FH

20H

R7

Банк 3

1FH

R0

18H

R7

Банк 2

17H

R0

10H

R7

Банк 1

0FH

R0

08H

R7

Банк 0

07H

R0

00

Рис. 1.6. Карта адресов RDM

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

Символическое имя

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

Адрес, Н

Побитовая адресация

ACC

Аккумулятор

0E0

+

B

Регистр В – расширенный аккумулятор

0F0

+

PSW

Слово состояния программы

0D0

+

SP

Регистр – указатель стека

81

DPTR

Регистр – указатель данных

(DPH)

83

(DPL)

82

P0

Порт 0

80

+

P1

Порт 1

90

+

P2

Порт 2

0A0

+

P3

Порт 3

0B0

+

IP

Регистр приоритетов

0B8

+

IE

Регистр разрешения инд. прерывания

0A8

+

TMOD

Регистр режима Т/C

89

TCON

Регистр управления T/C

88

+

TH0

T/C0 (старший)

8C

TL0

T/C0 (младший)

8A

TH1

T/C1 (старший)

8D

TL1

T/С1 (младший)

8B

SCON

Регистр управления УАПП

98

+

SBUF

Буфер приемо/передатчика

99

PCON

Регистр управления потреблением

87