8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 47 48 49 50 51 52 53 ... 195

Простая косвенная адресация

При использовании команд простой косвенной адресации обращение производится к ячейке памяти, адрес которой находится в индексном регистре (Рис. 2.31). Никаких действий с содержимым индексного регистра при этом не производится.

ОЗУ

$FFFF

Рис. 2.31. Простая косвенная адресация

Микроконтроллеры поддерживают 6 команд (по 2 для каждого индексного регистра) простой косвенной адресации: LD Rd,x/Y/z (пересылка байта из ОЗУ в РОН) и ST X/Y/z , Rd (пересылка байта из РОН в ОЗУ). Адрес регистра общего назначения содержится в битах 8...4 слова команды.

Относительная косвенная адресация

При использовании команд относительной косвенной адресации адрес ячейки памяти, к которой производится обращение, получается суммированием содержимого индексного регистра (Y или Z) и константой, задаваемой в команде. Другими словами, производится обращение по адресу, указанному в команде, относительно адреса, находящегося в индексном регистре. Иллюстрация данного способа адресации приведена на Рис. 2.32. Положение битов п и q на рисунке показано условно.

ОЗУ

Регистр Y или Z

10 6 5

КОП

Rr/Rd

Rr/Rd — РОН (источник/приемник)

$FFFF


Микроконтроллеры семейства Mega поддерживают 4 команды относительной косвенной адресации (две — для регистра Y и две — для регистра Z): LDD Rd, Y+q/Z+q (пересылка байта из ОЗУ в РОН) и ST Y+q/Z+q, Rr (пересылка байта из РОН в ОЗУ). Адрес регистра общего назначения содержится в битах 8...4 слова команды, а величина смещения — в битах 13,11,10, 2...0. Поскольку под значение смещения отводится только 6 битов, оно не может превышать 64.

Косвенная адресация с преддекрементом

При использовании команд косвенной адресации с преддекрементом содержимое индексного регистра сначала уменьшается на 1, а затем производится обращение по полученному адресу (Рис. 2.33).

ОЗУ

Регистр X, Y или Z

$FFFF

Puc. 2.33. Косвенная адресация с преддекрементом

Микроконтроллеры семейства поддерживают 6 команд (по 2 для каждого индексного регистра) косвенной адресации с преддекрементом: LD Rd, -X/-Y/-Z (пересылка байта из ОЗУ в РОН) и ST -X/-Y/-Z, Rd (пересылка байта из РОН в ОЗУ). Адрес регистра общего назначения содержится в битах 8...4 слова команды.

Косвенная адресация с постинкрементом

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

ОЗУ

Регистр X, Y или Z

$FFFF

Puc. 2.34. Косвенная адресация с постинкрементом


Микроконтроллеры семейства поддерживают 6 команд (по 2 для каждого индексного регистра) косвенной адресации с постинкрементом: LD Rd, X+/Y+/Z+ (пересылка байта из ОЗУ в РОН) и ST X+/Y+/Z+, Rd (пересылка байта из РОН в ОЗУ). Адрес регистра общего назначения содержится в битах 8...4 слова команды.

2.2.3. Энергонезависимая память данных (EEPROM)

Все микроконтроллеры семейства Mega имеют в своем составе энергонезависимую память (EEPROM-память). Объем этой памяти колеблется от 256 байт в моделях ATmega48x до 4 Кбайт в старших моделях. EEPROM-память расположена в своем адресном пространстве и так же, как и ОЗУ, организована линейно.

Доступ к EEPROM

Для работы с EEPROM-памятью используются три регистра ввода/вывода: регистр адреса, регистр данных и регистр управления, адреса которых для разных моделей микроконтроллеров приведены в Табл. 2.23.

Таблица 2.23. Регистры EEPROM

Название

ATmega8515x/8535x, ATmega8x, ATmegal6x/32x, ATmega64x/128x, ATmega 162x

ATmega48x/88x/168x, ATmega164x/324x/644x, ATmegal65x, ATmega325x/645x/3250x/6450x,

ATmega640x, ATmega1280x/128lx/2560x/256lx

Назначение

EEARH

$1F($3F)

$22($42)

Регистр адреса (старший байт)

EEARL

$1E($3E)

$21($41)

Регистр адреса (младший байт)

EEDR

$1D($3D)

$20($40)

Регистр данных

EECR

$1C($3C)

$1F($3F)

Регистр управления

Регистр адреса EEAR (EEPROM Address Register) физически размещается в двух РВВ — EEARH:EEARL. В этот регистр загружается адрес ячейки, к которой будет производиться обращение. Регистр адреса доступен



0 ... 47 48 49 50 51 52 53 ... 195