Вы здесь: Главная » Часы, календарь, термометр.

Часы, календарь, термометр.

Часы, календарь, термометр.



Устройство собиралось на монтажной плате. В качестве контроллера применен всеми любимый ATtiny2313, индикатор 16х2 на HD44780, часы реального времени ds1307, датчик температуры ds18b20. Температура отображается с точностью до десятых градуса.
Индикатор был вынут из телефонного аппарата. Попался нерусифицированный и без подсветки. Сначала я только подключил индикатор. Затем добавил термометр, затем уже часы и календарь. Поэтому получилось то, что получилось.



Чтобы установить часы и календарь, нажимаем кнопку "*".
Нажав "*" один раз, попадаем в режим установки минут. Кнопками "+" и "-" устанавливаем нужное значение минут.
Нажав "*" второй раз, попадаем в режим установки часов.
Третий раз - для установки дня недели (он не отображается). Далее дата, месяц, год.
Нажимаем седьмой раз "*" - выход из режима установки.

Немного о программе.
Очень понравилась идея включаемых файлов. В отдельные файлы вынесены процедуры работы с шинами I2C, 1-wire и работы с LSD. Софт, большей частью, взят из статей: "Подключаем LCD к микроконтроллеру по 4-х битной шине" и "Термометр на микроконтроллере". Авторам огромное спасибо за эти статьи.

В основном цикле программы происходит только опрос кнопок. По прерыванию компаратора, примерно раз в секунду, микроконтроллер получает температуру, данные из часов преобразует и выводит на экран. В микроконтроллере данные из ds1307 сохраняются в оперативной памяти в переменной clock, из ds18b20 в переменной buffer. ds1307 по умолчанию не заведены и не идут, поэтому их нужно завести.

Fuse - биты устанавливаем на работу от внутреннего генератора. Частота 8МГц.


Автор: Yurgen

Связь с автором: Нет данных

Веб сайт автора: Нет данных

Прислал: Нет данных

Источник: http://radiokot.ru