- •1. Микроконтроллер aTtiny2313/V фирмы Atmel
- •1.1 Структура, основные характеристики и возможности
- •1.2 Особенности микросхемы aTtiny2313
- •2. Центральное ядро процессора
- •2.1 Кратка характеристика архитектуры
- •2.4 Системная перепрограммируемая Flash-память программ
- •2.5 Память данных sram
- •3. Порты ввода-вывода
- •3.1 Использование портов для цифрового ввода-вывода
- •4. Внешние прерывания
- •4.1 Назначение и режимы работы
- •5.4 Используемые обозначения
- •5.5 Модуль счёта
- •5.6 Модуль совпадения
- •5.7 Принудительное изменение состояния выхода совпадения
- •5.8 Блокировка режима совпадения в момент записи регистра tcnt0
- •5.9 Использование модуля прерывания
- •5.10 Модуль вывода сигнала совпадения
- •5.11 Режимы работы
- •5.12 Режим «Normal»
- •5.13 Режим сброса при совпадении (стс)
- •5.14 Режим FastPwm (быстрый шим)
- •5.15 Шим, корректный по фазе (PhaseCorrectPwm)
- •6. Описание системы команды
- •6.1 Система команд. Общие сведения о системе команд
- •6.2 Система команд
- •6.3 Команды регистровых операций
- •6.4 Команды с обращением по адресу sram
- •6.5 Команды с обращением к регистрам ввода-вывода
- •6.6 Команда с обращением к FlashRom
- •6.7 Команды операций с битами
- •6.8 Команды управления ходом программы
6.4 Команды с обращением по адресу sram
По командам с обращением по адресу в адресном пространстве SRAM выполняются операции пересылки (копирования) байта между регистром общего назначения и элементом, которому соответствует адрес в адресном пространстве SRAM. Таким элементом может быть регистр общего назначения (адреса от $00 до $1F), регистр ввода-вывода (адреса от $20 до $5F), ячейка памяти в SRAM (адреса от $60 до максимального адреса в SRAM), ячейка памяти в ERAM(адреса от максимального адреса в SRAM +1 до максимального адреса в ERAM).
Команды с обращением по адресу в адресном пространстве SRAM описаны в табл. 2.4 и 2.5.
Машинные коды команд №№ 34 и 35 имеют формат «2 слова», машинные коды остальных команд – формат «слово». Команды выполняются за 2 такта, а при обращении к ячейкам в ERAM–за 3 такта. В случае необходимости в цикл выполнения команды при обращении к ERAM может быть введён дополнительный такт ожидания.
В табл.2.4 и 2.5 используются следующие новые обозначения:
▪ ЯчА – регистр общего назначения, регистр ввода-вывода, ячейка памяти в SRAM, ячейка памяти в ERAM, к которым производится обращение с использованием адреса А из адресного пространства SRAM;
▪ (ЯчА) – байт в ЯчА;
▪X, Y, Z – пара регистров общего назначения X (R26, R27), Y (R28, R29), Z (R30, R31) соответственно;
▪ (X), (Y), (Z) – слово в паре регистров X, Y, Z соответственно;
▪ СТЕК – ЯчА, к которой производится обращение с использованием адреса, хранящегося в регистре – указателе стека SP;
▪ (СТЕК) – байт в СТЕК, е;
▪ (SP) – код числа в регистре SP.
В командах №№ 34 и 35 реализуется прямая адресация. Адрес байта (A = k) указывается в коде команды.
В командах №№ 36 – 57 реализуется косвенная адресация. Адрес байта находится в паре регистров X, Y или Z. При выполнении команд №№ 48 – 53 до выполнения пересылки адрес в паре регистров аппаратно уменьшается на единицу. При выполнении команд №№ 54 – 57 адрес, по которому производится обращение, равен адресу в паре регистров Y или Z, увеличенному на единицу q, которое указано в коде команды. Адрес в паре регистров остаётся без изменения.
В командах №№ 58 и 59 в качестве кода адреса используется код, находящейся в регистре-указателе стека. При запуске микроконтроллера в регистр-указатель стека заносится код числа 0. Для нормальной работы стека в регистр – указатель стека в начале программы необходимо занести код другого числа. Обычно в качестве такого числа используют старший адрес в SRAM. Например, для микроконтроллера типа 8515 таким адресом является число $025F.
6.5 Команды с обращением к регистрам ввода-вывода
По командам с обращением к регистрам ввода-вывода выполняются операции пересылки (копирования) байта между регистром общего назначения и регистром ввода-вывода с использованием для выбора регистра ввода-вывода его номера ($00 - $3F). Команды с обращением к регистрам ввода-вывода описаны в табл. 6. Машинные коды команд имеют формат «слово». Команды выполняются за один такт.
В табл. 6 используются следующие новые обозначения:
▪ PrP – регистр ввода-вывода с номером P;
▪ (PrP) – байт в регистре PrP.
При записи мнемокода команды вместо конкретного номера регистра может использоваться его символическое имя. Все регистры ввода-вывода имеют штатные имена. У микроконтроллеров разных типов регистры ввода-вывода, имеющие одинаковые имена, могут иметь разные имена. При записи в мнемокодах имён регистров вместо их номера необходимо использовать версию AVR-Ассемблера для микроконтроллера данного типа.
