![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Адресуемым элементом памяти МК является восьмиразрядная ячейка.
Внутреннее постоянное запоминающее устройство (IROM) представляет собой программируемое запоминающее устройство с электрическим стиранием записи, выполненное по CMOS Flash-технологии (Flash Memory). Число восьмиразрядных ячеек в IROM микроконтроллера составляет 4 К.
IROM и внешнее постоянное запоминающее устройство (EROM) предназначены для хранения команд программы и констант. Адреса, используемые при обращении к IROM и EROM, образуют единое адресное пространство 64 К.
Внутреннее оперативное запоминающее устройство (IRAM) является статическим оперативным запоминающим устройством (SRAM). Адреса, используемые при обращении к IRAM, образуют адресное пространство внутренней оперативной памяти объёмом 256 байт (таблица 1.2).
Младшая половина адресов (от 00h до 7Fh) используется только для обращения к ячейкам IRAM. Старшая половина адресов используется для обращения к регистрам, расположенным в CPU и в периферийных устройствах. Обращение к ячейкам IRAM, которым соответствуют адреса от 00H до 7Fh, можно выполнять как по командам с прямой, так и по командам с косвенной адресацией.
В IRAM микроконтроллера образован стек типа LIFO. Адрес при записи байта в стек образуется путём увеличения на единицу адреса, хранящегося в регистре-указателе стека (SP). Адрес при чтении байта из стека берётся из регистра-указателя стека, после чего адрес в этом регистре уменьшается на единицу. При сбросе микроконтроллера в регистр-указатель стека заносится код 07Н. Путём записи в регистр SP иного начального адреса стек может быть смещён в другую область IRAM.
32 ячейки памяти в IRAM, которым соответствуют адреса от 00Н до 1FH, могут использоваться как регистры. К этим ячейкам можно обращаться как по командам с прямой или косвенной адресацией, так и по командам с регистровой адресацией. Группа из 32 регистров разделена на 4 банка (RB0–RB3). Регистры в пределах банка имеют номера от 0 до 7 (R0–R7).
Таблица 1.2 – Структура IRAM микроконтроллера
Адреса | Назначение | Тип адресации | ||||||||||
FF | Регистры специальных функций (SFR) | Прямая*, косвенная**, поразрядная*** | ||||||||||
… | ||||||||||||
7F | Прямая, косвенная, поразрядная | |||||||||||
… | ||||||||||||
2F | Область поразрядного обращения | 7F | 7E | 7D | 7C | 7B | 7A | |||||
2E | ||||||||||||
… | … | … | … | … | … | … | … | … | ||||
0F | 0E | 0D | 0C | 0B | 0A | |||||||
1F | Банки регистров | RB3 | R7 | |||||||||
… | … | |||||||||||
R0 | ||||||||||||
RB2 | R7 | |||||||||||
… | … | |||||||||||
R0 | ||||||||||||
0F | RB1 | R7 | ||||||||||
… | … | |||||||||||
08**** | R0 | |||||||||||
RB0 | R7 | |||||||||||
… | … | |||||||||||
R0 | ||||||||||||
* | При обращении к ячейкам как к регистрам специальных функций | |||||||||||
** | При обращении к ячейкам как к памяти | |||||||||||
*** | Допускают только адреса, кратные восьми (80h, 88h,…, F8h) | |||||||||||
**** | Дно стека при сбросе микроконтроллера | |||||||||||
Выбор регистрового банка, в котором при обращении находится регистр с указанным номером, выполняется путём предварительной установки в определённое состояние двух разрядов в регистре PSW. Схема распределения разрядов в регистре PSW приведена на рисунке 1.4.
CY | AC | F0 | RS1 | RS0 | OV | – | P |
Рисунок 1.4 – Схема распределения разрядов в регистре PSW |
Для выбора регистрового банка используются разряды регистра PSW.4=RS1 и PSW.3=RS0. Регистровые банки RB0–RB3 выбираются при комбинациях значений RS1, RS0=00, 01, 10 и 11 соответственно. Регистры R0 и R1 в каждом регистровом банке могут быть использованы для размещения адресов при выполнении команд с косвенной адресацией.
16 ячеек памяти в IRAM, которым соответствуют адреса от 20Н до 2FH, допускают поразрядное обращение. Биты в ячейках памяти IRAM с побитовой адресацией имеют адреса от 00H до 7FH.
Дата публикования: 2014-11-03; Прочитано: 621 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!