Разработка программного обеспечения для микроконтроллера

Декомпозиция задачи

На начальном этапе декомпозиции программа микроконтроллера представлена в виде черной сферы. Изображение начального этапа декомпозиции приведено на рисунке 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 – Алгоритм процедуры получения текущего изображения

ЖК-дисплея


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: