Организация памяти микроконтроллера

 

Микроконтроллеры семейства Intel 8051 имеют несколько адресных пространств. Функционально и логически они разделены за счет реализации различных алгоритмов адресации и формирования различных сигналов управления. К ним относятся: внешняя память программ (ВПП), резидентная память программ (РПП), внешняя память данных (ВПД), резидентная память данных (РПД).

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

Адресация ячеек памяти программ может осуществляться с использованием программного счетчика PC или регистра-указателя данных DPTR.

Резидентная память программ адресуется с использованием счетчика команд PC. Младшие адреса резидентной памяти программ отведены под обработку внешних прерываний, прерываний от таймеров/счетчиков, последовательного порта и дополнительных устройств.

 

 

Рисунок 3 – Организация памяти программ

 

В случае возникновения какого-либо из указанных прерываний происходит обращение к соответствующей ячейке резидентной памяти программ (например, при возникновении прерывания от таймера Т0 в PC записывается адрес вектора прерываний 000Вh).

При обращении к внешней памяти программ микроконтроллеры семейства Intel 8051 всегда используют полный 16-разрядный адрес, что обеспечивает доступ к 64 Кбайт внешней памяти программ ВПП. Обращение к внешней памяти программ сопровождается сигналом чтения внешней памяти программPSEN(Program Store Enable) и возможно в двух случаях:

1. Когда сигнал ЕАактивен, т.е. имеет уровень логического нуля, микроконтроллер выполняет программу с нулевого адреса внешней памяти программ.

2. Когда программный счетчик РС содержит число больше 0FFFh (последний адрес РППпри объеме 4 Кбайт) – микроконтроллер, выбрав команды из внутренней памяти, продолжает выполнять программу из внешней памяти программ.

Объем внешней памяти данных может достигать 64 Кбайт. Для обращения к внешней памяти данных используется только косвенная адресация с помощью регистров R0 и R1 или с помощью 16-разрядного регистра-указателя DPTR. Обращение к внешней памяти данных сопровождается стробирующими сигналами чтения RD^ и записиWR^.

Если при обращении к внешней памяти данных используется восьмибитный адрес, то на выводах порта Р2остается та же информация, которая там была до начала обращения к внешней памяти. Это позволяет организовать постраничную адресацию внешней памяти данных. Выводимый в цикле записи байт данных заносится в P0 непосредственно перед активацией сигнала WR^ и остается неизменным до окончания этого сигнала. В цикле чтения данные на выводах P0 для достоверного считывания должны установиться к моменту окончания сигнала RD^.

Рисунок 4 – Организация памяти данных

Резидентная память данных РПД предназначена для хранения переменных в процессе выполнения прикладной программы, адресуется одним байтом и имеет емкость 128 байт (адреса с 00H по 7FH). В РПД выделяют несколько специализированных областей (табл. 1).

 

Таблица 1 - Структура резидентной памяти данных

Адреса RDM Абсолютный битовый адрес
D0 D1 D2 D3 D4 D5 D6 D7
30-7FH Неспециализированная область памяти
20-2FH Побитно адресуемая область памяти
2FH 7A 7B 7C 7D 7E 7F
2EH
2DH 6A 6B 6C 6D 6E 6F
2CH
2BH 5A 5B 5C 5D 5E 5F
2AH
29H 4A 4B 4C 4D 4E 4F
28H
27H 3A 3B 3C 3D 3E 3F
26H
25H 2A 2B 2C 2D 2E 2F
24H
23H 1A 1B 1C 1D 1E 1F
22H
21H 0A 0B 0C 0D 0E 0F
20H
18-1FH Банк 3
10-17H Банк 2
08-0FH Банк 1
00-07H Банк 0

Первые 32 байта памяти данных с 00h по 1Fh организованы в четыре банка регистров общего назначения, обозначаемых соответственно Банк 0 - Банк 3. Каждый из них состоит из восьми регистров R0 - R7.

В любой момент программе доступен только один банк регистров, выбор которого производится в регистре слова состояния программы PSW.

Следующие 16 байт памяти данных с 20h по 2Fh представляют собой так называемую побитно адресуемую область. Она предоставляет возможность при помощи специальных команд обратиться к каждому из 128 бит ячеек памяти.

При адресации бит, может быть указан либо абсолютный битовый адрес, либо символический адрес в формате <АдресБайта>. <Разряд>.

Например, выражение 2A.4 означает четвертый бит ячейки памяти с адресом 2Ah, абсолютным битовым адресом которого является 54h.

С адресным пространством резидентной памяти данных граничит адресное пространство блока регистров специальных функций SFR(Special Function Register) c80h по FFh.

Отметим, что не занятые ячейки блока SFR физически отсутствуют. При обращении к ним на кристаллах микроконтроллеров семейства Intel 8051 можно прочитать лишь код команды возврата.








Дата добавления: 2015-05-21; просмотров: 2674;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.