Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_08Л_Разработка устройств с МП.doc
Скачиваний:
44
Добавлен:
21.03.2015
Размер:
451.07 Кб
Скачать

2.3. Режимы адресации

Для взаимодействия с различными модулями в ЭВМ должны быть средства идентификации ячеек внешней памяти, ячеек внутренней памяти, регистров МП и регистров устройств ввода/вывода. Поэтому каждой из запоминающих ячеек присваивается адрес, т.е. однозначная комбинация бит. Количество бит определяет число идентифицируемых ячеек. Обычно ЭВМ имеет различные адресные пространства памяти и регистров МП, а иногда - отдельные адресные пространства регистров устройств ввода/вывода и внутренней памяти. Кроме того, память хранит как данные, так и команды. Поэтому для ЭВМ разработано множество способов обращения к памяти, называемых режимами адресации.

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

Возможные способы адресации:

1) непосредственная. В этом случае операнд записывается в самой команде;

2) прямая, когда исполнительный адрес берется непосредственно из команды или вычисляется с использованием значения, указанного в команде, и содержимого какого-либо регистра (прямая адресация, регистровая, базовая, индексная и т.д.);

2) косвенная, которая предполагает, что в команде содержится значение косвенного адреса, т.е. адреса ячейки памяти, в которой находится окончательный исполнительный адрес.

В каждой микроЭВМ реализованы только некоторые режимы адресации, использование которых, как правило, определяется архитектурой МП.

С целью уменьшения числа разрядов адреса пространства оперативной памяти и памяти программ разбивается на крупные фрагменты называемые в некоторых микроконтроллерах (например в МК MicrochipиIntel) банками и страницами соответственно. Номер банка или страницы в адресах команд отсутствует, но микроконтроллер пользуется тем банком который перед этим был выбран специальной командой (например BANKSEL и PAGESEL– в ассемблереMPASM).

2.4. Стадии подготовки программного обеспечения для микроконтроллеров

Разработка и подготовка программ для микроконтроллеров имеет свою специфику и отличается от подготовки программ для универсальных вычислительных машин и персональных компьютеров. Это объясняется отсутствием развитых отладочных средств в самом микроконтроллере и хранением его программы в постоянной памяти. Кроме того, микроконтроллер работает по одной программе, которая не меняется, а универсальный процессор предназначен для выполнения неопределенного набора программ с оперативной загрузкой их в память.

Можно использовать следующий порядок работ по подготовке программы для микроконтроллеров:

1. Разработка алгоритма.

2. Написание модулей программы на мнемоническом языке программирования (Ассемблер, Си, Паскаль и т.д.).

3. Ввод исходного текста программы текстовым редактором.

4. Компиляция программы в объектные модули с относительными адресами, т.е. перевод из мнемонического языка в машинный в виде двоичных кодов при этом каждый модуль начинается с нулевого адреса. По итогам компиляции производится предварительная отладка программы в части исправления синтаксических ошибок.

5. Сборка отдельных объектных модулей в единую программу в двоичном коде (HEX-файл) и с абсолютными адресами в памяти.

6. Отладка с помощью моделирующего отладчика в среде проектирования.

7. Макетная отладка с помощью отладочной платы, эмулирующей выбранный процессор или с процессором этого типа.

8. Занесение программы в память программ микроконтроллера (программирование или прошивка) с помощью программатора.

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