
- •Введение
- •1. Микроконтроллеры at90s4434/8535 семейства avr
- •1.1. Структура микроконтроллеров avr
- •1.2. Представление данных в языке ассемблера
- •1.2.1. Двоичная система счисления
- •1.2.2. Биты, байты и слова
- •1.2.3. Шестнадцатеричная система счисления
- •1.3. Адресное пространство микроконтроллеров avr
- •2. Лабораторный комплекс
- •2.1. Назначение и состав комплекса
- •2.2. Блок управления
- •3. Директивы ассемблера
- •3.1. Директивы организации сегментов
- •3.2. Директивы счетчика текущего адреса
- •3.3. Директивы определения данных
- •3.4. Директивы присваивания
- •3.5. Директивы задания набора допустимых команд
- •3.6. Директивы управления файлами
- •3.7. Директивы управления листингом
- •4. Система команд микроконтроллеров семейства avr
- •4.1. Команды пересылки данных
- •4.2. Арифметические команды
- •4.3. Логические команды
- •4.4. Команды перехода
- •5. Программа на ассемблере
- •5.1. Структура программы
- •5.2. Алгоритм решения задачи и структура данных
- •5.3. Пример алгоритма программы
- •5.4. Пример текста программы
- •6. Набор и отладка программ
- •6.1. Набор программы
- •6.2. Отладка программы
- •6.3. Запись программы в микроконтроллер
- •7. Меры безопасности при эксплуатации комплекса
- •8. Общие методические указания к лабораторным работам
- •Порядок выполнения лабораторных работ:
- •Содержание отчета по лабораторной работе:
- •9. Лабораторная работа № 1. Изучение системы команд микроконтроллера и директив ассемблера
- •9.2. Пояснения к работе
- •9.3. Варианты индивидуальных заданий
- •10. Лабораторная работа № 2. Система параллельного ввода/вывода
- •10.1. Цель работы
- •10.2. Пояснения к работе
- •Для вызова подпрограммы используется команда rcall pprmet, где pprmet – это метка и название подпрограммы.
- •10.3. Варианты индивидуальных заданий
- •11. Лабораторная работа № 3. Динамическая индикация
- •11.1. Цель работы Освоить организацию динамической индикации, используемой в программах. Экспериментально определить влияние длительности задержек на качество индикации.
- •11.2. Пояснения к работе
- •Работа продолжает изучение 8-разрядных двунаправленных портов программируемого микроконтроллера ат90s8535 для ввода и вывода дискретной информации, при этом используется динамическая индикация.
- •Если нет необходимости в длительной задержке, количество ступеней в подпрограмме можно уменьшить.
- •11.3. Варианты индивидуальных заданий
- •12. Лабораторная работа № 4. Система внешних прерываний микроконтроллера
- •12.1. Цель работы
- •12.2. Пояснения к работе
- •12.3. Варианты индивидуальных заданий
- •13. Лабораторная работа № 5. Программирование таймеров/счетчиков
- •13.1. Цель работы
- •13.2. Пояснения к работе
- •13.3.1. Работа в режиме счетчика
- •13.3.2. Работа в режиме таймера
- •13.3.3. Работа в режиме широтно-импульсного модулятора
- •13.3. Варианты индивидуальных заданий
- •Библиографический список
- •Алгоритм
- •Текст программы
- •Выводы по работе:
- •Содержание
- •Ломакин Игорь Владимирович
6. Набор и отладка программ
6.1. Набор программы
Для ввода программы используется программа AvrStudio.
Для запуска программы запустите файл AvrStudio.exe. Появится основное диалоговое окно программы.
В верхней части программы находится меню, в нем надо выбрать Project–>New.
В появившемся окне выберите имя проекта (Project name),
место на диске, куда сохранять проект (Location),
а
также тип проекта(Project
type),
щелкнув мышью на AVR
assembler,
затем щелкнув на кнопке OK.
Появится окно проектов (Project :), в котором находится дерево файлов. В него входят файлы, которые будут компилироваться, с расширением .asm (Assembler Files), а также дополнительные файлы библиотек (Other Files).
На ветви Assembler Files необходимо щелкнуть правой кнопкой мыши появится меню, в нем необходимо выбрать пункт Create New File.
В появившемся окне выбрать имя файла (Name), обязательно с расширением .asm и нажать кнопку OK.
В открывшемся окне проектов имя файла появится в дереве файлов отдельной ветвью. Его нужно перетащить, удерживая на нем правую кнопку мыши на ветвь Assembler Files. После этого, щелкнув правой клавишей мыши снова вызвать меню и выбрать пункт Параметры проекта (Project Settings). В появившемся окне AVR Assembler Options в пункте формат выходного файла (Output file format:) выбрать Intel Intellec 8/ MDS (Intel Hex), нажать OK.
Затем снова вернуться в окно проектов и, щелкнув правой кнопкой мыши на ветви другие файлы (Other Files) вызвать меню и выбрать пункт добавить файл (Add File), найти файл 8535def.inc и подключить его к проекту.
Необходимо отметить, что этот файл должен находиться в той же папке, что и asm файл, который создается, поэтому его лучше скопировать заранее из папки Programm files\ Atmel \ AVR Studio \ Appnotes., иначе это вызовет ошибку компиляции. Если все сделано правильно, то окно проектов должно выглядеть следующим образом:
Т
еперь
щелкаем два раза на asm файле и в открывшемся
окне набираем программу.
После того как программа набрана, нажимаем F7 и производим её компиляцию, при этом создается файл с расширением hex, который затем надо будет записать в микроконтроллер.
После компиляции появится окно Project Output, в котором указано, какой файл ассемблируется, используемый файл библиотеки, количество слов в программе и сообщение об отсутствии ошибок Assembly complete with no errors. Если есть ошибки, то в этом окне указывается тип ошибки, номер строки с ошибкой и в конце – общее число ошибок. Для их исправления необходимо вернуться к редактируемому файлу и их исправить, а затем снова откомпилировать программу.
AvrStudio позволяет не только компилировать программы, но и отлаживать их на этапе разработки. При этом AvrStudio эмулирует работу микроконтроллера, всех портов ввода/вывода, счетчиков/таймеров, прерываний, ШИМ и АЦП. Эмуляция работы программы позволяет рассмотреть её работу, как если бы она была записана в микроконтроллер.
Необходимо отметить, что можно эмулировать работу только программ, не содержащих ошибок. Поэтому перед эмуляцией AvrStudio произведет компиляцию программы и если есть ошибки то эмулировать (отладить) программу не удастся.