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

Автор - Yurgen.
Опубликовано 11.02.2010.

Привет всем усатым и хвостатым!
Хочу сказать спасибо радиокоту.
Сей девайс я соорудил изучая этот замечательный сайт.
Устройство собиралось на монтажной плате. В качестве контроллера применен всеми любимый ATtiny2313, индикатор 16х2 на HD44780, часы реального времени ds1307, датчик температуры ds18b20. Температура отображается с точностью до десятых градуса.
Индикатор был вынут из телефонного аппарата. Попался нерусифицированный и без подсветки. Сначала я только подключил индикатор. Затем добавил термометр, затем уже часы и календарь. Поэтому получилось то, что получилось.
Чтобы установить часы и календарь, нажимаем кнопку "*".
Нажав "*" один раз, попадаем в режим установки минут. Кнопками "+" и "-" устанавливаем нужное значение минут.
Нажав "*" второй раз, попадаем в режим установки часов.
Третий раз - для установки дня недели (он не отображается). Далее дата, месяц, год.
Нажимаем седьмой раз "*" - выход из режима установки.

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

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

Fuse - биты устанавливаем на работу от внутреннего генератора. Частота 8МГц.
Файлы:
Прошивка с исходником и файл для Proteus.
Вопросы, как всегда в Форум.






Рекомендуемый контент




Copyright © 2010-2018 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.