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

Затем на экране появится окно Save C Compiler Project File (Сохранить файл проекта компилятора Си). В поле Имя файла введите имя файла проекта с расширением  .prj  (int0.prj) и щелкните по кнопке Сохранить.

И, наконец, на экране появится окно Save  untitled.cwp As (Сохранить … Как). В поле Имя файла введите имя файла проекта CodeWizardAVR с расширением  .cwp  (int0.cwp) и щелкните по кнопке Сохранить.

После этого CodeWizardAVR откроет окно исходного файла со сгенерированным кодом.

Задание для самостоятельной работы.

В нашем примере требуется, чтобы при возникновении внешнего прерывания INT0 логический уровень сигнала на выводе PC7 порта C менялся на противоположный. Для этого в функцию обработки прерывания  ext_int0_isr надо вставить строку для выполнения этих действий в  то место, куда указывает CodeWizardAVR.

В главной программе выполняется периодическое переключение уровней на выводе PC0 порта С с задержкой 0,5 с, что вызывает «мигание» светодиода D1.  Строки  этого фрагмента программы необходимо вставить в бесконечный цикл  while(1), расположенный в конце программы, в то место, куда CodeWizardAVR указывает с помощью строки комментария  “// Place your code here “ (Поместите свой код сюда). Для реализации задержки следует использовать библиотечную функцию задержки, поэтому в программу надо подключить заголовочный файл  delay.h.

3.3.7. Теперь можно выполнить построение проекта. С этой целью выполните команду меню Project > Build All (Проект > Построить все). Убедитесь, что появившееся после компиляции окно Information (Информация)  сообщает об отсутствии ошибок и предупреждений, и щелкните по кнопке ОК. Если сообщения об ошибках присутствуют, то ошибки следует устранить и перекомпилировать проект заново.

3.3.8. Сверните окно CodeWizardAVRи запустите программу ISIS.exe пакета Proteus VSM с помощью ярлычка с надписью ISIS на рабочем столе компьютера.

Создайте новый проект, используя пункт меню File > New Design. В открывшемся диалоговом окне щелкните по варианту DEFAULT, а затем по кнопке ОК.

Откройте окно Pick Device библиотеки компонентов. Последовательно вводите в окно Keywords имена компонентов и выбирайте их из библиотеки: ATMEGA16 для микроконтроллера, BUTTON для кнопки, LED-RED для красного светодиода, LED-GREEN – для зеленого, RES для резистора.

Разместите все компоненты в окне редактора согласно схеме на рис. 3. Сделайте необходимые соединения, отредактируйте величины параметров и надписи.

После завершения разводки необходимо сохранить проект. Для этого выберите пункт меню File > Save Design As…  В диалоговом окне раскройте папку e:\....\AVR\Int0    и сохраните в ней проект под именем  int0.dsn.

Далее необходимо установить параметры микроконтроллера. С этой целью подведите курсор мыши на изображение микроконтроллера и дважды щелкните левой кнопкой. Откроется окно редактирования свойств компонентов Edit Component. Прежде всего нужно записать hex-код программы в память МК.  С этой целью щелкните по кнопке в правой части строки ProgramFile. Откроется окно SelectFileName с файлами из папки Int0. Раскройте папку с именем Exe (исполняемые).  Выберите файл с именем int0.hex  и нажмите кнопку «Открыть».

В строке ProcessorClockFrequency (тактовая частота процессора) выставьте 8 МГц. Остальные установки изменять нет необходимости.

Щелкните по кнопке ОК для подтверждения выбора параметров. Затем щелкните по пустому месту схемы для снятия выделения с МК.

3.3.9. Теперь можно проверить работу МКУ. С этой целью с помощью кнопки  Play – ПУСК запустите программу работы МК. После запуска светодиод D1 (красный) должен «мигать», а светодиод D2 (зеленый) не горит. Нажмите кнопку SB1. Светодиод D2 должен загореться. При каждом нажатии на кнопку состояние D2 должно изменяться.  Если все выполняется, как надо, то все в порядке.

3.4. Вывод текстовой информации на ЖКД

На рис. 4 приведена схема подключения к МК ATmega16 модуля ЖКД.