Декомпозиция задачи
На начальном этапе декомпозиции программа микроконтроллера представлена в виде черной сферы. Изображение начального этапа декомпозиции приведено на рисунке 4.1.
Рисунок 4.1 – Начало декомпозиции
Исходную задачу можно разделить на опрос датчиков, контроль температуры, отображение показаний, обмен данными и ввод параметров. Результат декомпозиции изображен на рисунке 4.2.
Рисунок 4.2 – Промежуточный результат декомпозиции
Опрос датчиков можно разделить на чтение с АЦП и обработку прерывания от счетчика оборотов. Контроль температуры можно разделить на преобразование значения АЦП в температуру, ПИД-регулирование и контроль перегрева. Отображение показаний можно разделить на вывод на ЖК-дисплей и вывод на индикаторы. Обмен данными можно разделить на прием данных и отправку данных. Ввод параметров можно разделить на опрос кнопок и управление меню. Результат декомпозиции представлен на рисунке 4.3.
Рисунок 4.3 – Результат декомпозиции
Назначение процедур, выделенных в результате текущей декомпозиции, очевидно. Дальнейшее разбиение не требуется.
|
|
Алгоритмы
В данном разделе представлены блок-схемы алгоритмов, выделенных в результате декомпозиции. Блок-схема алгоритма макроуровня приведена на рисунке 4.4, а блок-схемы алгоритмов, выделенных в п. 4.1, представлены на рисунках 4.5 – 4.20. Код программы приведен в приложении А.
Рисунок 4.4 – Алгоритм макроуровня
Рисунок 4.5 – Алгоритм процедуры инициализации
Рисунок 4.6 – Алгоритм опроса датчиков
Рисунок 4.7 – Алгоритм преобразования значений АЦП в температуру
Рисунок 4.8 – Алгоритм процедуры контроля температуры
Рисунок 4.9 – Алгоритм процедуры контроля перегрева
Рисунок 4.10 – Алгоритм работы ПИД-регулятора
Рисунок 4.11 – Алгоритм обработки ввода
Рисунок 4.12 – Алгоритм обработки действий
Рисунок 4.13 – Алгоритм процедуры обмена данными
Рисунок 4.14 – Алгоритм процедуры приема данных
Рисунок 4.15 – Алгоритм процедуры проверки принятых данных
Рисунок 4.16 – Алгоритм обработки принятых команд
Рисунок 4.17 – Алгоритм процедуры отправки данных
Рисунок 4.18 – Алгоритм управления индикаторами
Рисунок 4.19 – Алгоритм процедуры вывода изображения на ЖК-дисплей
Рисунок 4.20 – Алгоритм процедуры получения текущего изображения
ЖК-дисплея