После выбора этой команды появится окно Save C Compiler Source File (сохранить исходный файл компилятора Си), в котором нужно будет выбрать папку для сохранения проекта. С этой целью выберите папку AVR и раскройте ее. Затем щелкните в окне правой кнопкой мыши, из выпадающего списка выберите пункт меню Создать > Папку и щелкните левой кнопкой. Вместо текста «Новая папка» введите имя Led_sb (Светодиод_кнопка) папки, где будут храниться все файлы разрабатываемого проекта. Далее щелкните два раза левой кнопкой мыши, чтобы раскрыть новую папку Led_sb.
В поле Имя файла введите имя исходного файла с расширением .c, например, led_sb.c и щелкните по кнопке Сохранить.
Затем на экране появится окно Save C Compiler Project File (Сохранить файл проекта компилятора Си). В поле Имя файла введите имя файла проекта с расширением .prj (led_sb.prj) и щелкните по кнопке Сохранить.
И, наконец, на экране появится окно Save untitled.cwp As (Сохранить … Как). В поле Имя файла введите имя файла проекта CodeWizardAVR с расширением .cwp (led_sb.cwp) и щелкните по кнопке Сохранить.
После этого CodeWizardAVR откроет окно исходного файла со сгенерированным кодом.
3.1.5. Просмотрите весь текст кода в окне. Анализ текста показывает, что CodeWizardAVR сгенерировал своеобразную заготовку программы, в которой выполнено подключение заголовочного файла выбранного микроконтроллера, а периферийные устройства используемого микроконтроллера сконфигурированы в соответствии с настройками пользователя на соответствующих закладках в окне CodeWizardAVR.
CodeWizardAVR обильно снабжает сгенерированный код соответствующими комментариями, подробно описывая, как сконфигурировано то или иное периферийное устройство. Кроме того, CodeWizardAVR подсказывает разработчику, где следует поместить объявление глобальных и локальных переменных, код, который должен выполняться программой обработки прерывания, код основной программы и т. д.
В рассматриваемом примере МКУ требуется, чтобы при разомкнутом контакте кнопки SB1 диод VD1 не горел, а при замкнутом – горел. Диод будет гореть, если на 1-м выводе порта D будет низкий уровень (логический 0). Если на этом выводе будет высокий уровень (логическая 1), то диод не горит. При разомкнутом контакте кнопки SB1 на 1-м входе порта В будет высокий уровень (логическая 1), а при замкнутом – низкий уровень (логический 0). Поэтому можно для вывода в 1-й разряд порта D использовать сигнал на 1-м входе порта В, и записать это на языке Си следующим образом:
PORTD.1 = PINB.1;
Эту строку необходимо вставить в бесконечный цикл while(1), расположенный в конце программы, в то место, куда CodeWizardAVR указывает с помощью строки комментария “// Place your code here “ (Поместите свой код сюда).
3.1.6. Наберите в окне редактора строку требуемого кода в цикле while(1):
………………………….
while(1)
{
// Place your code here
PORTD.1 = PINB.1;
}
…………………………..
Теперь необходимо выполнить построение проекта. С этой целью выполните команду меню Project > Build All (Проект > Построить все). Убедитесь, что появившееся после компиляции окно Information (Информация) сообщает об отсутствии ошибок и предупреждений, и щелкните по кнопке ОК. Если сообщения об ошибках присутствуют, то ошибки следует устранить и перекомпилировать проект заново.
Итак, проект готов. Теперь его необходимо проверить и отладить. Это можно сделать с помощью отладчика-симулятора AVR Studio по методике, изложенной в лабораторной работе № 1. Однако более наглядно выполнить проверку работы программы можно с помощью среды моделирования электронных устройств Proteus VSM.
3.1.7. Сверните окно CodeWizardAVRи запустите программу ISIS.exe пакета Proteus VSM с помощью ярлычка с надписью ISIS на рабочем столе компьютера.
Создайте новый проект, используя пункт меню File > New Design. В открывшемся диалоговом окне щелкните по варианту DEFAULT, а затем по кнопке ОК.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.