Нужно написать прошивку для atmega32
Нужно написать ПО для atmega32 для ИК - паяльной станции. Синфазное управление нагрузкой, калибровка термодатчиков, управление звуковыми сигналами, подсветкой дисплея, коммутация нагрузки один верхний нагреватель, два нижних (отключаемые, переключаемые).
Меню контроллера.
Однократное нажатие на кнопку переводит контроллер в режим МЕНЮ, и последующие нажатия в цикле перемещаются по подменю. Пауза в 5 сек на выбранном подменю, переводит контроллер в соответствующую подгруппу. Аналогичная пауза и в подгруппах, кроме калибровки. В калибровке, после завершения процесса, контроллер переходит в обычный режим, ждет готовности от программы.
МЕНЮ:
- Зона нагрева.
- Подсветка дисплея.
- Звуковые сигналы.
- Калибровка.
- Выход. (Из режима МЕНЮ).
ЗОНА НАГРЕВА: (в контроллер вводится дополнительный канал управления симистором. По факту два нижних симистора (отключаемые, левый и правый), и один верхний, работающий постоянно).
- Левый нагреватель.
- Правый нагреватель.
- Оба нагревателя.
ПОДСВЕТКА ДИСПЛЕЯ:
- 20%. (отображается диодом подсветки дисплея в реальном времени)
- 40%. (отображается диодом подсветки дисплея в реальном времени)
- 60%. (отображается диодом подсветки дисплея в реальном времени)
- 80%. (отображается диодом подсветки дисплея в реальном времени)
- 100%. (отображается диодом подсветки дисплея в реальном времени)
- Отключена. (подсветка тухнет в реальном времени)
ЗВУКОВЫЕ СИГНАЛЫ:
- 33%. (уровень 3 раза в реальном времени)
- 66%. (уровень 3 раза в реальном времени)
- 100%. (уровень 3 раза в реальном времени)
- Отключить.
Пауза 5 секунд на любом пункте, выбирает соответствующий пункт, и выводит контроллер из режима МЕНЮ.
КАЛИБРОВКА: (при входе тут нет подменю, сразу калибруем, ждем нажатия для старта калибровки п.1.. Если в течении 5 секунд нет последующего нажатия, контроллер автоматом выходит из режима калибровки и МЕНЮ)
- нажатие предлагает задать 0 °C для верхнего датчика.
- второе нажатие фиксирует значение нуля для верхнего датчика и сразу предлагает ввести значение 100 °C для верхнего датчика.
- третье нажатие фиксирует значение 100 °C для верхнего датчика, и предлагает ввести значение 0 °C для нижнего датчика.
- четвертое нажатие фиксирует значение 0 °C для нижнего датчика и предлагает ввести значение 100 °C для нижнего датчика.
- пятое нажатие фиксирует значение 100 °C для нижнего датчика и выводит контроллер из режима калибровки и режима МЕНЮ.