Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Память программ





 

Память программ предназначена для хранения команд, управляющих функционированием микроконтроллера. Память программ также часто используется для хранения таблиц констант, не меняющихся во время работы программы. Как уже было сказано, память программ представляет собой электрически стираемое ППЗУ (FLASH ПЗУ). В связи с тем что длина всех команд кратна одному слову (16 бит), память программ имеет 16 разрядную организацию. Соответственно, объем памяти микроконтроллера составляет 64К (64×1024) 16 разрядных слов. Логически память программ разделена на две неравные части — область прикладной программы и область загрузчика. В последней может располагаться специальная программа (загрузчик), позволяющая микроконтроллеру самостоятельно управлять загрузкой и выгрузкой прикладных программ. Подробно использование этой области и реализация программы_загрузчика будут рассмотрены ниже. Если же возможность самопрограммирования микроконтроллера не используется, прикладная программа может располагаться и в области загрузчика Для адресации памяти программ используется счетчик команд (PC — Program Counter). Размер счетчика команд составляет 16 разрядов, в зависимости от объема адресуемой памяти. По адресу $0000 памяти программ находится вектор сброса. После инициализации (сброса) микроконтроллера выполнение программы начинается с этого адреса (по этому адресу должна размещаться команда перехода к инициализационной части программы).

Начиная с адреса $0002 памяти программ, располагается таблица векторов прерываний. Размер этой области определяется количеством векторов прерывания.

При возникновении прерывания после сохранения в стеке текущего значения счетчика команд происходит выполнение команды, расположенной по адресу соответствующего вектора. Поэтому по этим адресам располагаются команды перехода к подпрограммам обработки прерываний. В качестве этих команд используются команды абсолютного перехода (JMP).

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

Если прерывания в программе не используются либо таблица векторов прерываний располагается в области загрузчика, то основная программа может начинаться непосредственно с адреса $0001.

Как известно, память программ может использоваться не только для хранения кода программы, но также и для хранения различных констант. Для пересылки байта из памяти программ в память данных используется специальная команда— ELPM.

Команда ELPM способна адресовать все 128 Кбайт памяти программ микроконтроллеров ATmega128x. При использовании этой команды адрес слова будет определяться разрядом RAMPZ0 регистра ввода/вывода RAMPZ совместно со старшими 15 разрядами содержимого регистра Z. Младший разряд регистра Z будет определять, какой из байтов слова будет прочитан «0» — младший байт, «1» — старший байт (Рис.1.3).

 

 

Рис.1.3.

Регистр RAMPZ расположен по адресу $3B ($5B) в основном пространстве РВВ микроконтроллеров ATmega128x, а его формат показан на Рис. 1.4

Рис.1.4.







Дата добавления: 2015-12-04; просмотров: 189. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

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

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

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия