Задание
Разработать систему управления часами. В часах стрелки (часовая, секундная и минутная) механически соединены (при помощи шестерней) друг с другом и с приводящим их в движение шаговым двигателем.
Поворот вала шагового двигателя на следующее дискретное положение вызывает переход секундной стрелки к указанию следующей секунды (минутная и часовая стрелки передвигаются механической связью самостоятельно).
Для обеспечения точности хода и актуальности отображаемого времени в часах предусмотрена периодическая синхронизация с ПК посредством USART.
Система должна обеспечивать:
• вывод соответствующего сигнала на ШД для перемещения стрелок в соответствующие моменты времени;
• обработку синхронизирующего пакета USART;
• перевод стрелок в соответствии с синхронизированным временем;
• перевод стрелок на 12:00:00 при сбросе (и после старта).
Необходима обратная связь по положению стрелок (предложить свой вариант).
Микроконтроллер PIC16F876A.
Схема в протеусе
Шаговый двигатель для секундной стрелки использовался от старого флопика. Данный ШД делает 200 шагов за оборот. 10 шагов равны 3 секундам. Для определения положения секундной стрелки использовался абсолютный 10-разрядный энкодер, а точнее была написана программа для МК, моделирующая работу абсолютного энкодера.
