Карта адресуемых бит в памяти данных. Программирование процедур управления с помощью CodeWizardAVR. брос и исходная идентификация микроконтроллера, страница 2

После выбора этой команды появится окно 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, а затем по кнопке ОК.