Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 2 / Лабораторная работа N 2.doc
Скачиваний:
22
Добавлен:
01.05.2014
Размер:
619.01 Кб
Скачать

Лабораторная работа n 2

ПОДСИСТЕМА ПАМЯТИ ОМК P89LPC932.

СИСТЕМА КОМАНД ОМК P89LPC932.

Цель работы: 1.Изучение структуры подсистемы памяти ОМК P89LPC932.

2.Ознакомление с системой команд ОМК P89LPC932.

3.Изучение команд пересылки и арифметических команд

ОМК P89LPC932.

Общие сведения

2.1 Структура подсистемы памяти омк p89lpc932.

Память ОМКP89LPC932организована на основе Гарвардской архитектуры - с разделенными областями памяти программ (Code memory) и памяти данных (Data memory). Структура подсистемы памяти представлена на рис. 2.1.

Рис. 2.1.

ОМК P89LPC932имеет три основных области памяти:

- память программ (Code memory);

- резидентная память данных (Data memory);

- добавочная (Auxiliary – AUX RAM) или “внешняя” (“External” Data) память данных (XDATA);

Память программ (Code memory) предназначена для хранения исполняемого кода (программы). Доступ к этой памяти осуществляется посредством использования регистров DPTR и A и команды ассемблера MOVC. Объем программной памяти ОМКP89LPC932“на кристалле”-8 Кбайт (0000h – 1FFFh). Младшие адреса отводятся под таблицу векторов прерываний.

Память программ организована на основе FLASH, т.е. на микросхемах энергонезависимой памяти. Вся область программной памяти разделена на 8 секторов по 1 Кбайт, каждый из которых, в свою очередь,подразделяется на страницы по 64 байта. Всего имеется 128 страниц.

Для каждого сектора существует индивидуальное обеспечение секретности исполняемого кода.

Последний сектор программной памяти содержит специальную область ISP (In-System Programming Code), расположенную по адресам 1E00h-1FFFh. В этой области находится программа, которая поддерживает программирование области CODE через последовательный порт в составе “системы”.

Резидентная память данных разделена на три области: DATA, IDATA, SFR.

Область DATA имеет объем 128 байт и расположена по адресам 00h – 7Fh. Для доступа к этой области памяти используется прямая или косвенная адресация. В этой области может располагаться весь стек или часть его. При работе с этой областью могут быть использованы команды языка ассемблера, отличные от MOVX и MOVC.

Первые 32 ячейки этой области памяти занимают четыре банка рабочих регистров (РОНы – регистры общего назначения). Каждый банк состоит из восьми регистров (R0-R7). Команды программы могут обращаться к этой области памяти как к регистрам, используя их имена R0-R7 или как к ячейкам памяти, используя прямую или косвенную адресацию. В текущий момент времени может быть задействован только один банк. Выбор нужного банка производится установкой двух соответствующих битов в регистре состояния программы PSW. Формат слова состояния программы (PSW) приведен в таблице 2.1.

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

Область IDATA имеет объем 128 байт и расположена по адресам 80h – FFh (непосредственно за областью DATA). Для доступа к этой области памяти используется только косвенная адресация. В этой области может располагаться весь стек или часть его. При работе с этой областью могут быть использованы команды языка ассемблера, отличные от MOVX и MOVC.

Таблица 2.1

Бит

Позиция

Название и назначение

CY

AC

F0

RS1

RS0

OV

UD

P

PSW.7

PSW.6

PSW.5

PSW.4

PSW.3

PSW.2

PSW.1

PSW.0

Флаг пеpеноса. Устанавливается/сбpасывается аппаpатно или пpогpаммно пpи выполнении аpифметических и логических команд.

Флаг пpомежуточного пеpеноса. Устанавливается /сбpасывается аппаpатно пpи выполнении опеpаций сложения или вычитания для индикации наличия пеpеноса/заема из бита 3.

Флаг 0. Устанавливается/сбpасывается пpогpаммно, специфицируется пользователем.

Выбоp банка pегистpов. Устанавливается/сбpасы-вается пpогpаммно для выбоpа pабочего банка pегистpов в соответствии с таблицей:

RS1 RS0 N банка Адреса

0 0 0 00h–07h

0 1 1 08h-0Fh

1 0 2 10h-17h

1 1 3 18h-1Fh

Флаг пеpеполнения. Устанавливается/сбpасывается аппаpатно пpи выполнении некотоpых аpифметичес-ких опеpаций.

Флаг 1. Устанавливается/сбpасывается пpогpаммно, специфицируется пользователем.

Флаг паpитета. Устанавливается/сбpасывается ап-паpатно в каждом цикле команды и фиксирует не-четное/четное число единиц в аккумулятоpе.

SFR (Special Function Registers) – область регистров специальных функций. Она содержит регистры микропроцессорного ядра, регистры управления периферией, а также статусные регистры.

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

Доступ к SFR возможен только посредством прямой адресации. Некоторые регистры допускают как побайтовую, так и побитовую адресацию. В таблице 2.2 приведен перечень регистров специальных функций, их адреса (байтовые и битовые), а также начальные значения, которые устанавливаются в регистрах после общего сброса микроконтроллера (Reset).

Добавочная область памяти (AUX RAM) расположена на кристалле ОМК и имеет объем 512 байт. Она предназначена для временного хранения данных и имеет адреса 0000h – 01FFh. Доступ к этой области памяти осуществляется специальной командой MOVX, которая не влияет на содержимое резидентной памяти данных, поэтому одинаковые адреса не приводят к конфликтной ситуации. Адресация возможна только косвенная: по регистрам R0,R1 активного банка регистров резидентной памяти (команды типа “MOVX @Rn”) или по регистру DPTR (команды типа “MOVX @DPTR”). В первом случае будет формироваться 8-разрядный, а во втором случае 16-разрядный адрес памяти данных.

Таблица 2.2

Продолжение таблицы 2.2

Продолжение таблицы 2.2

Продолжение таблицы 2.2

Замечания:

* – регистр имеет битовую адресацию.

- – бит зарезервирован. Может быть записан 0.

§ – В регистры BRGR1 и BRGR0 можно тоько записывать, если BRGEN в регистре BRGCON в ’0’. Во всех других случаях (BRGEN = 1), результат непредсказуем.

На кристалле ОМК имеется перепрограммируемая память EEPROM объемом 512 байт, которая может быть использована для сохранения конфигурационных параметров. Доступ к этой области осуществляется только через SFR. Возможны операции чтения, записи и стирания байта. Также допускается работа со страницами (64 байта) и блоками (512 байт).

Соседние файлы в папке Лабораторная работа 2