Микроконтроллеры AVR - с чего начать | Контроллер | Управление программатором | Программирование | Ссылки |
ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ AVRAVR Studio Итак, у Вас должны быть файлы astudio3.exe и io_def.zip (о том, как их
раздобыть читайте на странице ссылок). Скопируйте файл astudio3.exe в
отдельную директорию (назовем ее c:\0avr), затем запустите его. В директорию распакуются файлы,
необходимые для установки AVR Studio 3.0 . Запустите файл Setup.exe для установки AVR Studio. По
умолчанию программа устанавливается так, что запустить ее можно, выбрав ПУСК
- ПРОГРАММЫ - Atmel AVR Tools - AVR Studio 3.00 [-»].
Теперь надо очистить директорию с разархивироанными файлами для AVR Studio и разархивировать туда
файл io_def.zip .
При разархивировании файла io_def.zip появляется директория AVR Asm, содержащая файлы
с расширением .inc . Имя файла .inc соответствует типу микроконтроллера AVR. Так файл 8515def.inc
хранит константы и предопределенные имена для микроконтроллера AT90S8515.
Если вы создаете программу для микроконтроллера AT90S4414, то в нее необходимо включить файл
4414def.inc .
Пробел в имени директории AVR Asm - вещь нехорошая, поэтому лучше переименовать ее,
например, в AVRAsm.
Создание первой программы в AVR Studio Запустите программу AVR Studio.
Выберите меню Project | New для создания нового проекта.
В окне Project name введите очень остроумное - иначе не заработает - имя новой программы,
например, first, щелкните левой кнопкой мышки на строке AVR Assembler, затем на кнопке
OK. В оставшемся окне щелкните правой кнопкой мышки на строке Assembler Files, в
появившемся меню щелкните левой кнопкой мышки на строке Add File... Так как еще ни одного
файла в проекте нет, создадим его в появившемся окне Открытие файла. В этом окне перейдем
в нашу директорию c:\0avr\ и создадим в ней пустой текстовый файл (щелкнуть правой клавишей мышки
на окне, в появившемся меню выбрать строку Создать, в новом окне щелкнуть левой кнопкой на
строке Текстовый файл. Образовавшийся текстовый файл переименовать, например, в a.asm,
обязательно дав ему расширение .asm). Теперь надо выбрать и открыть файл *.asm,
тогда он появится в окне под строкой Assembler Files c белым значком, который
присваивается основному файлу - именно этот файл будет компилироваться.
Когда накопится несколько файлов программ, вы сможете добавлять их в это окно для удобства
оперирования ими - можно будет просматривать уже отлаженные фрагменты, копировать их в новую
программу. Этим файлам присваиваются серые значки; файлы с таким значком не отлаживаются. Для
отладки требуется просто вызвать проект, в котором такой файл был главным.
Откройте созданный файл, быстро щелкнув дважды левой кнопкой мышки на имени файла a.asm.
В появившемся окне можно набирать программу.
Следующую программу можно скопировать вместе со всеми комментариями (в программе они
начинаются точкой с запятой) и вставить в пустое открытое окно файла a.asm:
.include "c:\0avr\8515def.inc" Внимание! После копирования из Netscape в окне программ в начале
каждой строки появилось по два пробела, которые надо удалить хотя бы перед директивами .def, иначе
просмотр состояния переменных при отладке невозможен (странная особенность AVR Studio).
Правильно скопированную программу можно скомпилировать, нажав клавишу F7. При
обнаружении ошибок сообщается номер строки программы, содержащей ошибку. Считать строки не надо:
позиция курсора в окне программы указывается в правом нижнем углу окна AVR Studio.
При завершении компиляции без ошибок можно приступить к отладке программы. Для начала
посмотрите меню Debug. Для отладки нам достаточно пользоваться клавишей F11 (Trace into).
Приступим, помолясь. Нажав F11 два раза, остановимся на команде ldi rgn,$18 .
Просмотрим все, что в этой программе может изменяться. Выберем меню View | Watch
(горячие клавиши Alt+1, обратите внимание на остальные горячие клавиши этого окна),
на открывшемся окне щелкнем правой кнопкой мышки и выберем Add watch, в открывшуюся строку впишем
имя первой переменной rgn, аналогично введем переменные st7, dly1, dly2, dly3. Если
переменным соответствуют величины в десятичном формате - переведите их в шестнадцатеричный, еще
раз щелкнув по окну правой кнопкой мышки и поставив галочку на строке Hex display левой
кнопкой мышки. Уменьшите окно обычным для Windows способом, достаточно видеть непустые строки и
колонки Watch, Value, Address, колонку Type можно убрать, потянув влево до отказа
вертикальную линию, разделяющую слова Type | Address. Так же можно сузить колонки.
Так подробно я останавливаюсь на уменьшении окна из-за того, что при отладке удобно просматривать
сразу несколько окон, при этом места обычно не хватает.
Так же из меню View вызовем окна Registers, Processor, New Memory View,
New IO View. Нажимая клавишу F11, просто следите за изменениями в окнах.
В окне Memory | Data изменения будут при входе в подпрограмму по адресу 259H
(это адрес вершины стека, определенный нами как RAMEND - последний адрес внутреннего ОЗУ, равный
259H для AT90S8515); после входа в подпрограмму задержки в окне Processor можно
наблюдать изменение реального времени по мере нажатия клавиши F11; если перевести курсор
на последнюю команду подпрограммы, нажать левую кнопку мышки, а затем нажать Alt+F10, то
через некоторое время (до нескольких минут - в зависимости от быстродействия компьютера) Вы
увидите, сколько времени ушло на всю подпрограмму задержки (489,8 мс).
В окне IO откройте Port B и установите в Input Pins бит 7.
Программа будет переключать светодиоды (биты 0 и 1 в Input Pins) до тех пор, пока не обнаружит,
что бит 7 сброшен (для сброса убрать галочку с бита 7), что будет соответствовать включению
тумблера и соединению линии 7 порта B с 0V.
Поздравляю Вас! Вы отладили "свою" первую программу.
Файл a.hex можно загрузить в микроконтроллер AT90S8515 с помощью программатора и
проверить работу программы, не забыв убрать команду rjmp dend и перекомпилировав после этого
программу.
А дальше все в ваших руках!
|