feat(csd): add lab#5

This commit is contained in:
maxbarsukov 2025-12-14 21:29:18 +03:00
parent 263047407e
commit e7126bc537
4 changed files with 55 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,55 @@
@startuml
start
:Инициализация системы;
:Настройка тактирования;
:Инициализация периферии:
GPIO, USART, TIM, I2C;
:Инициализация дисплея;
:Инициализация калькулятора;
:Отображение приветственного сообщения;
while (true) is (Бесконечный цикл)
:Проверка состояния кнопки режима;
if (Кнопка нажата?) then (да)
:Зафиксировать время нажатия;
else (нет)
if (Была нажата ранее?) then (да)
:Вычислить длительность нажатия;
if (50-500 мс?) then (да)
:Выполнить вычисление;
:Обновить дисплей;
else (нет)
if (>1000 мс?) then (да)
:Сброс калькулятора;
:Обновить дисплей;
endif
endif
endif
endif
:Опрос клавиатуры через I²C;
if (Нажата кнопка?) then (да)
:Обработка нажатия кнопки:
- Цифры (0-9)
- Операции (+, -, *, /)
- Сброс (C)
- Вычисление (=);
:Обновить дисплей;
endif
:Проверка необходимости обновления дисплея;
if (Счетчик обновлений >= DISPLAY_UPDATE_CYCLES?) then (да)
:Обновить отображение данных калькулятора;
:Сбросить счетчик обновлений;
endif
:Задержка 10 мс;
endwhile
stop
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB