Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AVR.doc
Скачиваний:
17
Добавлен:
26.04.2019
Размер:
2.79 Mб
Скачать
  1. Теоретическая часть

Профессиональную разработку современных микроконтроллерных устройств невозможно представить без использования средств поддержки. Фирма Atmel уделяет большое внимание вопросам технической поддержки, предлагая разработчикам как программные так и различные аппаратные средства. AVR Studio – это интегрированная отладочная среда разработки приложений (IDE) для микроконтроллеров семейства AVR (AT90S, ATmega, ATtiny) фирмы Atmel.

IDE AVR Studio содержит:

  • Транслятор языка ассемблера (Atmel AVR macroassembler).

  • Отладчик (Debugger).

  • Программное обеспечение верхнего уровня для поддержки внутрисхемного программирования (In-System Programming, ISP).

Отладчик AVR Studio поддерживает все типы микроконтроллеров AVR и имеет два режима работы: режим программной симуляции и режим управления различными типами внутрисхемных эмуляторов (In-Circuit Emulators) производства фирмы Atmel. Отладочная среда поддерживает выполнение программ как в виде ассемблерного текста, так и в виде исходного текста языка С.

1.1. Методические указания по выполнению лабораторной работы

1.1.1. Создайте новый проект.

Запустите AVR Studio 4, в появившемся окне выберите иконку Create New Project (Рис.27).

Рис. 27. Окно приглашения в AVR Studio

В появившемся диалоговом окне (рис. 28) введите название проекта (Project Name) LAB1 и его расположение (Location). При работе в локальной сети НРТК проект нужно создавать на индивидуально доступном Вам диске Z в корневом каталоге, либо в папке с английским наименованием Вашей фамилии, затем нажмите Next.

Примечание: в имени проекта и пути не должно быть символов кириллицы.

Рис. 28. Окно создания нового проекта

В появившемся окне выберите платформу AVR Simulator и устройство ATmega 8515, для которого будет создаваться программа (Рис. 29) и нажмите Finish.

Рис. 29. Окно выбора платформы и устройства

Появится рабочее окно (Рис. 30) созданного проекта для написания и отладки программы.

Рис. 30. Окно AVR Studio

1.1.2. Напишите и отладьте программу lab1

Для сохранения в проекте файла программы на языке ассемблера c расширением .asm выберите в меню File, Save As

  1. Наберите программу LAB1 в появившемся правом верхнем окне редактирования программы на языке ассемблера.

  2. Осуществите трансляцию программы и проверьте правильность ее написания. Для этого выберите пункт меню Projekt/Build «иконка» (клавиша F7). Все ошибки выведутся в окно Output вкладка Message (обычно находится внизу рабочего пространства). Необходимо устранить имеющиеся ошибки в ассемблере набранной программы. В корректно составленной программе выводится сообщение:

  1. Проведите детальную трассировку программы LAB1 в IDE, описав каждый шаг Program Counter, выбрав «иконку» Start debugging в листинге программы, после чего появится желтая стрелка , указывающая на команду, которая будет выполняться следующей. В пошаговом выполнении программы (клавиша F11) меню Debug, Step Info выполните всю программу.

Изменения состояний регистров и портов МК отображается в левом поле рабочего окна при открытии вкладки (Рис. 31, 32).

Рис. 31. Окно внутренних состояний МК AVR.

Рис. 32. Окно для просмотра состояния внутренних модулей МК AVR

  1. Измените значение на PIN порта ввода и отметьте изменения (в блоке MAIN) в отчете по трассировке.

  2. Покажите отчет по трассировке преподавателю.

  3. Оформите отчет по лабораторной работе.

Контрольные вопросы.

  1. Продемонстрируйте преподавателю ход создания проекта и работы программы LAB1.

  1. Практическая часть

2.1. Задание:

1. Изучить методику создания проекта в AVR Studio.

2. Провести детальную трассировку программы LAB1 в AVR Studio, описать каждый шаг Program Counter, значения которого изменяются при каждом нажатии на клавишу F11.

3. Изменить значение на PIN порта ввода и отметить что произошло.

4. Ответить на контрольные вопросы.

5. Составить отчёт по трассировке.

Программа LAB1:

.include "8515def.inc" ; подключение файла описания МК

def temp = r16 ; задание временной переменной temp

cli ; глобальный запрет прерываний

;------------|Организация стека в верхних ячейках ОЗУ|-----------------------

ldi temp,low(RAMEND) ; загрузка в temp младшего байта адреса

; последней ячейки оперативной памяти МК

out SPL,temp ; определение указателя стека

; (младший байт)

ldi temp,high(RAMEND) ; загрузка в temp старшего байта адреса

; последней ячейки оперативной памяти МК

out SPH,temp ; определение указателя стека

; (старший байт)

;------------|Инициализация портов|-----------------------

ldi temp,$ff ; загрузка в temp числа $FF

out DDRB,temp ; запись в регистр направления порта В

; значения temp ($FF – порт вывода)

ldi temp,$00 ; загрузка в temp числа $00

out DDRD,temp ; запись в регистр направления порта D

; значения temp ($00 – порт ввода)

;------------|Основной блок программы|-----------------------

MAIN:

in temp,PIND

dec temp

rol temp

ror temp

swap temp

out PORTB,temp

rjmp MAIN

.exit

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]