СРЕДА CODEVISION AVR

February 24, 2011 by admin Комментировать »

Программа CodeVision AVR фирмы HP InfoTech – это интегрированная среда разработки, содержащая компилятор языка Си, графическую оболочку, автоматический генератор программ и встроенный программатор, ориентированные на работу с семейством микроконтроллеров AVR.

Наряду со стандартными библиотеками языка Си и системой справок по языку компилятор имеет библиотеки для работы с периферийными устройствами (ЖКИ-индикаторами с встроенными контроллерами, датчиками температуры, часами реального времени, энергонезависимой памятью EEPROM, шиной SPI и др.). Также имеется автоматический генератор программ для инициализации внутренних и периферийных ресурсов микроконтроллера – портов, таймеров, UART, SPI и др. Для отладки систем, использующих последовательную передачу данных, имеется встроенный в компилятор буфер Terminal. Генерируемый при компиляции объектный файл .cof позволяет осуществлять с помощью отладчика AVR Studio 4 отладку программы непосредственно в коде Си.

Рис. 8.1. Окно программы Code Vision AVR

Внешний вид окна программы CodeVision AVR показан на рис. 8.1.

Создание проекта

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

Схема устройства приведена на рис. 8.2. В ней предусмотрены две кнопки. 1^опкой SWO задают число миганий, кнопкой SW2 запускают процесс мигания светодиода. Для подсчета числа нажатий на кнопку SWO необходим счетчик, в качестве которого используем таймер ТО в режиме подсчета внешних событий. Для

Рис. 8.2. Схема устройства

индикации используем два светодиода: LED6 – индикатор готовности схемы и LED7 – мигания. Таким образом, микроконтроллер должен иметь возможность обработки внешнего прерывания от кнопки SW2, таймер с входом внешних событий от кнопки SWO и две линии порта для управления светодиодами. Выберем микроконтроллер AT90S8515, рабочую частоту 1 МГц. Кнопки считаем идеальными без эффекта дребезга контакта. Подтягивающие резисторы на входах PD2, РВО подключаем при программировании режима работы портов.

Работа над проектом в CodeVision AVR начинается с выбора команды меню File;New. В диалоговом окне выбираем Project и нажимаем ОК, Дальнейшие действия зависят от выбора No или Yes в появившемся окне. Если не используем автоматический генератор программ, выберем No, затем выполним действия п. 1, в противном случае – действия п. 2.

1. В окне Create New Project задаем имя проекта. После сохранения появляется окно Configure Project (рис. 8.3), в котором на вкладке Files можно добавить {Add) существующие файлы в проект или удалить их {Remove) из него. При отсутствии файла с текстом программы создаем пустой файл, выполняя команды File;New;Source. После ввода текста программы сохраняем его. Затем переносим файл в папку проекта, выполнив команду Add в окне Configure Project. На вкладке С Compiler указываем тип микроконтроллера {Chip), частоту его работы {Clock), размер доступной памяти {SRAM), а также параметры компиляции: способ оптимизации кода – по размеру {Size) или скорости {Speed), соглашения по компиляции и форматы выходных файлов {File Output Format), использование терминала ввода;вывода.

Рис. 8.3. Окно компилятора Си

Для проекта устанавливаем: тип МК – АТ908515, рабочую частоту – 1 МГц, способ оптимизации – по размеру кода, формат выходного файла – COFF, после чего нажимаем ОК.

2. В окне CodeWizardAVR на соответствующих вкладках задаем имя проекта, параметры внутренних ресурсов микроконтроллера (его тип, рабочую частоту, параметры порта ввода;вывода, внешнее прерывание по низкому уровню, переключение таймера;счетчика по перепаду из 1 в О на входе ТО). Выбираем команду меню File;Generate, Save and Exit. Три раза указываем в окнах Save.,, имя проекта. В итоге открывается файл-заготовка со строками инициализации требуемых ресурсов.

Для задания параметров проекта в целом необходимо выбрать команду меню Project;Configure. Дальнейшие действия выполняем, как указано в п. 1.

Работу устройства определяет программа, текст которой представлен ниже.

Программа 8.1

Программа 8.1 с помощью таймера подсчитывает число нажатий на кнопку SWO. Затем после нажатия на кнопку SW2 переключает светодиод LED7 по значению таймера. В режиме ожидания включен светодиод LED6. V

#include <90s8515.h>

;;#include <mega8515.h> для микроконтроллера ATmega8515 #include <delay.h> ;; файл с процедурами задержки #define LED7 P0RTB.7 #define LED6 PORTE.6

;; Процедура обработки внешнего прерывания interrupt [EXT_INTO] void ext_intO_isr(void) { char timer;      ;; локальная переменная

timer = TCNTO; if (timer != 0) {TCNTO =0;      ;; сброс таймера;счетчика

LED6 =1;          ;; выключаем светодиод LED6

do {

LED7 = 0;

delay_ms(500); ;; задержка 500 мс LED7 = 1; delay_ms(500);

} while (–timer != 0); LED6 =0;    ;; включаем светодиод LED6

}

}

void main(void) {

;; инициализация портов

DDRB=OxCO;           ;; PB7, PB6 для LED7,LED6

PORTB=Ox81;          ;; PBO(SWO) – ввод событий

DDRD=OxFB;           ;; PD2(SW2)

PORTD=OxFF; ;; инициализация таймера О TCCR0=0x06; TCNTO=OxOO;

;; инициализация прерывания INTO в GIMSK (или GICR) GIMSK=0x40;

MCUCR=0x2 0;        ;; разрешение перехода в режим Idle

#asm("sei");            ;; глобальное разрешение прерываний for (;;) {

#asm("sleep");     ;; переход в режим Idle

#asm("nop"); }

}

Компиляция

Для компиляции программы необходимо выбрать команду меню Project ;Compile (F9). Результаты компиляции выводятся в окно Information, а в окне Navigator в дереве проекта появляются синие ветви. Щелкая по значкам, можно перемещаться по заголовкам процедур и именам глобальных переменных, что удобно при работе с большим проектом.

Ветвь дерева с ошибками (Errors) выделена красным цветом. Список ошибок также выводится в окне Messages внизу экрана. Чтобы исправить ошибку, нужно щелкнуть по листу дерева. Соответствующая строка программы выделится серым цветом, а рядом с ней появится курсор для ввода.

После компиляции будут созданы файлы с расширениями: .asm (файл Ассемблера), .тар (адреса ОЗУ расположения глобальных переменных), .vec (список векторов прерываний), .inc (файл определений).

В случае успешной компиляции выводится сообщение об отсутствии ошибок. В окне Navigator ветвь сообщений об ошибках пропадает, а список файлов пополняется файлом filename _.с – копией исходного файла на языке Си.

Для окончательной сборки проекта и получения файлов для отладки и программирования МК нужно выбрать в меню команду Project;Make (Shift + F9). Появится окно Information, в котором сообщается о создании дополнительных файлов с расширениями .гош (программирование Flash-памяти МК – программа в формате «адрес : слово»), .еер (программирование EEPROM), .1st (листинг программы), .err (аналог содержимого окна Information), .obj (объектный файл) и .cof (символьный файл для отладки в среде AVR Studio).

Работа с Code Vision AVR на этом заканчивается, по крайней мере до момента, когда нужно будет исправить ошибки, найденные при отладке.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты