63765 (695441), страница 2

Файл №695441 63765 (Система команд микроконтроллеров) 2 страница63765 (695441) страница 22016-08-01СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

При описании операций в табл. 1—3 используются следующие обозначения:

Таблица 11

Операция

Мнемокод команды

Операция

Мнемокод команды

91

I = 0

BRID k

92

I = 1

BRIE k

93

T = 0

BRTC k

94

T = 1

BRTS k

95

H = 0

BRHC k

96

H = 1

BRHS k

97

S = 0

BRGE k

98

S = 1

BRLT k

99

V = 0

BRVC k

100

V = 1

BRVS k

101

N = 0

BRPL k

102

N = 1

BRMI k

103

Z = 0

BRNE k

104

Z = 1

BREQ k

105

C = 0

BRCC k

106

C = 1

BRCS k

107

C = 0

BRSH k

108

C = 1

BRLO k

109

SREG.b=0

BRBC b, k

110

SREG.b= 1

BRBS b, k

k = -64 – +63; b = 0 – 7

Таблица 12

Операция

Мнемокод команды

Операция

Мнемокод Команды

111

SBRC

112

SBRS

113

SBIC

114

SBIS

115

CPSE

d, r = 0 – 31; P = 0 – 31 (!); b = 0 – 7

Таблица 13

Операция

Мнемокод команды

116

МК – режим энергосбережения

SLEEP

117

Перезапуск WDT

WDR

118

Нет

NOP

■ RdRr — регистры общего назначения с номерами d и r соответственно;

■ (Rd), (Ri) — байты в регистрах Rd n R, соответственно;

■ Rd.b — разряд b (b = 0—7) регистра Rfi, бит в разряде Rd.b;

■ $ — указатель шестнадцатернчного кода;

■ ^, v, + - знаки логических операции И, ИЛИ, исключающее ИЛИ соответственно;

■ (‾)/( ),( ) — знаки операции НЕ, сдвиг кода вправо, сдвиг кода влево соответственно.

Арифметические операции — сложение и вычитание — могут выполняться с числами без знака в двоичном коде и с числами со знаком в дополнительном двоичном коде. В отличие от микроконтроллеров многих других семейств, в которых вычитание сводится к сложению с числом с измененным знаком (X-Y = X + (-Y )), в микроконтроллерах семейства AVR вычитание выполняется с помощью аппаратного двоичного вычитателя. Работа двоичного вычитателя рассмотрена в приложении П7.

При выполнении арифметических и логических операций кроме кода результата формируются значения признаков результата. При выполнении операций сравнения (команды М»№ 18, 19 и 27) формируются только значения признаков результата.

Значения признаков результата представлены состоянием разрядов регистра состояния SREG (№ S3F). Используются тесть признаков результата, которым присвоены имена С (SREG.O), Z (SREG.1) N (SREG.2), V (SREG.3), S (SREG.4) и Н (SREG.5). В табл. 1-3 признаки, значения которых формируются при выполнении команд, отмечены знаком "+" пли указано их значение.

При выполнении разных операций значение признаков формируются по разным правилам.

Признак С принимает единичное значение:

■ при появлении единицы переноса из старшего разряда при выполнении операции сложения (команды №№ 14, 15 и 32);

■ при появлении единицы займа в старший разряд при выполнении операции вычитания (команды №>№ 4, 16, 17, 18, 19, 25, 26, 27 и 33);

■ при выходе единицы за пределы разрядной сетки при выполнении операции сдвига (команды №№ 7, 8, 9, 10 и 11).

Единичное значение признака С при выполнении операций сложения и вычитания с числами без знака свидетельствует о получении неправильного результата операции вследствие переполнения разрядной сетки.

Признак Z принимает единичное значение при получении нулевого результата операции. При выполнении операции вычитания с учетом займа (команды №№ 17, 19 и 26) Z = 1, если нулевой результат получен при выполнении данной и предшествующей операций.

Признак N имеет значение, равное значению старшего разряда кода результата. При выполнении арифметических операции с числами со знаком и отсутствии переполнения разрядной сетки он представляет знак результата.

Признак V принимает единичное значение, если при выполнении арифметической операции с числами со знаком возникло переполнение разрядной сетки.

Признак S = N+V представляет знак результата при выполнении арифметических операций с числами со знаком вне зависимости от переполнения разрядной сетки. При переполнении разрядной сетки (V=l) знак результата противоположен значению в старшем разряде кода результата.

Признак Н принимает единичное значение при наличии единицы переноса из разряда D3 в разряд D4 при выполнении операции сложения, при наличии единицы займа в разряд D3 из разряда D4 при выполнении операции вычитания и при передаче единицы из разряда D3 в разряд D4 при выполнении операции сдвига кода влево.

