Перед вивченням подальшого матеріалу бажано ознайомитися з класичними першоджерелами з програмування [6-6], [6-7] Саме «ознайомитися», а не детально простудіювати Час саме підкаже, коли до них треба буде ще раз повернутися, але вже для детального опрацювання

Розібратися в тонкощах будь-якого процесу можна тільки на практиці При цьому перші досліди мають бути не дуже складними, зрозумілими і добре прокоментували

Технічне завдання на розробку програми зазвичай дається в текстовому вигляді і формулюється довільним чином

Приклад Розробити тестову програму для MK SKit Після початкової подачі живлення індикатор HL1 повинен бути погашений При натисканні на кнопку SB1 він повинен засвітитися, при відпуску – знову погашений і тд

Алгоритм розвязання задачі очевидний – у нескінченному циклі перевіряти стан кнопки SB1 і якщо вона натиснута, то подавати з виходу MK НИЗЬКИЙ рівень на світлодіод HL1 При відпуску кнопки SB1 треба зняти харчування зі світлодіода HL1, тобто встановити на лінії MK ВИСОКИЙ рівень

На Рис 66 показана графічна схема алгоритму функціонування, яку програмісти по-звичкою називають «блок-схемою» На якому етапі її складати і складати її взагалі, кожен вирішує для себе сам Одні вважають за краще намалювати алгоритм до написання лістингу, інші документують алгоритм після налагодження проекту Але в будь-якому випадку треба вміти читати такі схеми

Рис 66 Графічна схема алгоритму функціонування

Блок-схема (англ «block diagram», «flowchart») – це умовне зображення алгоритму дій, структури компютерної програми або процесу прийняття рішення, призначене для виявлення загальної послідовності операцій

Строго кажучи, термін «блок-схему» не гостірован, оскільки офіційно в ЕСПД розрізняють всього лише чотири види схем: для алгоритмів, для програм, для даних і для систем Проте назва «блок-схема» виявилося дуже «живучим» і його часто вживають на практиці, не рахуючи сленговим

Момент подачі живлення на MK і рестарт програми позначається в схемі овальним блоком «Старт» У нього входять початкові налаштування внутрішніх регістрів, стека, розподіл осередків памяті У блоці «Ініціалізація» проводиться установка ліній портів МК на вхід і вихід, зокрема, на лінії PB1 виставляється ВИСОКИЙ рівень, щоб світлодіод HL1 спочатку був погашений

Після ініціалізації проводиться опитування кнопки SB1 в ромбоподібному блоці, що містить питання Якщо кнопка була натиснута (твердження «Да), то відбувається перехід на правий прямокутник У ньому виконується включення індикатора HL1, після чого управління передається вгору по стрілці до повторного опитуванням кнопки Якщо кнопка SB1 не натискали (твердження «Ні»), то проводиться перехід вниз на прямокутний блок, гасіння світлодіода HL1 і «подорож» вгору по стрілці до нового опитуваннястану кнопки

У схемі алгоритму немає завершального овального блоку «Стоп», тому всі дії будуть виконуватися в нескінченному циклі, аж до повторної подачі живлення або початкового скидання MK кнопкою SB2, що входить до SKit

Джерело: Рюмік, С М, 1000 і одна мікроконтролерна схема Вип 2 / С М Рюмік – М: ЛР Додека-ХХ1, 2011 – 400 с: Ил + CD – (Серія «Програмовані системи»)