Основные компоненты IDE CodeVisionAVR

Описание лабораторного стенда и инструментальных средств

Разработки прикладных программ

Описание лабораторного стенда

Лабораторный стенд представляет собой аппаратно-программный комплекс с совокупностью объектов управления, датчиков и средств индикации, управляемых микроконтроллером (МК) ATmega128A. На рис. 1.1 приведена схема передней панели лабораторного стенда.

Основные компоненты IDE CodeVisionAVR - student2.ru
Рис. 1.1. Лабораторный стенд

В состав лабораторного стенда включены следующие компоненты:

· шаговый двигатель с силовым драйвером на базе микросхемы транзисторных ключей ULN2003A;

· двигатель постоянного тока с силовым широтно-имульсным преобразователем на микросхеме L298N;

· пятиразрядный цифровой дисплей на семисегментных индикаторах со схемой управления;

· светодиодная шкала из 16 светодиодов, разделенная на две автономные части по 8 светодиодов в каждой;

· динамический громкоговоритель, предназначенный для формирования звуковых сигналов;

· светодиодная матрица 16х16 точек, состоящая из четырех квадратных матриц размера 8х8;

· мини манипулятор «серворука», состоящая из двух суставов с сервомашиной в каждом суставе;

· слот для SD карты памяти;

· тумблеры конфигурации стенда;

· графический монохромный жидкокристаллический индикатор размером 128х64 точки WG12864A;

· ультразвуковой дальномер;

· многоцветный светодиод RGB (Red, Blue, Green) для формирования световых сигналов разного цвета;

· ползунковый потенциометр, используемый в качестве датчика;

· инкрементный энкодер, используемый в качестве датчика угла поворота вала;

· символьный монохромный жидкокристаллический индикатор размером 2 строки по 16 символов точки WH1602C;

· магнитный подвес с катушкой, формирующей силовое магнитное поле;

· датчик Холла магнитного подвеса

· тензометрический датчик для измерения момента;

· цифровой температурный датчик DS1631S в связке с мощным резистором, используемым для изменения температуры;

· мембранная клавиатура 4х3 клавиши.

Большая часть перечисленных компонентов стенда используются в описываемых ниже лабораторных работах в качестве подключенных к МК ATmega128A объектов управления, датчиков и средств индикации.

Введение в интегрированную среду разработки CodeVisionAVR

Общие сведения

IDE CodeVisionAVR – интегрированная среда разработки (IDE – Integrated Development Environment) прикладного программного обеспечения для широкой номенклатуры 8-разрядных МК семейства AVR фирмы Atmel.

Процедура разработки кода прикладной программы для микропроцессорных систем в IDE CodeVisionAVR состоит из нескольких этапов.

На первом этапе разработки производится запись исходного текста программы на ассемблере или языке C. Эта операция осуществляется с помощью редактора текста – входящей в состав интегрированной среды системной программы, предназначенной для создания и модификации текста исходных программ и его записи в файл на внешнем носителе.

Любой МК в процессе работы воспринимает лишь двоичные коды своего машинного языка, поэтому для преобразования записанной программы в машинный код необходимы дополнительные средства. Трансляция (перевод) программы с языка C в машинные коды МК производится с помощью транслятора – программного модуля, который переводит (транслирует) исходный текст программы на языке программирования в машинные коды. В процессе работы транслятор не только переводит команды языка в машинные инструкции, но и обнаруживает синтаксические ошибки в исходной программе с указанием места их расположения.

На следующем этапе – компоновке, объединяются (компонуются) несколько автономно оттранслированных объектных модулей в единый, пригодный для загрузки в МК абсолютный модуль. Необходимость выполнения этой функции объясняется наличием в объектных модулях ссылок на другие, в том числе и стандартные библиотечные объектные модули. Кроме того, по информации, помещаемой транслятором в объектный модуль, компоновщик перемещает адреса этого модуля в соответствии с фактическим расположением программы в памяти программ МК. В процессе своей работы компоновщик отслеживает ошибки построения объектного модуля и выдает информацию о характере этих ошибок.

Принципы модульного программирования предоставляют пользователю большие удобства при разработке программ. Часто применяемые подпрограммы могут транслироваться отдельно и храниться в виде объектных модулей, компонуемых по мере необходимости с разрабатываемой программой. Эти процедуры еще более упрощаются при объединении подпрограмм в библиотеки объектных модулей с помощью библиотекаря – системной программы, предназначенной для создания библиотек и их пополнения.

IDE CodeVisionAVR объединяет все описанные выше этапы разработки прикладной программы в единый рекурсивный процесс, в котором в любое время возможен быстрый возврат к любому предыдущему этапу для исправления ошибок или изменении алгоритма.

Основные компоненты IDE CodeVisionAVR

Менеджер проектов. Программный проект в IDE CodeVisionAVR состоит из большого числа связанных друг с другом исходных файлов, которые часто требуют индивидуальной обработки. Включенный в состав IDE CodeVisionAVR менеджер проектов дает разработчику возможность создания проекта из исходных файлов с заданием различных опций разработки.

Редактор текста. Интегрированный в IDE CodeVisionAVR редактор значительно облегчает подготовку исходного текста за счет использования нескольких окон, выделения синтаксических элементов программы цветом и возможности исправления ошибок в режиме диалога. Редактор настраивается на конкретный проект в соответствии с предпочтениями пользователя.

Оптимизирующий транслятор. Язык C – универсальный, широко распространенный язык программирования, который обладает богатым набором операторов и позволяет осуществлять разработку программ с применением принципов структурного программирования. Это делает его эффективным средством не только для решения вычислительных задач, но и для реализации задач управления.

В IDE CodeVisionAVR используется язык программирования С, который является расширением стандарта ANSI C и предназначен для написания программ для МК семейства AVR. С этой целью в язык программирования включен ряд дополнений, отображающих особенности построения этого семейства МК. Транслятор с языка программирования предназначен для получения быстрых и компактных кодов для МК семейства AVR и сочетает гибкость программирования на языке высокого уровня с эффективностью и скоростью работы программ, написанных на ассемблере.

Компоновщик. Компоновщик создает абсолютный модуль, компонуя его из полученных в результате трансляции объектных модулей и модулей, извлекаемых из стандартных или пользовательских объектных библиотек. Он автоматически выбирает соответствующие библиотеки поддержки и связывает только требуемые модули из библиотек. Компоновщик размещает внешние и общие ссылки, назначает абсолютные адреса перемещаемым сегментам программы. Полученный в результате компоновки абсолютный модуль привязан к физическим адресам МК и предназначен для загрузки в его память программ при программировании.

Библиотекарь. Это системное программное средство предназначено для создания библиотек объектных модулей, создаваемых транслятором. Библиотека – это упорядоченный набор объектных модулей, который используется компоновщиком в процессе компоновки. При этом компоновщик включает в создаваемый абсолютный модуль только те компоненты из библиотеки, на которые имеются ссылки в исходной программе.

База данных устройств. База данных содержит детальную информацию обо всех МК, поддерживаемых инструментальными средствами среды CodeVisionAVR. При выборе типа МК из базы данных все требуемые опции и настройки в созданном под управлением CodeVisionAVR проекте устанавливаются автоматически.

Программатор.Среда разработки CodeVisionAVR имеет встроенный виртуальный программатор. Это программное приложение, позволяющее пользователю управлять передачей информации на каналы физического программатора (в данном случае AVR STK500).

Наши рекомендации