Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач Кириенко(Серому) / zapiska_MPSDorabotannay.doc
Скачиваний:
10
Добавлен:
29.02.2016
Размер:
1.45 Mб
Скачать

2.2 Организация памяти микропроцессорной системы Распределение памяти контроллера приведено на рисунке 5.

Рисунок 5 - Распределение памяти микроконтроллера

МК семейства MCS51 имеют внешний выводEA#, с помощью которого можно запретить работу внутренней памяти программ, для чего необходимо подать на выводEA# “0”. При этом внутренняя память программ отключается и, начиная снулевого адреса, все обращения происходят к внешней памяти программ с формированием сигнала PSEN#. В случае, если EA#=1, работают и внутренняя и внешняя память программ. Для МК, не имеющих внутренней памяти программ, для нормальной работы всегда необходимо задаватьEA#=0.

Таким образом, доступ к внешней памяти программ осуществляется в двух случаях:

  • при действии сигнала EA#=0 независимо от адреса обращения,

  • в любом случае, если программный счетчик (PC) содержит число, большее, чем 0FFFh.

Если центральный процессор осуществляет доступ к внешней памяти программ, сигнал PSEN# вырабатывается дважды во время каждого машинного цикла, (исключение составляет команда MOVC), независимо от того, необходим или нет выбираемый байт для текущей команды. При выборке из внешней памяти программ всегда используется 16-разрядный адрес, младший байт которого выдается через порт Р0, а старший байт - через порт Р2 МК. Байт из внешней памяти программ вводится в МК через порт Р0, который в этом случае используется как шина адреса/данных в режиме мультиплексирования.

Память данных состоит из внешней памяти данных и внутренней памяти данных. Каждая из них имеет свое пространство адресов, так как доступ к ним осуществляется с помощью разных команд.

Внешняя память данных: для работы с внешней памятью данных существуют специальные команды MOVX, которые не влияют на внутреннюю память данных МК. Таким образом, в системе могут одновременно присутствовать внутренняя память данных с адресами 00h-0FFh и внешняя память данных с адресами 0000h-0FFFFh. Обращение к ячейкам внешней памяти данных осуществляется только с использованием косвенной адресации по регистрам R0 и R1 активного банка регистров внутреннего ОЗУ (команды типа MOVX @Ri) или по регистру специальных функций DPTR (команды типа MOVX @DPTR). Соответственно в первом случае будет формироваться 8-разрядный, а во втором случае 16-разрядный адреса внешней памяти данных.

При обращениях к внешней памяти данных адрес выводится через порт Р0 (младший байт) и порт Р2 (старший байт) МК. Обмен байтом данных (запись и чтение) производится через порт Р0 МК, т. е. порт Р0 используется как шина адреса/данных в режиме мультиплексирования.

Считывание данных из внешней памяти данных в МК производится с помощью выходного сигнала МК RD#, а запись данных из МК во внешнюю память данных с помощью выходного сигнала МК WR#.

Внутренняя память данных: в архитектуре MCS-51 пространство адресов внутренней памяти данных объединяет все внутренние программно доступные ресурсы. Это пространство размером 256 байт в свою очередь делится на:

  • пространство адресов внутреннего ОЗУ с адресами 00h-7Fh (размером 128 байт);

  • пространство адресов регистров специальных функций, занимающее адреса 80h-0FFh.

Физически внутреннее ОЗУ данных и область регистров специальных функций являются отдельными устройствами.

Все ячейки внутреннего ОЗУ данных могут адресоваться с использованием прямой и косвенной адресации.

Область внутреннего ОЗУ. В этой области памяти выделяются два особых фрагмента:

  • младшие 32 адреса занимают четыре регистровых банка (Банк0-БанкЗ на рис.6), каждый из которых содержит по восемь регистров общего назначе­ния R0-R7. Текущий банк определяется значением разрядовRS0,RS1 регистраPSW. Команды программы могут обращаться к регистрам, используя их имена R0-R7. Таким образом, младшие 32 ячейки этой части ОЗУ, кроме адресов, имеют имена. Наличие такого механизма работы с ячейками ОЗУ позволяет эконо­мить память программ, т. к. команды, работающие с регистрами R0-R7, ко­роче команд, использующих прямую адресацию;

  • следующие после банков регистров внутреннего ОЗУ данных 16 ячеек (адреса 20h-2Fh) образуют область ячеек, к которым возможна поразрядная адресация. Набор команд МК семейства MCS-51 содержит значительное количество инструкций (команд), по­зволяющих работать с отдельными разрядами (битами), используя при этом прямую адресацию. 128 разрядов (бит), составляющих рассматриваемую область внутрен­него ОЗУ данных, имеют адреса 00h-7Fh и предназначены для работы с такими инструкциями. Разрядная (битовая) адресация ОЗУ показана на рис. 6, где в квадратах, символизирующих разряды (биты), указаны их адреса.

Рисунок 6 - Карта адресуемых битов в резидентной памяти данных

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

На рисунке 7 изображена область регистров специальных функций. В нее включены все программно доступные регистры (управления и данных):регистры-фиксаторы портов, регистры таймеров/счетчиков, регистры управления и т.п.Эти регистры допускают только прямую адресацию.

Рисунок 7 - Регистры специальных функций

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

Видно, что все регистры имеют как символические имена, так и адреса в качестве ячеек внутренней памяти. Часть регистров содержит прямо адресуемые разряды. Адреса разрядов находятся в диапазоне 80Н - 0F7H.

Таблица 4 - Блок регистров специальных функций

Регистры со знаком (*) допускают адресацию отдельных битов.

Соседние файлы в папке Курсач Кириенко(Серому)