Программирование на С++, есть программа написанная на C++ для микроконтроллера, надо по этой программе сделать блок схему программы как она работает, код во вложении и ещё описание блок схемы то есть как программа работает
После старта программы первым делом осуществляется инициализация всей используемой периферии контроллера, порты ввода-вывода, счетчик-таймер 0, АЦП, и внешний LCD дисплей.
Далее инструкцией while(1) создается бесконечный цикл. Внутри этого цикла осуществляется проверка режима (переменная mode) и в зависимости от режима, уставки и текущей температуры считанной с NTC термистора осуществляется коммутация реле, выставлением соответствующих логических уровней на портах МК.
Также в теле цикла осуществляется опрос состояния кнопок и выполнение соответствующих команд, таких как изменение значения уставки и смена режима работы.
После каждого изменения значения уставки проверяется не вышло ли оно за заданные лимиты.
Timer0 настроен на прерывания по совпадению с периодом 1мс. Это дает возможность отсчитывать интервалы различных событий с дискретностью 1мс.
Таким образом с заданной периодичностью (100мс) производится преобразование значения АЦП в температуру при помощи функции getTempNTC() и вывод данных на экран.
Работа с LCD дисплеем реализована при помощи функций подключаемой библиотеки lcd_lib.h.
АЦП работает в автоматическом режиме. После завершения преобразования, вызывается соответствующее прерывание и значение заносится в переменную adc_data, которая в дальнейшем используется при вычислении температуры.
При долгом удержании кнопки + или — активируется счетчик длительности нажатия, использующий прерывание timer0 описанное ранее и по истечении заданного времени начинается быстрое изменение значения уставки, таким образом реализован быстрый перебор значений при удержании.
блок схема составлена не правильно, то есть принцип её работы верный но её составление нет, а описание всё правильное
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |