Site Loader

Урок №7 Лабораторная работа №1 Ввод, компиляция и отладка программ в avr Studio

Цель работы: Освоить основные приемы работы в программной среде AVR Studio

1 Сведения из теории

1.1 Ввод программы

Для ввода, исследования и отладки программ для микроконтроллеров используется программная среда AVR Studio.

Запустим программу AVR Studio. Появится диалоговое окно программы (рисунок 1)

Рисунок 1- Диалоговое окно AVR Studio

Создадим новый проект, для этого выберем клавишу Create New Project. На экране появится окно ввода имени проекта (рисунок 2).

Рисунок 2 — Окно ввода имени проекта

В окне ввода имени проекта необходимо указать:

тип проекта Project Type:

Atmel AVR Assembler

имя проекта Project Name:

proba

и место его расположения на диске Location:

D:\Students\AP-81\Ivanov\MCU

В пути к проекту и в его имени нельзя использовать русские буквы.

После ввода имени проекта нажимаем клавишу «Next>>».

Откроется окно выбора платформы отладки и устройства (рисунок 3).

Рисунок 3 – Окно выбора платформы отладки и устройства

В окне выбора платформы отладки Debug Platform выбираем:

AVR Simulator

В окне выбора устройства Device выбираем:

ATmega8535

Нажимаем «Finish»

Открывается рабочее окно программы (рисунок 4), которое содержит 3 рабочие области:

1 — менеджер проекта «Workspace»

2 – окно набора программ

3 – окно сообщений «Build»

Рисунок 4 – Рабочее окно программы

Набираем в правом окне программу на ассемблере

Рисунок 4 – Ввод программы

1.

2 Компиляция программы

После того как программа набрана, выполняем ее компиляцию. Для этого нажимаем кнопку «Build» или нажимаем F7. Сообщение о результатах компиляции выводится в окне «Build». Если компиляция прошла успешно, появляется сообщение о том, что ошибок нет.

1.3 Отладка программы на эмуляторе

Программа AVR Studio позволяет не только компилировать программы, но и отлаживать их на этапе разработки. При этом программа эмулирует работу микроконтроллера, всех портов ввода-вывода, счетчиков/таймеров, прерываний, АЦП, ШИМ. Эмуляция работы программы позволяет проанализировать ее работу, как если бы она была записана в микроконтроллер.

Для запуска отладчика нажимаем клавишу «Run» или нажать F5. В окне Workspace открывается закладка I/O. В программе желтой стрелкой будет отмечено начало (рисунок 5).

Рисунок 5 – Окно отладчика программы

В окне I/O откроем раскрывающуюся папку интересующего нас устройства. Например, если мы хотим наблюдать за работой счетчика команд, откроем Processor (рисунок 6).

Рисунок 6

Запускаем первую команду программы, для этого нажимаем «Step Into» или нажимаем F11. Желтая стрелка переместится на 1 шаг. В счетчике команд сформируется адрес следующей команды.

2 Практические задания и методические указания по их выполнению

Задание 1. Откройте рабочее окно проекта программы на Ассемблере.

Последовательность выполнения задания:

Рисунок 1

proba

и укажите место его размещения:

D:\Student\AP-61\Ivanov\AVR,

нажмите Next;

AVR Simulator

выберите в списке Device тип микроконтроллера:

ATtiny2313

а) б)

Рисунок 2

  • Открывается рабочее окно программной среды, включающее три области: 1- Workspace, содержит основную информацию о проекте, 2 – основное окно, в котором набирается программа, 3- вспомогательное окно, в котором выводится информация о результатах компиляции (рисунок 4)

2

1

3

Рисунок 4

Задание 2 Наберите исходный текст программы и выполните компиляцию

Последовательность выполнения задания:

add r10,r11

nop

  • Выполните компиляцию, для этого нажмите кнопку Build ;

  • Проанализируйте информацию, представленную в окне 3. Если имеются ошибки, необходимо их исправить и повторить компиляцию. Если ошибок нет, можно приступить к отладке

  • Для запуска отладчика нажимаем клавишу «Run» или нажать F5. В окне Workspace открывается закладка I/O. В программе желтой стрелкой будет отмечено начало (рисунок 5).

  • В окне I/O откроем каталог Register 0-15, и введем исходные данные в регистры r10 и r11. Для этого щелкнем дважды ЛКМ по обозначению r10 и в открывшемся окне введем значение 02, аналогично введите число 03 в регистр r11.

Рисунок 5

Задание 3 Исследуйте три вкладки окна Workspace

Последовательность выполнения задания:

  • на вкладке Build в виде иерархического дерева изображена структура проекта;

  • на вкладке I/O представлены все ресурсы микроконтроллера;

  • на вкладке Info можно найти сведения о векторах прерывания, конфигурации выводов корпуса микросхемы, именах и адресах регистров

Задание 4 Исследуйте структуру проекта в созданном для проекта каталоге

Последовательность выполнения задания:

3 Оформление отчета

В отчете необходимо указать:

3. 1 Название цель работы

3.2 Последовательность компиляции программы

3.3 Выводы

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

4.1 Что такое проект AVR Studio? Какие документы он включает?

4.2 Расскажите о последовательности компиляции программы в AVR –Studio

4.3 Расскажите о последовательности отладки программы в AVR –Studio

4.4 Какие ошибки выявляются в процессе компиляции?

4.5 Назначение файла с расширением .hex

— GreenChip.com.ua

В этом учебном курсе по avr я постарался описать все самое основное для начинающих программировать микроконтроллеры avr. Все примеры построены на микроконтроллере atmega8. Это значит, что для повторения всех уроков вам понадобится всего один МК.
читать дальше >>


В предыдущем уроке мы делали hello worl в эмуляторе Proteus, а в этом уроке мы все сделаем в железе. Для повторения этого урока нам понадобится
читать дальше >>


В предыдущем уроке мы научились мигать светодиодом. Этот урок ненамного сложнее, здесь мы научимся мигать 7 светодиодами. Но не просто семь светодиодов, а семисегментный индикатор.
читать дальше >>


Научившись мигать светодиодом, вам, наверное, захочется подключить к микроконтроллеру что-то более информативное, например Lcd дисплей.Как это сделать? Да всё, как всегда, очень просто. Символьный ЖКИ мы подружим сегодня с нашим старым знакомым ATmega8. Для этого нам потребуется сам Lcd, я использовал знакосинтезирующий ЖКИ 16×2, и микроконтроллер atmega8.

читать дальше >>


В предыдущих уроках я рассказывал, как с мк вывести информацию: подключения семисегментного индикатора и Lcd дисплея . А в этом уроке мы будем вводить информацию при помощи кнопок. Кнопки бывают нескольких видов: фиксирующие и тактовые.
читать дальше >>


Часто бывает потребность замерять напряжения. Для этих целей в микроконтроллере есть АЦП (аналого-цифровой преобразователь). АЦП — это устройство, которое преобразует аналоговый сигнал в его цифровое представление. На вход АЦП подается аналоговый сигнал, а на выходе мы получаем эквивалентный цифровой сигнал.

читать дальше >>

Когда я еще начинал изучать микроконтроллеры, мне захотелось сделать часовой таймер, чтобы управлять нагрузкой переменного тока. Честно признаюсь, я хотел попробовать включать телевизор только с 7 до 8 часов, а все остальное время он должен был быть отключен. Устройство я сделал, но так его и не применил…
читать дальше >>


Наверное вы не раз задавались вопросом как можно регулировать мощность потребителя например управлять яркостью светодиода или регулировать обороты двигателя. Самый простой способ последовательно нагрузке например светодиоду включить резистор, но ведь он будет греться и забирать драгоценную энергию, и чем мощней светодиод тем сильней будет греться наш резистор, такой вариант не для нас. А что если светодиод очень быстро включать и выключать, при этом меняя длительность включений при константной частоте. Например включать светодиод на 0,2 мимисекунди каждую милисекунду, то светодиод засветится но не на полную яркость, аналогично с двигателем, включать движок на 30 секунд каждую минуту, то двигатель раскрутится, но не на полную скорость — относительно большой вес ротора сгладит рывки от включающегося двигателя, а сопротивление от трения не будет его притормаживать. Таким образом увеличив частоту, двигатель будет крутится на половину своей мощности.
читать дальше >>


Для связи микроконтроллера со своим старшим братом — ПК, можно использовать интерфейсы передачи данных, но так как я учебный курс по AVR стараюсь построить на микроконтроллере mega8, то предпочтительней всего для связи с ПК использовать интерфейс USART. Нет, можно, конечно, заюзать и USB, но USART в mega8 реализован аппаратно, это значит что нам не придется вручную реализовывать логику передачи данных, мы просто запишем и отправим данные, а самим процессом отправки уже будет рулить МК аппаратно.
читать дальше >>


Интерфейс SPI широко применяется для обмена данными в микроконтроллерной технике и наверное самый популярный на сегодняшний день из последовательных интерфейсов. Основные характеристики SPI это простота использования, небольшая длина передающих проводов, и высокая скорость передачи данных. В микроконтроллер atmega8 spi реализован аппаратно, именно его мы используем для записи прошивки в мк. Особенность SPI заключается в том что есть одно ведущее (Master) и одно или несколько ведомых (Slave) Рассмотрим пример передачи данных между двумя микроконтроллерами, первый будет ведущий второй ведомый.
читать дальше >>


1  2  >>
Учебное пособие по программированию AVR

, часть 1: Загрузка программ | Специальные темы: Новый текстиль | Медиа-искусства и науки

« Учебник по лазерной резке | Список литературы, лекций и учебных пособий | Программирование AVR, часть 2 »

1. Убедитесь, что вы установили необходимое программное обеспечение.

Мак: CrossPack

Windows: WinAVR

Важное примечание для пользователей Windows: в Windows также необходимо установить драйвер для USB-программатора. Если драйвер не устанавливается автоматически после подключения программатора, попробуйте загрузить последнюю версию драйвера libusb с сайта SourceForge.

К сожалению, Windows 7 не поддерживает программатор USB, который мы будем использовать, поэтому, если у вас есть машина с Windows 7, вам следует использовать компьютер Mac в высокотехнологичной лаборатории для программирования.

Для Windows Vista 64 вам необходимо сначала установить AVR Studio 4. Затем установите WinAVR 20100110. Затем загрузите msys-1.0-vista64.zip (ZIP) и поместите его в каталог winavr/utils/bin. Затем все должно скомпилироваться.

2. Соберите материалы

ATtiny13 на тканевой плате

Программатор AVRISP с самодельной насадкой типа «крокодил»

USB-кабель

3. Скачать код

Загрузите и разархивируйте файл NewTextilesAVR.zip (ZIP), который содержит все необходимые файлы. Поместите папку NewTextilesAVR на рабочий стол.

4. Откройте окно терминала, окно, которое позволяет вам вводить команды для отправки на ваш компьютер

На Mac перейдите в папку Applications→Utilities и откройте Terminal.app.

На компьютере откройте меню «Пуск» и выберите «Выполнить». Затем введите cmd в появившемся текстовом поле.

5. Перейдите к папке кода в папке NewTextilesAVR или «директории»

На Mac введите следующую команду: cd Desktop/NewTextilesAVR/code

Компакт-диск означает «изменить каталог».

6. Подключите программатор и подключите схему к компьютеру

Вот схема расположения контактов микросхемы ATtiny13 — миниатюрного компьютера, который мы будем использовать. Схема взята из таблицы данных ATtiny13 (PDF — 2. 9).МБ).

Схема распиновки

ATiny13. (© Atmel. Все права защищены. Этот контент исключен из нашей лицензии Creative Commons. Для получения дополнительной информации см. http://ocw.mit.edu/fairuse)

Первое, что важно знать, это как сориентировать чип на схеме. Нам нужно знать, какой путь вверх. Если вы внимательно посмотрите на чип, вы увидите маленькую точку в одном углу. Эта точка указывает на верхнюю часть чипа. Когда вы сопоставите свою фишку с диаграммой, точка должна быть в верхнем левом углу фишки, например:

Ориентация устройства ATiny13.

На схеме также показаны различные функции каждой ноги микросхемы ATtiny13. Чтобы запрограммировать чип — сказать ему, что делать, — нам нужно присоединить определенные ножки к нашему программатору.

Прикрепите программатор к схеме, прикрепив помеченные зажимы типа «крокодил» к соответствующим ножкам микросхемы. Обратитесь к приведенной выше схеме и следуйте следам вашей цепи. Нам нужно подключить + (также называемый «VCC» или «питание» и обычно окрашенный в красный цвет), — (также называемый «GND» или «земля» и обычно окрашенный в черный цвет), RESET, MOSI, MISO и SCK.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *