Главная » Бытовая электроника » Часы на Atmega8 и семисегментном индикаторе

Часы на 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 KiB, скачано: 3 866)






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

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

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

      Спасибо.

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

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

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

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

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

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

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

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

    Ответить
  7. а от какой батарейки схема может работать?

    Ответить
  8. Здравствуйте, что обозначает на этой схеме элемент PZ?

    Ответить
  9. Добавьте пожалуйста код!

    Ответить
    • В конце статьи есть ссылка

      Ответить
      • Выложите пожалуйста код на Assembler

  10. здравствуйте автор, построил часы по вашей схеме , простота схемы-это самое главное, а вот с фузами проблема , протеус надо устанавливать а я бы не хотел, я им не пользуюсь, не могли бы Вы скинуть табличку с фузами. заранее благодарен.

    Ответить
    • Здравствуйте, добавил скриншот.

      Ответить
  11. С какой программы сделан скрин, фузы установил по вашей таблице но контроллер не стартует, они прямые или инверсные и на схеме нога 10 соединяется с 8? нет точки .

    Ответить
    • Установите:
      LOW 0хE4
      HIGH 0xF9

      Ответить

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