Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора Неретина.docx
Скачиваний:
179
Добавлен:
18.03.2015
Размер:
5.13 Mб
Скачать

98) Организация памяти программ и данных мк к1816ве48.

Память программ. Память программ (рис. 3) предназначена для хранения и считывания команд, которые поступают в процессор и управляют процессом обработки информации. Общий объем адресуемой памяти программ семейства ВЕ48 составляет 4 Кбайт, при этом память разделена на две части: резидентная программная память объемом 1024 байт и внешняя программная память, составляющая в сумме с резидентной памятью 4 Кбайт. Если адрес выборки команды выходит за пределы резидентной памяти, то автоматически инициализируется внешняя память.

Рис. 3. Память программ микроконтроллеров семейства ВЕ48

Память программ делится на два банка по 2 Кбайт. Переключение программной памяти с одного банка на другой осуществляется соответствующими командами и непосредственно связано со старшим разрядом программного счетчика.

SEL MB0 ; флажок MB=0

SEL MB1 ; флажок MB=1

Память программ делится не только на два банка емкостью 2 Кбайт, но и на страницы емкостью по 256 байт в каждой. В командах условного перехода задается 8-битный адрес передачи управления в пределах текущей страницы.

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

В памяти программ имеются три ячейки специального назначения:

– адрес 0 – адрес начала программы (ее первой команды), устанавливаемый в счетчике команд по сигналу сброса SR;

– адрес 3 – начальный адрес подпрограммы прерываний, вызываемых внешними устройствами;

– адрес 7 – начальный адрес подпрограммы прерываний, вызываемых переполнением таймера/счетчика.

Память данных. Память данных (рис. 4) предназначена для записи, хранения и считывания данных, получаемых в процессе обработки информации. Память данных, состоящая из 64 ячеек ОЗУ, разбита на два банка регистров общего назначения (РОН) с адресами от 00H до 07H – банк РОН0 и с адресами от 18H до 1FH – банк РОН1. Переключение банков осуществляется программным путем с помощью команд

SEL RB0 ; флажок BS=0

SEL RB1 ; флажок BS=1

Ячейки ОЗУ с адресами от 20H до 3FH используются только как ОЗУ данных. Восьмиуровневый 16-разрядный стек с адресами от 08H до 17H адресуется указателем стека из PSW.

Для записи и выборки данных из ОЗУ применяются два вида адресации: прямая и косвенная (регистровая). Независимо от типа адресации три младших разряда кода команды указывают на один из восьми регистров РОН R0…R7 с учетом принадлежности к ранее выбранному банку регистров. При использовании команд с прямой адресацией указанный регистр является источником или приемником данных, а при использовании команд с косвенной адресацией указанный регистр содержит адрес данных (в качестве регистров косвенного адреса используются только R0 и R1). С помощью косвенной адресации можно обращаться к любой ячейке памяти данных.

Рис. 4. Память данных микроконтроллеров семейства ВЕ48

В микроконтроллере ВЕ48 предусмотрена возможность расширения внутренней памяти до 320 байт путем подключения внешних микросхем ОЗУ. Обращение к внешней памяти данных осуществляется с помощью команд

MOVX @R, A

MOVX A, @R

Обмен информацией с внешним ОЗУ стробируется сигналами WR и RD и производится через порт P0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]