Часы на Atmega8 и семисегментном индикаторе

Данные электронные часы, построенные на микроконтроллере Atmega8, оснащены легко читаемым светодиодным дисплеем, будильником с функцией повтора, функцией восстановления работы после отключения питания.

Характеристики часов

  • формат отображения времени: часы, минуты;
  • будильник с функцией повтора;
  • простое управление с помощью 2 кнопок;
  • поддержка работы от батарейки;
  • напряжение питания: 7...12В / 0,2 A;
  • размеры двух печатных плат: 60×21 мм, 58×44 мм.

Принципиальная схема часов показана на рисунке ниже. Схема часов должна быть запитана постоянным напряжением в диапазоне  7...12В.  Это может быть любой блок питания с нагрузкой по току не менее 200 мА.

Часы на Atmega8 и семисегментном индикаторе схема

Диод VD1 (1N4007) защищает схему от неправильной полярности подключения входного питания. Внешнее входное напряжение подается на стабилизатор DA1 (7805), а конденсаторы C3...C7 выполняют роль фильтра питания.

Работой часов управляет микроконтроллер Atmega8, а в качестве часов реального времени применена микросхема типа PCF8583. Связь PCF8583 с микроконтроллером осуществляется через I2C интерфейс.

В качестве дисплея используется модульный четырехзначный семисегментный дисплей с общим анодом. Дисплей подключается непосредственно к выводам микроконтроллера через ограничительные резисторы R1...R12.

К разъему CON5 платы можно подключить зуммер с генератором, который будет выступать в качестве звукового сигнала будильника. К клеммам SA1 и SA2 печатной платы подключаются кнопки, которые служат для ввода настроек и обслуживания часов.

Часы на Atmega8 и семисегментном индикаторе плата

Настройка времени и будильника

При нажатии кнопки SA1 попадаем в меню часов "Set1", где у нас есть возможность установки текущего времени, а еще одно короткое нажатие кнопки SA1 переводит нас в меню установки времени будильника "Set2".

Для выбора и изменения настроек служит кнопка SA2. После выбора как в режиме настройки времени, как и в режиме установки будильника на дисплее начнет мигать первая цифра, после чего можно установить десятки часов с помощью кнопки SA2.

Очередное нажатие SA1 вызовет мигание второй цифры и с помощью SA2 можно установить единицы часов. Последующие два нажатия SA1 позволят установить десятки минут и единицы минут. Во время установки часов и минут устанавливается всегда только одна цифра. Пятое нажатие SA1 возвращает часы к нормальной работе. Также продолжительное время отсутствия нажатия кнопок завершает процедуры установки.

Во время работы часов длительное нажатие кнопки SA2 производит включение/выключение будильника. В момент активации будильника, на несколько секунд отображается время его запуска. Состояние будильника сигнализирует точка, размещена в четвертом разряде. Если будильник активен, этот индикатор горит.

После включения сигнала будильника нажатием любой кнопки можно выключить его на время порядка 5 минут, при этом активируется функция повтора. Этот факт отмечается миганием точки на четвертом разряде индикатора. По истечении 5 минут сигнал будильника будет запущен снова. Снова нажатием любой кнопки, его можно отложить еще на 5 минут, и т. д.

Полное отключение сигнала будильника происходит после длительного нажатия клавиши SA2, или около полутора минутного отсутствия реакции со стороны пользователя.

Работа часов протестирована в Proteus:

chasy-na-atmega8-i-semisegmentnom-indikatore-3

Если в ходе эксплуатации часов, окажется, что часы значительно отстают или спешит, можно попробовать уменьшить или увеличить значение конденсатора C1.

Скачать рисунок печатной платы, прошивку, модель в Proteus (34,7 Kb, скачано: 1 248)

редактор

10 комментариев

  • 08.10.2017 в 02:30

    Как правильно выставить фьюзы при прошивке ?

    Ответить
  • 10.01.2018 в 13:09

    Привет! Я построил эти часы, но мультиплексирование часов работает некорректно. Текущее время ярче, когда другие символы активны в сегменте. Неактивный сегмент не работает, если какой-либо из других символов активен. На ПКБ нет ошибки. Пожалуйста, помогите мне.

      Спасибо.

    Ответить
    • 10.01.2018 в 14:31

      Возможно фьюзы неправильно выставили? Посмотрите фьюзы в модели Proteus.

      Ответить
  • 11.01.2018 в 15:01

    Я не могу смотреть на Протей. Пожалуйста, введите настройки «eXtreme burner-AVR» для моей программы записи (LO = E4, HI = DF).

    Ответить
    • 11.01.2018 в 19:14

      По фьюзам вроде все правильно… Проверьте монтаж на ошибки.

      Ответить
  • 12.01.2018 в 13:07

    Видео кажется проблемой. Однопозиционный мультиплексор часов работает некорректно. Управление двоеточием часов было снято с ноги PCF8583-7 с максимальной нагрузкой 3 мА. Я хотел бы построить эти часы, потому что мне нравится его простота и удобство использования. Мне жаль беспокоить вас своей проблемой.

    Ответить
    • 13.01.2018 в 00:18

      Проверьте разряды, возможно на схеме допущена ошибка.
      1 разряд индикатора — 14 вывод микроконтроллера
      2 разряд индикатора — 18 вывод микроконтроллера
      3 разряд индикатора — 17 вывод микроконтроллера
      4 разряд индикатора — 16 вывод микроконтроллера

      Ответить
  • 13.01.2018 в 11:27

    Он работает. Спасибо.

    Ответить
    • 13.01.2018 в 12:19

      Хорошо.
      Ошибку на схеме исправил.

      Ответить
  • 01.02.2018 в 17:42

    какие фьюзы выставить в пони прог

    Ответить

Добавить комментарий

Ваш электронный адрес не будет опубликован.

*