Материал: 1755

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

А. А. Зубарев

А С С Е М Б Л Е Р

ДЛЯ МИКРОКОНТРОЛЛЕРОВ

A V R

Федеральное агентство по образованию Сибирская государственная автомобильно-дорожная академия

(СибАДИ)

А. А. Зубарев

АССЕМБЛЕР

ДЛЯ МИКРОКОНТРОЛЛЕРОВ AVR

Учебное пособие

Омск Издательство СибАДИ

2007

1

УДК 004.43 ББК 22.183.49 З 91

Рецензенты

д-р техн. наук, проф. С.В. Бирюков (ОмГТУ), канд. техн. наук, доц. К.Р. Сайфутдинов (ОмГТУ)

Работа одобрена редакционно-издательским советом академии в качестве учебного пособия по дисциплинам “Проектирование автоматических систем”, “Микропроцессорные устройства автоматики” для специальности 220301 “Автоматизация технологических процессов и производств”, а также “Проектирование микропроцессорных систем ”, “Разработка микропроцессорных устройств диагностики автомобилей и тракторов” для специальности 140607 “Электрооборудование автомобилей и тракторов” и для проведения учебной практики.

Зубарев А.А.

З 91 Ассемблер для микроконтроллеров AVR: Учебное пособие. – Омск: Изд-во СибАДИ, 2007. – 112 с.

ISBN 978-5-93204-310-3

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

Учебное пособие в простой и доступной форме знакомит читателей с языком программирования Ассемблером для однокристальных микроконтроллеров AVR. Он входит в состав интегрированной среды разработки AVR Studio. Ассемблер как машинно-зависимый язык изменяется и усложняется в процессе совершенствования и усложнения микроконтроллеров. С 2005 г. в состав AVR Studio входит Ассемблер 2 с препроцессором в стиле языка Си. В учебном пособии описывается Ассемблер, входящий в состав AVR Studio 4.13 build 528 (версия, вышедшая в марте 2007 г.).

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

Табл.9. Ил.2.

ISBN 978-5-93204-310-3

© А.А. Зубарев, 2007

2

ОГЛАВЛЕНИЕ

1.ОБЩАЯ ИНФОРМАЦИЯ………………………………………….. 4

1.1.Введение…………………………………………………………… 4

1.2.

Основные сведения о языке Ассемблер.........................................

4

1.3.

Новое в AVR Assembler 2 ...............................................................

5

2.СИНТАКСИС AVR АССЕМБЛЕРА………..................................... 6

2.1.Инструкции процессоров AVR………………………………....... 9

2.2.Выражения……………….……………….……………………..… 15

2.2.1.Операнды……….……………….…………………….……. 15

2.2.2.Операторы……….……………….……………………….…16

2.2.3.Функции……….……………….………………...……….… 17

3.ДИРЕКТИВЫ…………………………………………………...……... 18

3.1.Директивы AVRASM………………………………………………18

3.2.Директивы AVRASM2……………………………………..………28

3.3.Операторы AVRASM2…………………………………..…………37

3.4.Предопределенные макросы………………..………………..……38

4.НАСТРОЙКА АССЕМБЛЕРА ……….……………………….……. 39

4.1.Опции……………………………………………….………...……. 39

4.2.Опции командной строки AVRASM2………………….…………41

4.3.Преобразователь XML………………………………….………… 45

4.3.1.Размещение и вызов…………………………….………… 46

4.3.2.Примеры……………………………………….…………… 46

4.3.3.Соглашения об именах файлов…………………….……. 47

4.4.Сообщения об ошибках……………………….…….………...… 48

5.СИСТЕМА КОМАНД 8-РАЗРЯДНЫХ RISC МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА AVR…………..………51

5.1.Список команд…………………………………………..………….51

5.2.Описание команд…………………………………………..……….54 Контрольные вопросы……………………………………………..……110

3

1. ОБЩАЯ ИНФОРМАЦИЯ

1.1. Введение

Микроконтроллеры (МК) в настоящее время широко применяются в новых разработках автоматизированного оборудования в связи с тем, что их использование значительно снижает затраты на разработку и изготовление оборудования, а также позволяет повысить его функциональность. В области автомобильного сервиса МК используются в приборах для диагностики и в оборудовании для ремонта и обслуживания. В частности, в станках для балансировки колес автомобилей (рис.1), производимых компанией «СИВИК» (г. Омск), применяются МК AVR, выпускаемые американской фирмой Atmel.

Выбор МК AVR Atmel

обусловлен тем, что у них выше отношение «функциональность/ цена» по сравнению с аналогичными МК .

Кроме того, фирмой бесплатно предоставляется вся документация и

 

программное

обеспечение

 

для

 

составления,

редактирования

и

 

компиляции программ, а также их

 

отладки и программирования памяти

 

МК. Это программное обеспечение

 

для микроконтроллеров

называется

 

интегрированная среда разработки

 

(Integrated Development Environment

 

IDE). Конкретно для AVR

AVR

 

Studio version 4.13 build 528 (версия,

 

вышедшая в марте 2007 г.). Свежая

Рис.1. Станок для балансировки колес

версия

AVR

Studio

свободно

доступна

на сайте фирмы

Atmel:

http://www.atmel.com.

1.2. Основные сведения о языке Ассемблер

Язык Ассемблер – это машинно-зависимый язык, т. е. набор инструкций (команд) языка зависит от архитектуры МК: количества регистров, видов и объёма памяти, набора периферийных устройств.

Чтобы удовлетворить запросы потребителей (разработчиков аппаратуры), выпускают микроконтроллеры с различным составом

4