
- •15 Микроконтроллеры avr. Интерфейс spi.
- •16 Микроконтроллеры avr. Интерфейс usart.
- •17 Микроконтроллеры avr. Интерфейс twi.
- •18 Микроконтроллеры avr. Модуль ацп.
- •19 Микроконтроллеры avr. Система команд.
- •20 Микроконтроллеры avr. Методы адресации.
- •21 Микроконтроллеры avr. Организация интерфейса с семисегментным индикатором и матричной клавиатурой.
- •22 Ассемблер микроконтроллеров avr. Приемы программирования.
- •23 Программные и аппаратные средства разработки и отладки микропроцессорных систем.
- •25 Цсп семейства tms320c2000. Структура, основные характеристики.
- •26 Цсп семейства tms320c2000. Организация памяти. Интерфейс внешней памяти.
- •27 Интерфейсы микропроцессорных систем.
- •29 Организация интерфейса rs232.
- •30 Шина isa. Организация, протокол
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 – это МК очень простой для программирования благодаря богатству набора команд и особенностям его структуры.
Для наглядности, в данном разделе приведем только некоторые примеры команд. Но прежде чем приступить к изучению команд, целесообразно рассмотреть различные способы адресации данных.
Способы адресации данных :
Прямая адресация к Регистрам Общего Назначения
Прямая адресация к регистрам ввода/вывода.
Косвенная адресация данных
Команды пересылки данных
Команды арифметических и логических операций.
Команды ветвления
Битовые команды и команды тестирования битов.