Команды с обращением по адресу SRAM

По командам с обращением по адресу в адресном пространстве SRAM выполняются операции пересылки (копирования) байта между регистром общего назначения и элементом, которому соответствует адрес в адресном пространстве SRAM. Таким элементом может быть регистр общего назначения (адреса от $00 до $1F), регистр ввода-вывода (адреса от $20 до $5F), ячейка памяти в SRAM (адреса от $60 до максимального адреса в SRAM), ячейка памяти в ERAM (адреса от максимального адреса в SRAM +1 до максимального адреса в ERAM) (см. п. 1.5).

Команды с обращением по адресу в адресном пространстве SRAM описаны в табл. 4 и 5.

Машинные коды команд №№ 34 и 35 имеют формат "2 слова", машинные коды остальных команд — формат "слово". Команды выполняются за 2 такта, а при обращении к ячейкам в ERAM — за 3 такта. В случае необходимости в цикл выполнения команды при обращении к ERAM может быть введен дополнительный такт ожидания.

В табл. 4 и 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 реализуется прямая адресация. Адрес байта (А = к) указывется в коде команды.

В командах №№ 36—57 реализуется косвенная адресация. Адрес байта находится в паре регистров X, Y или Z. При выполнении команд №№ 42—47 после выполнения пересылки адрес в паре регистров аппаратно увеличивается па единицу. При выполнении команд №№ 48—53 до выполнения пересылки адрес в паре регистров аппаратно уменьшается на единицу. При выполнении команд №№ 54—57 адрес, по которому производится обращение, равен адресу в паре регистров Y или Z, увеличенному на число q, которое указано в коде команды. Адрес в паре регистров остается без изменения.

В командах №№ 58 и 59 в качестве кода адреса используется код, находящийся в регистре-указателе стека. При запуске микроконтроллера в регистр-указатель стека заносится код числа 0. Для нормальной работы стека в регистр-указатель стека в начале программы необходимо занести код другого числа. Обычно в качестве такого числа используют старший адрес в SRAM. Например, для микроконтроллера типа 8515 таким адресом является число $025F.

Команды с обращением к регистрам ввода–вывода

По командам с обращением к регистрам ввода-вывода выполняются операции пересылки (копирования) байта между регистром общего назначения и регистром ввода-вывода с использованием для выбора регистра ввода-вывода его номера ($00 - $3F). Команды с обращением к регистрам ввода-вывода описаны в табл. 6. Машинные коды команд имеют формат "слово". Команды выполняются за один такт.

В табл. 6 используются следующие новые обозначения:

■ РгР — регистр ввода-вывода с номером Р;

■ (РгР) — байт в регистре РгР.

При записи мнемокода команды вместо конкретного номера регистра может использоваться его символическое имя. Все регистры ввода-вывода имеют штатные имена. Имена регистров ввода-вывода и их номера приведены в приложении П4. У микроконтроллеров разных типов регистры ввода-вывода, имеющие одинаковые имена, могут иметь разные номера. При записи в мнемокодах имен регистров вместо их номера необходимо использовать версию AVR-Ассемблера для микроконтроллера данного типа.

Команда с обращением к FlashROM

По команде с обращением к FlashROM выполняется пересылка (копирование) байта из половины ячейки памяти в FlashROM в регистр общего назначения R0. Команда описана в табл. 7. Машинный код команды имеет формат "слово". Команда выполняется за три такта.

До выполнения команды необходимо адрес, соответствующий ячейке памяти в FlashROM, в которой хранится константа, умножить на 2 и записать в пару регистров Z (№№ $30, $31).

При умножении на 2 (сдвиг кода влево на один разряд) в младшем разряде регистра ZL ($30) оказывается цифра 0. При нулевом значении младшего разряда выбирается байт из младшей половины ячейки FlashROM. Для выбора байта из старшей половины ячейки необходимо число, код которого находится в паре регистров Z, увеличить на 1 с использованием команды № 33 с мнемокодом ADIW R30, 1 или ADIW ZL, 1.

Запись констант в FlashROM выполняется при программировании микроконтроллера.

Команды операций с битами

Команды операций с битами описаны в табл. 8 и 9. Машинные коды всех команд имеют формат "слово". Команды №№ 65 и 66 выполняются за 2 такта, остальные команды — за 1 такт.

В табл. 8 используется следующее новое обозначение:

■ РгР.b — разряд b (b = 0—7) регистра ввода-вывода с номером Р (Р = $00 - $1F (!)), бит в разряде РгР.Ь.

Характеристики

Тип файла
Документ
Размер
1,95 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6557
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее