Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

326-2014 ДГЦУиМП

.pdf
Скачиваний:
14
Добавлен:
26.03.2016
Размер:
1.36 Mб
Скачать

ФГБОУ ВПО «Воронежский государственный технический университет»

Кафедра радиотехники

326 - 2014

ПРОГРАММИРОВАНИЕ АУИ МИКРОКОНТРОЛЛЕРОВ ПРИ ВЫПОЛНЕНИИ ОПЕРАЦИЙ С РЕГИСТРАМИ

И ПАМЯТЬЮ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ по выполнению лабораторных работ по курсу «Цифровые

устройства и микропроцессоры» для студентов направления 210400.62 «Радиотехника» (профиль «Радиотехнические средства передачи, приема и обработки сигналов»)

испециальности 210601 «Радиоэлектронные системы

икомплексы» очной формы обучения

Воронеж 2014

Составитель канд. техн. наук Е.Д. Алперин

УДК 621.397.62

Программирование АУЛ микроконтроллеров при выполнении операций с регистрами и памятью: методические указания по выполнению лабораторных работ по курсу «Цифровые устройства и микропроцессоры» для студентов направления 210400.62 «Радиотехника» (профиль «Радиотехнические средства передачи, приема и обработки сигналов») и специальности 210601 «Радиоэлектронные системы и комплексы» очной формы обучения / ФГБОУ НПО «Воронежский государственный технический университет»; сост. Е.Д. Алперин. Воронеж, 2014. 35 с.

В издании изложены требования и рекомендации по выполнению лабораторных работ, их объему и содержанию.

Табл. 2. Библиогр.: 3 назв.

Рецензент канд. техн. наук, доц. М.И. Бочаров

Ответственный за выпуск зав. кафедрой канд. техн. наук, доц. Б. В. Матвеев

Печатается по решению редакционно-издательского совета Воронежского государственного технического университета

©ФГБОУ ВПО «Воронежский государственный технический университет», 2014

Лабораторная работа № 1 Изучение программного пакета AVR STUDIO

В режиме симулятора Avr Studio позволяет программисту наблюдать за логикой выполнения программы, т.е. видеть содержимое регистров, памяти, портов, наблюдать за выполнением команд и т.д.

1. Общие указания

Цель работы: приобретение практических навыков работы с программным пакетом

AVR Studio.

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

Предварительной домашней подготовки не требуется.

2 . Создание проектов в AVR студии.

2.1 Разработка программы

Для программирования AVR микроконтроллеров используется как язык ассемблера, так и языки высокого уровня (в частности, язык Си). Наиболее доступной интегрированной средой программирования на языке ассемблера является программный пакет AVR Studio. Он включает в себя текстовый редактор, транслятор-ассемблер, отладчик-симулятор и программу загрузки Flash-памяти и EEPROM через специальное устройство-программатор. Язык ассемблера состоит из набора команд-инструкций, в которых можно использовать простые операторные выражения, и директив, используемых на этапе трансляцииассемблирования. В режиме симулятора AVR Studio позволяет программисту наблюдать за логикой выполнения программы, т.е. видеть содержимое регистров, памяти, портов, наблюдать за выполнением команд и т.д

Запускаем AVR Studio. После этого появится окно диалога Welcome to AVR Studio 4. В центре диалогового окна

появятся уже созданные проекты и две кнопки, которые предлагают либо создать новый проект NewProject или открыть существующий Open (рис. 1).

$8 Show dialog at startup

..risf?..i (sJsfliiibJ

L.iraiJ (..a*

Рис. 1. Диалоговое окно Welcome to AYR Studio 4

Для удобства открытия уже созданных проектов, в окне, представленном на рис. I. существует область, в которой отображаются проекты, которые ранее создавались в данной программе. Выбрав нужный проект и нажав на кнопку Open его можно открыть.

Для создания нового проекта, необходимо нажать на вкладку New Project. После этого появится окно создания нового проекта, представленное на рис. 2. Предварительно необходимо создать папку куда будут помещены все ваши программы.

2

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

( В области Project type необходимо выбрать тип проекта и отметить его мышкой. В зависимости от типа проекта, определяется, на каком языке программирования будет писаться программа для микроконтроллера. В данном методическом указании рассматривается программирование микроконтроллеров на языке Assembler.

В поле Project name вводится имя проекта. По умолчанию этим именем называется файл инициации проекта. При определении имени проекта, допускается только использование английского алфавита. Так же в пути, указывающем местоположение папки с проектом не должно быть названий на русском языке, в строке Location необходимо указать путь к будущему проекту (путь не должен быть слишком длинным, содержать пробелов и иметь русских символов) , при этом можно воспользоваться кнопкой справа в этой строке. Также необходимо отметить галочкой Create folder (тогда проект будет создан в отдельной папке).

Нажимаем «Next» и перед нами откроется окно выбора устройства, которое представлено на рис. 3. В области Debug platform необходимо выбрать группу AYR Simulator.

3

Затем в области Device нужно выбрать нужную модель микроконтроллер и нажать Finish.

Далее появится рабочее окно программы, представленное на рис. 4. Средняя область рабочего окна служит для набора программы на ассемблере. Область справа служит для просмотра работы регистров в режиме отладки. В нижней области отображаются ошибки в тексте программы.

Рис. 3. Окно выбора устройства

4

JMM

Д»«ф^^#и>ч?*/<п

л

 

 

~

______

 

__ · ·

\

· " · ·

 

..... "

"··:·'·................

«ataw *■#>*&.<>» ~<V .

' M

i » * « »

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

Теперь можно ввести свою программу в формате ассемблера в средней области рабочего окна (рис. 4), воспользовавшись обычными приемами редактирования.

2.2. Компиляция исходного кода программы

Следующий шаг заключается в создании машинного кода из исходного текста программы. Для выполнения этой процедуры следует открыть пункт Build главного меню в верхней части программы AVR Studio и нажать кнопку Build или на клавиатуре клавишу {F7}. Данная операция называется компиляцией и преобразует текст программы в последовательность чисел, которая может быть помещена во FLASH - память программ микроконтроллера. Эта последовательность чисел имеет расширение .hex. Если текст программы не содержит ошибок, то в нижней области появится сообщение о выполненном ассемблировании, а файл с расширением .hex будет сохранён в папку проекта. Если же в тексте всё же будут ошибки, то в нижней области рабочего окна будут сообщения с указанием рода ошибки и номером

строки, в которой допущена ошибка, выделенное красной

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

2.3. Отладка кода программы

Если файл с программным кодом подготовлен, то его можно запустить в режиме симулятора, выбрав в меню Build

кнопку run K i . О переходе в этот режим свидетельствует выделение первой строки кода в окне редактирования программы (см. рис. 4). Желтая стрелка слева указывает на инструкцию, которая будет выполняться на следующем шаге в соответствии с содержимым счетчика команд

*Л,· ' 1^ V ,

Рис. 5. Указатель положения счетчика команд в окне с кодом программы.

Процесс отладки заключается в отслеживании и управлении хода выполнения программы с помощью окна редактирования и специальных окон, показывающих состояния рабочих регистров(Ке§181ег8), регистров ввода/вывода (1/0), окна наблюдения за переменными^а^Ь),регистров

6

процессора и содержимого памяти. Эти окна могут быть выведены на экран из

соответствующего пункта главного меню "View".

В окне Register отражается состояние всех регистров микроконтроллера. В окне Memory отображается содержимое памяти программ, данных, портов ввода/вывода и энергонезависимого ПЗУ. Любое изменение состояния ячеек или регистров приводит к изменению шрифта на красный

2.4. Пошаговое выполнение программы

Имеются две, команды, управляющие пошаговым выполнением программы: "Step Over" {F10} и "Trace Into" {Fll}.Различие между этими командами состоит в том, что активизация {F10} позволяет не отслеживать ход выполнения программы внутри подпрограмм .Если в программе нет подпрограмм тогда и нет различия при выборе одной из этих клавиш. Для единовременного выполнения программы следует нажать сочетании клавиш Ctrl +F10.

2.5 Назначение точек остановки

Точки остановки позволяют остановить ход выполнения программы. Указывая точки остановки в ассемблерном коде программы, вы имеете возможность остановить ее выполнение в соответствующем месте требуется мышкой установить в программе курсор на нужную команду и нажать на кнопку {F9}, красный квадрат, появившийся в полях слева от кода отмечает установленное вами место остановки. После нажатия клавиши F5 программа начнет выполняться и остановится перед выполнением отмеченной вами команды. Чтобы убрать точку останова необходимо еще раз нажать на клавишу F5.

7

2.6. Изменение программного кода

Для изменения кода команды нужно поместить курсор в нужное место программы и внести необходимые изменения. Если теперь нажать {F5}(Go), то появится диалоговое окно, которое указывает, что один из исходных файлов проекта был изменен, и требуется новая компиляция и перекомпоновка проекта. Выберите кнопку "Yes". Проект будет снова скомпонован и программный счетчик установится напротив первой строки кода. При этом положение точки остановки программы сохраняется.

2.7. Определение состояния процессора

Его можно определить в окне "View"- "Processor". Это окно отображает состояние регистра флагов "Flag" и текущие значения различных счетчиков. Дополнительно в нем можно наблюдать состояние счетчика циклов (Cycle Counter) и сторожевого TaftMepa(StopWatch). Этим окном удобно пользоваться, если требуется определить длительность выполнения цикла или время выполнения подпрограммы. Аналогично можно по ходу выполнения программы просматривать содержимое регистров, памяти данных и других элементов микроконтроллера.

2.8. Сохранение проекта

Перед окончанием работы AVR Studio предложит сохранить ваш проект. AVR Studio запомнит все открытые вами окна и их настройки и воспроизведет их при следующем открытии проекта.Сохранение проекта осуществляется выбором пункта "Save” в меню "Project.

8

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