Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
15-30.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
116.58 Кб
Скачать

19 Микроконтроллеры avr. Система команд.

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel. Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC.

Микроконтроллеры AVR имеют очень широкий набор команд. Это позволяет более просто произвести разработку компиляторов, что также означает, что AVR может быть легко запрограммирован с использованием разнообразных команд, упрощающих решение задачи. Следует обратить внимание на следующие тонкости. Многие команды могут обращаться только к 16-старшим РОН и не имеют доступа к 16-младшим.

Принятые обозначения

Регистр статуса (SREG)

SREG: Регистр статуса

C: Флаг переноса

Z: Флаг нулевого значения

N: Флаг отрицательного значения

V: Флаг-указатель переполнения дополнения до двух

S: NЕV, Для проверок со знаком

H: Флаг полупереноса

T: Флаг пересылки, используемый командами BLD и BST

I: Флаг разрешения/запрещения глобального прерывания

Регистры и операнды

Rd: Регистр назначения (и источник) в регистровом файле

Rr: Регистр источник в регистровом файле

R: Результат выполнения команды

K: Литерал или байт данных (8 бит)

k: Данные адреса константы для счетчика программ

b: Бит в регистровом файле или I/O регистр (3 бита)

s: Бит в регистре статуса (3 бита)

X, Y, Z: Регистр косвенной адресации (X=R27:R26, Y=R29:R28, Z=R31:R30)

P: Адрес I/O порта

q: Смещение при прямой адресации (6 бит)

I/O регистры

RAMPX, RAMPY, RAMPZ: Регистры связанные с X, Y и Z регистрами, обеспечивающие косвенную адресацию всей области СОЗУ микроконтроллера с объемом СОЗУ более 64 Кбайт

Стек:

STACK: Стек для адреса возврата и опущенных в стек регистров

SP: Указатель стека

Флаги:

<> Флаг, на который воздействует команда

0: Очищенный командой Флаг

1: Установленный командой флаг

-: Флаг, на который не воздействует команда

20 Микроконтроллеры avr. Методы адресации.

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel. Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:

Три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y (r28:r29) и Z (r30:r31);

Некоторые команды работают только с регистрами r16…r31;

Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r0:r1.

Микроконтроллеры AVR имеют очень широкий набор команд. Это позволяет более просто произвести разработку компиляторов, что также означает, что AVR может быть легко запрограммирован с использованием разнообразных команд, упрощающих решение задачи. Следует обратить внимание на следующие тонкости. Многие команды могут обращаться только к 16-старшим РОН и не имеют доступа к 16-младшим. Значения смещений и констант могут быть ограничены и оказаться не в том диапазоне, который вы ожидали. Существует различие между «полноценными» старшими моделями серии 8515 и младшими моделями серии 1200. Младшие модели МК реализуют часть полного набора команд, в которых доступен только один индексный регистр Z. Хотя при переносе программ с младших моделей на старшие вряд ли возникнут проблемы, они весьма вероятны при обратном направлении переноса. Даже с учетом всех этих предостережений AVR – это МК очень простой для программирования благодаря богатству набора команд и особенностям его структуры.

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

Способы адресации данных :

Прямая адресация к Регистрам Общего Назначения

Прямая адресация к регистрам ввода/вывода.

Косвенная адресация данных

Команды пересылки данных

Команды арифметических и логических операций.

Команды ветвления

Битовые команды и команды тестирования битов.

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