Device ATmega8535; программа для микроконтроллера ATmega8535

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

Входным для транслятора является файл <имя_файла>.asm с текстом программы на языке ассемблера. Транслятор создаёт четыре новых файла: файл листинга (<имя_файла>.lst), объектный файл (<имя_файла>.obj), файл-прошивку памяти программ (<имя_файла>.hex) и файл-прошивку энергонезависимой памяти данных (<имя_файла>.eep).

Файл листинга – это отчёт транслятора о своей работе. На рис. 6 приведена часть листинга трансляции программы, в которой числа 2, 5 и 19 заносятся соответственно в регистры R17, R18 и R19; вычисляются произведение и сумма содержимого регистров R17 и R18; из суммы содержимого регистров R17 и R18 вычитается содержимое регистра R19. Листинг содержит исходный текст транслируемой программы, каждой команде которой поставлены в соответствие машинные коды (правый столбец чисел) и адреса ячеек памяти программ, в которых они будут размещены (левый столбец чисел). Машинные коды и адреса приводятся в шестнадцатеричной системе счисления. Например, строка листинга с командой ADD содержит следующую информацию: 0f12 – машинный код команды; 000004 – адрес размещения данной команды в памяти программ.

 

E012 ldi R17, 2 ; загрузка числа 2 в регистр R17

E025 ldi R18, 5 ; загрузка числа 5 в регистр R18

E133 ldi R19, 19 ; загрузка числа 13 в регистр R19

000003 9f12 mul R17, R18 ; умножение R17 на R18, результат в R1:R0

F12 add R17, R18 ; сложение R17 и R18, результат в R17

B31 sub R19, R17 ; вычитание R17 из R19, результат в R19

000006 cfff met: rjmp met ; бесконечный цикл (для отладки)

 

Рис. 6. Пример листинга трансляции

 

 

Объектный файл имеет специальный формат и используется для отладки программы с помощью симулятора-отладчика среды AVR Studio. Файл прошивки памяти программ служит для занесения отлаженной программы в память программ микроконтроллера. Файл прошивки EEPROM-памяти данных предназначен для загрузки информации в энергонезависимую память данных. Операции загрузки памяти программ и энергонезависимой памяти данных выполняются с помощью специальных аппаратных средств (программаторов).

ЗАДАНИЕ

Составить программу вычисления произведения и суммы двух чисел А и В, находящихся в РОН. Из суммы А и В вычесть число С. За основу взять программу, приведённую на рис. 6. Числа изменить в соответствии с заданным вариантом (табл. 1). В начало программы поместить директиву .device для микроконтроллера ATmega8535 (здесь и далее предполагается использование микроконтроллера ATmega8535). В комментариях указать фамилию и номер группы.

 

Таблица 1

№ варианта
А
В
С
№ варианта
А
В
С

 

Выполнить разработку программы в среде AVR Studio*, проделав следующие операции.

1. Создать новый проект, воспользовавшись командой New Project меню Project. В появившемся диалоговом окне в поле Project Name ввести имя создаваемого проекта без расширения (информация о проекте сохраняется в файле с расширением .aps). В поле Location указать место размещения файлов проекта на диске (путь); в поле Project type выбрать пункт AVR Assembler (исходные тексты программ разрабатываются на языке ассемблера). Для создания файла исходной программы установить флажок Create initial File. Задать имя файла программы, отличающееся от имени проекта, можно в поле Initial File (расширение .asm файлов программ на ассемблере устанавливается автоматически). Создание каталога для хранения файлов проекта обеспечивается установкой флажка Create Folder. Рекомендуется каждый проект размещать в отдельном каталоге. Нажать кнопку «Next».

2. В группе Select debug platform and device в поле Debug Platform указать способ отладки создаваемого проекта – AVR Simulator (симулятор-отладчик), в поле Device выбрать тип микроконтроллера, для которого создаётся программа (ATmega8535). Нажать кнопку «Finish». На экране появится дерево иерархии проекта (окно Workspace, закладка Project) и окно редактора исходных текстов программ.

Если при создании проекта не был установлен флажокCreate initial file, создать файл исходного текста программы можно командой New File меню File.

3. Ввести и отредактировать текст программы. Сохранить файл, воспользовавшись командой Save меню File. Если файл с исходным текстом программы уже существует, его можно включить в проект командой Add existing File меню Project или контекстного меню окна иерархии проекта при выделенной группе Assembler.

4. Провести трансляцию созданной программы, воспользовавшись командой Build and run меню Project(или сочетанием клавиш Ctrl+F7 на клавиатуре). Перед трансляцией убедиться, что установлен флажок List file в диалоговом окне AVR Assembler, вызов которого осуществляется командой AVR Assembler Setup меню Project (это необходимо для создания листинга трансляции). По окончании трансляции в окне Output на закладке Build появится информация о результатах трансляции. Открыть файл листинга можно из дерева иерархии проекта (окно Workspace, закладка Project). После этого с помощью команды Save Project меню Project сохранить изменения в файле проекта.

Дополнительное задание: ознакомиться с техническим описанием микроконтроллера ATmega8535 «ATmega8535 Data Sheet» фирмы Atmel.

Примечания: 1.Создаваемые файлы следует размещать ТОЛЬКО в каталогах, специально выделенных для этого администратором дисплейного класса.

2. Некоторые команды программы AVR Studio доступны из панели инструментов.

3. Распечатку программ и листингов трансляции обеспечивает команда Print меню File, предварительный просмотр – команда Print Preview меню File, настройку параметров печати – команда Print Setup меню File.

СОДЕРЖАНИЕ ОТЧЁТА

Отчёт должен содержать: титульный лист с указанием номера и названия лабораторной работы, номера группы и фамилий выполнивших работу; цель работы; схему программной модели AVR-микроконтроллера; перечень этапов разработки прикладного ПО для встраиваемых МП (МК); распечатку листинга трансляции созданной программы с расшифровкой одной из строк.

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Назначение однокристальных микроконтроллеров.

2.Особенности архитектуры однокристальных микроконтроллеров.

3.Архитектура и программная модель AVR-микроконтроллеров.

4.Этапы разработки ПО для встраиваемых микропроцессоров.

5.Формат строки программы на ассемблере для AVR-микроконтроллеров.

6.Состав листинга трансляции.