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
   8   9   10   11   12   13   14   15   16   17   18