Азартные игры бесплатно без регистрации  |  лабораторная посуда Rambler's Top100

Распределение памяти

Память программ
Память данных
Автор

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

Контроллер построен по классической гарвардской архитектуре - память данных отделена от помяти программ. Максимальный размер памяти программ - 4 К (4096) байт. В зависимости от модели память программ может быть полностью внешней или разделяться на внешнюю и внутренюю. Режим работы с внутренней памятью программ задается уровнем на входе EMA - "1" - внешняя, "0" - внутренняя. Если адрес выбираемой команды находится за пределами внутренней памяти, автоматически активизируется внешняя память.
Выборка из внутренней памяти не сопровождается никакими внешними сигналами, кроме ALE. При выборке из внешней памяти используется шина P0 и младшие 4 разряда порта P2 для вывода адреса байта и шина P0 для чтения байта из ПЗУ. При этом испольуют дополнительный регистр для фиксации младшего байта адреса обратным фронтом ALE, после чего сигнал #PME стробирует выборку байта из ПЗУ. Байт данных считывается с шины через порт P0.
Память программ разделена на 2 банка с адресами 0000h...07FFh и 0800h...0FFFh. Счетчик команд содержит 12 разрядов, но непосредственно инкрементируются только младшие 11. Переключение между банками производится командами SEL MBx, где x - номер банка. Сам разряд устанавливается по первой команде JMP или CALL, следующей непосредственно после SEL MBx. Каждый банк делится на страницы по 256 байт и команды условного перехода могут адресовать память только в пределах текущей страницы.
В странице 0 находятся 3 вектора прерываний:

Адрес Назначение вектора
0000 Начальная установка по RESET
0003 Внешнее прерывание
0007 Таймер

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

Оглавление Оглавление

Память данных

Память данных находится на кристалле контроллера. Размер памяти - до 128 байт в зависимости от модели. Минимум памяти - первые 32 байта, которые разбиты на 3 части - два банка регистров общего назначения (РОН) и стек. Остальное - это собственно ОЗУ данных.
Банки РОН находятся по адресам 00h...07h и 18h...1Fh. Текущий банк определяется флагом BS в слове состояния:
BS Банк
0 РОН0
1 РОН1
Банк состоит из регистров R0 и R1 и 8 РОН.
Размер стека - 8 16-разрядных слов, адресуемых младшими разрядами слова состояния. Используется командами CALL и ACALL и системой прерываний для сохранения адреса возврата и слова состояния. Если прерывания и подпрограммы не применяются, может быть использован как ОЗУ данных размером 16 байт. Располагается по адресам 08h...17h.
То, что имеет адрес более 1Fh, является ОЗУ данных.


Оглавление Оглавление

© Берёзкин С.Е., 2001 г.

stlab@rambler.ru


[Главная]
[Микроконтроллеры]

Рейтинг@Mail.ru bigmir)net TOP 100 Rambler's Top100 AllBest.Ru Яндекс цитирования