Простые часы на микроконтроллере Attiny2313. Схема и описание

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

Для создания данных часов нам понадобятся:

  • Кварцевый резонатор на 16 МГц – 1 шт;
  • Микроконтроллер Attiny2313 -1 шт;
  • Конденсатор от  22 пф до 27 пф —  2 шт;
  • Конденсатор 220 н —  1 шт;
  • Стабилизатор 7805 – 1 шт;
  • Транзистор КТ817Б – 4 шт;
  • Индикатор SA15-11GWA  — 4 шт  ( можно любой другой с общим анодом);
  • Кнопка – 2 шт;
  • Резистор  100 Ом – 8 шт;
  • Резистор  200 Ом – 4шт;
  • Резистор  10 кОм – 1 шт.
  • Питание осуществляется от простого надежного стабилизатора на LM317.

Простые часы на микроконтроллере attiny2313

Описание работы простых часов на Attiny2313

Микроконтроллер Attiny2313 тактируется кварцевым резонатором с рабочей частотой 16 МГц. В качестве счетчика времени, в схеме  микроконтроллера Attiny2313 запущен 16 битный таймер с предделителем 256, сконфигурированный на создание прерывания по достижении счетчиком значения 625. Следовательно, получилось прерывания 100 раз в секунду.

Временной интервал находится в глобальных переменных, и при каждом прерывании необходимо увеличить значение  миллисекунд на 1. В том случае если число миллисекунд доходит до 100, то необходимо увеличить на 1 величину секунд, а величину миллисекунд сбросить. И далее в той же последовательности  до десятков часов, которые сбрасываются по достижении 24 без прибавления  следующего разряда. Часы на микроконтроллере Attiny2313 максимально простые, поэтому они не отображают ни дату, ни переход на зимнее/летнее время и т.д.

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

Быстро переключая порт B микроконтроллера, к которому подключены катоды и быстро переключая аноды,  можем организовать видимость, что отображаются все 4 цифры, несмотря на то, что единовременно работает всего лишь одна. Другими  словами, если текущее время 10:43, то выводим цифру 1 на первый индикатор часов, через небольшой интервал времени (порядка 1 мс) выводим цифру 0 на второй индикатор, через 1 мс отображаем 4 на 3 индикатор, спустя 1 мс отображаем 3 на 4 индикатор и снова по кругу.

Кнопки управления часов опрашиваются после каждого очередного цикла отображения (приблизительно 40 раз в секунду), процесс нажатия кнопок снабжен антидребезгом и  защелкой  в виде флага, что позволяет считать собственно само нажатие, не отвлекаясь на удержание.

Скачать печатку, файл прошивки и исходник (1,2 Mb, скачано: 3 927)

редактор

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

  • 30.10.2013 в 15:14

    Может быть глупый вопрос, а где 7805 и куда напряжение подается?

    Ответить
    • 31.10.2013 в 06:01

      Питание Attiny2313: 10 нога — минус; 20 нога — плюс.
      Да, на схеме не указан стабилизатор питания, со временем внесу изменения….
      Подключение 7805 стандартное. Можно взять вот здесь

      Ответить
  • 01.12.2013 в 18:50

    Спасибо за схему. Часы работают секунда в секунду, но пришлось поменять местами некоторые подключения индикатора к выводам 12-19.

    Можете выложить или скинуть на мыло исходный код устройства?

    Ответить
    • 01.12.2013 в 19:59

      Здравствуйте. Исходник добавил, перезалил на сервер. Можете скачать

      Ответить
  • 01.01.2014 в 21:48

    Привет. Что то у меня отстают часики. К сожалению. В час на 1 минуту.
    Как можно это поправить??

    Ответить
  • 13.08.2014 в 11:05

    Можно ли поставить часовой кварц на 32768 Гц? Наверное точнее будет так.

    Ответить
  • 12.02.2015 в 19:55

    Удивительно, но при использовании atiny2313a у меня почему то, минута переключается через 4 мин. реального времени, чего не может быть. Кварцы пробовал разные. Кондеры на кварце по 20 пик. Монтаж на залипы-близкие дорожки проверил. Чудеса остались.

    Ответить
  • 29.05.2015 в 01:31

    Здравствуйте.Хочу собрать эти часы. Как выставить фусы?

    Ответить
  • 16.12.2015 в 23:25

    Уважаемый администратор сайта, не подскажете новичку в радиотехнике, какой конденсатор в 4 пункте в списке деталей? Конденсатор 220нф?

    Ответить
  • 28.04.2016 в 09:34

    Можно ли использовать at90s2313

    Ответить

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

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

*