Проход по ссылкам навигацииГлавная : Статьи :

Часы – термометр на AT89C2051,DS1307 и DS18B20

Часы – термометр на AT89C2051,DS1307 и DS18B20

Эти часы просто содраны на необьятных просторах Интернета и немного доработаны в плане прошивки. Хочу поделиться с другими желающими поупражняться в прошивании мелкоконтроллеров.Очень простые и удобные часики с термометром .Прошивал AT89C2051 программатором типа DL2TM,напечатанном в журнале Радио № 3, 2004год стр52.
Часы – термометр на AT89C2051,DS1307 и DS18B20

Часы – термометр на AT89C2051,DS1307 и DS18B20
Часы – термометр на AT89C2051,DS1307 и DS18B20
Часы – термометр на AT89C2051,DS1307 и DS18B20
Часы – термометр на AT89C2051,DS1307 и DS18B20
Часы – термометр на AT89C2051,DS1307 и DS18B20
Часы – термометр на AT89C2051,DS1307 и DS18B20



Устройство выполнено на контроллере 51 семейства с внутренней FLASH памятью, для измерения температуры используется, широко известный, дешевый (относительно), доступный датчик DS18B20, для подсчета времени решено было использовать микросхему (называемую «первичные часы») – DS1307.

Датчик температуры. Датчик DS18B20 очень широко известен, он используется практически в каждой второй схеме измерителя температуры. Подробную информацию о нем достаточно легко найти на страницах Интернета. Здесь лишь отмечу самое важное – датчик посылает данные (или обмен данными ведется) по интерфейсу MicroLan, или иначе называемом, 1-Wire. На мой взгляд, не самый удобный интерфейс, с той точки зрения, что трудно его реализовать на Си (проблемы с вызовом вполне конкретных временных задержек), в остальном же интерфейс достойный внимания и современный.

Часы реального времени. Микросхема DS1307 внутри себя имеет много чего: кварцевый генератор, кучу счетчиков (от секунд до годов), 56 байт памяти, схему отслеживания питания, контроллер интерфейса I2C. Возможностей у этой микросхемы много, но у меня используется лишь их незначительная часть – я не использую внутренний календарь, внутренне ОЗУ, хотя можно. Самое что главное – это то, что работать с этой микросхемой очень легко. Интерфейс I2C после моего изучения мне очень понравился – простой, надежный, понятный, легко реализуемый. Но самое главное в этой микросхеме то, что при сбросе питания время не сбрасывается!

Устройство работает так: в микроконтроллере постоянно работает таймер, который уже ранее объясненным способом генерирует прерывания с частотой раз в секунду, они в свою очередь подсчитываются, и когда их количество становится равно 8, происходит смена показаний на табло и измерение температуры. На этом функции программы обработки прерывания исчерпываются. В основном цикле программы постоянно осуществляется индикация (она динамическая) и опрос клавиатуры. Питание устройства осуществляется от зарядного устройства (не импульсного) для телефонов фирмы NOKIA, при этом обязательно ставить слагающий конденсатор (тот, что 680 мкФ) на входе (т к пульсации на выходе с зарядника очень велики – там внутри нет этого самого конденсатора).

Примечание: Вывод 7 микросхемы DS1307 в плату не запаивается – он остается в воздухе, я его просто загибал.
В архиве два варианта плат, под конкретный индикатор и вторая под какой кто найдёт с ОА.
Часы собраны и воткнуты в вот такой вот раритетный корпус откуда выброшена вся нерабочая механизма laughing


Архив с нужными файламиВы не можете скачивать файлы с нашего сервера
Видео работы часов http://www.youtube.com/watch?v=xhs6OkAjaRg
Вместе с Часы – термометр на AT89C2051,DS1307 и DS18B20 часто ищут Карманный регенератор на транзисторахВиды прерывания flowcodeЦифровая звукозапись