Затем на экране появится окно Save C Compiler Project File (Сохранить файл проекта компилятора Си). В поле Имя файла введите имя файла проекта с расширением .prj (timer.prj) и щелкните по кнопке Сохранить.
И, наконец, на экране появится окно Save untitled.cwp As (Сохранить … Как). В поле Имя файла введите имя файла проекта CodeWizardAVR с расширением .cwp (timer.cwp) и щелкните по кнопке Сохранить.
После этого CodeWizardAVR откроет окно исходного файла со сгенерированным кодом.
В нашем примере требуется, чтобы при возникновении прерывания по переполнению Т/С0 логический уровень сигнала на выводе PD1 порта D менялся на противоположный. Для этого в функцию обработки прерывания по переполнению Т/С0 timer0_ovf_isr надо вставить строку
PORTD.1 = ~PORTD.1;
в то место, куда указывает CodeWizardAVR:
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0 = 0xC2;
// Place your code here
PORTD.1 = ~ PORTD.1;
}
3.2.7. Теперь необходимо выполнить построение проекта. С этой целью выполните команду меню Project > Build All (Проект > Построить все). Убедитесь, что появившееся после компиляции окно Information (Информация) сообщает об отсутствии ошибок и предупреждений, и щелкните по кнопке ОК. Если сообщения об ошибках присутствуют, то ошибки следует устранить и перекомпилировать проект заново.
Итак, проект готов. Проверку работы программы выполните с помощью среды моделирования электронных устройств Proteus VSM.
3.2.8. Сверните окно CodeWizardAVRи запустите программу ISIS.exe пакета Proteus VSM с помощью ярлычка с надписью ISIS на рабочем столе компьютера.
Создайте новый проект, используя пункт меню File > New Design. В открывшемся диалоговом окне щелкните по варианту DEFAULT, а затем по кнопке ОК.
Откройте окно Pick Device библиотеки компонентов и выберите микроконтроллер ATMEGA16.
Разместите микроконтроллер в окне редактирования. Для выбора осциллографа подведите курсор к иконке с всплывающей надписью Virtual Instruments Mode и щелкните левой кнопкой мыши. В окне Object Selector появится список виртуальных приборов (Instruments). Выберите строку OSCILLOSCOPE (осциллограф) и щелкните левой кнопкой мыши. Затем разместите изображение осциллографа в окне редактирования согласно рис. 2.
Рис. 2. Схема исследования генератора меандра
После завершения разводки необходимо сохранить проект. Для этого выберите пункт меню File > Save Design As… В диалоговом окне раскройте папку e:\....\AVR\Timer и сохраните в ней проект под именем timer.dsn.
Далее необходимо установить параметры микроконтроллера. С этой целью подведите курсор мыши на изображение микроконтроллера и дважды щелкните левой кнопкой. Откроется окно редактирования свойств компонентов Edit Component. Прежде всего нужно записать hex-код программы в память МК. С этой целью щелкните по кнопке в правой части строки ProgramFile. Откроется окно SelectFileName с файлами из папки Timer. Раскройте папку с именем Exe (исполняемые). Выберите файл с именем timer.hex и нажмите кнопку «Открыть».
В строке ProcessorClockFrequency (тактовая частота процессора) выставьте 8 МГц. Остальные установки изменять нет необходимости.
Щелкните по кнопке ОК для подтверждения выбора параметров. Затем щелкните по пустому месту схемы для снятия выделения с МК.
3.1.8. Теперь можно проверить работу МКУ. С этой целью с помощью кнопки Play – ПУСК запустите программу работы МК. После запуска в окне Proteus появится изображение осциллографа. Настройте осциллограф, чтобы на экране было устойчивое изображение меандра. Замерьте период и длительность импульса меандра. Вычислите частоту импульсной последовательности. Сравните ее с заданной и сделайте выводы.
В заключение остановите выполнение программы и закройте окно Proteus VSM.
3.3. Исследование внешнего прерывания
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.