- •Лабораторная работа n 2
- •Общие сведения
- •2.1 Структура подсистемы памяти омк p89lpc932.
- •2.2 Система команд омк p89lpc932.
- •Арифметические команды.
- •Логические команды.
- •Команды программных переходов.
- •Режимы адресации.
- •Булевый процессор.
- •Предварительная подготовка к работе
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
Лабораторная работа 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 байт).