Затем на экране появится окно 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 модуля ЖКД.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.