Page 13 - 6486
P. 13
між фігурними дужками і має бути програма. Наша задача
написати код, який буде почергово засвічувати то один світодіод
то інший.
Наші діоди на PORTD.4 та POTRD.5, тому записуємо таку
програму.
while (1)
{
PORTD.4=1;
PORTD.5=0;
delay_ms(500);
PORTD.4=0;
PORTD.5=1;
delay_ms(500);
}
Далі компілюємо проект Shift+F9.
Знову повертаємося до проекту схеми ISIS. У вікні параметрів
МК в полі Program.file вибираємо шлях до об’єктного файлу
вашого проекту із розширенням .cof (тут можуть бути проблеми і
треба буде переписати файл *.cof та *__.с в папку із проектом
Proteus).
Далі ми можемо стартувати відладчик. У пункті Debug
вибираємо Start. У вікні яке з’явилося ми вибираємо вихідний
текст програми і можемо натискаючи кнопку F10 виконати
команди одну за другою. А Можемо натиснути на запуск (бігун на
верхньому полі) і наш контролер почне виконувати програму в
реальному часі. Процес виконання можна прослідкувати по
сигнальних крапках червоного та синього кольору на контактах
МК. Синя крапка– лог.0, а червона– лог.1. Крім того буде
змінюватися зображення світодіодів.
Щоб задіяти кнопку у роботі схеми, модифікуємо алгоритм
програми. Наприклад, щоб один із світлодіодів (підключений до
PORTD.5) засвічувався при натиснутій кнопці, і гаснув при
вимкненій кнопці. Інший світлодіод мигає без змін. При цьому
можна не враховувати затримки на переключення світлодіоду
підключеного до PORTD.5. Для реалізації даного алгоритму
можна використати команду if(…)… else…
Приклад програми.
while (1)
{
if(PIND.0==0) PORTD.5=1; else PORTD.5=0;
PORTD.4=1;
delay_ms(500);
13