Начну из далека. Года два назад, когда я начал осваивать микроконтроллеры PIC16, мне естественно хотелось собрать действующую схему. Был закуплен самый дешевый программатор, собрана схема, естественно самые простые часы на PIC16F84A. Все собрал, прошил, запустил, начал тестировать и понял, что это фигня. После примерно месяца работы, часы сбивались. Собрал еще одни на PIC16F628A с резервным питанием вроде, но они тоже через несколько месяцев работы сбивались. Понял я, что делать часы только на микроконтроллере не очень хорошая идея. Ну и естественно мой взор привлекли часы реального времени DS1307 с интерфейсом I2C. В сети достаточно много схем на этих микросхемах. Нашел, на мой взгляд самую оптимальную для себя с сайта: http://c2.at.ua/load/pic/prostye_chasy_termometr_s_poocherednoj_smenoj_indikacii/12-1-0-136
Собрал, прошил, запустил. Отличные часы, простые, температуру показывают. Вроде все ничего, но при включение высвечивается на несколько секунд надпись «Soir». Возможно программист решил таким образом увековечить свой труд, но на мой взгляд это как то не правильно. С этим я смерился. Собрал я этих часов аж три экземпляра. Но вдруг оказалось, что датчика температуры DS18B20 у меня больше нет, но осталось 3 датчика DS18S20. Это и оказалось тем решающим фактором, который подвиг меня на написание своей программы для этих часов. Ну, почти этих, все таки одну перемычку все же пришлось добавить. К этому времени я уже достаточно поднаторел в программировании PIC контроллеров, опять же как мне кажется. Ну в общем все получилось. Все изготовленные мной ранее часы были перепрошиты и уже несколько недель успешно работаю, вроде даже без нареканий. Соответственно две прошивки, для DS18B20 и DS18S20. Ну вот и вся история.
Соответственно прошивка для датчика температуры DS18S20:
Файлы к статье Часы термометр на PIC16F628A
для датчика температуры DS18B20:
Файлы к статье Часы термометр на PIC16F628A
PROTEUS:
DS18S20: Файлы к статье Часы термометр на PIC16F628A
DS18B20: Файлы к статье Часы термометр на PIC16F628A
Печатная плата с контроллером: Файлы к статье Часы термометр на PIC16F628A, DS1307, DS18B20 или DS18S20.
Плата индикатора: Файлы к статье Часы термометр на PIC16F628A, DS1307, DS18B20 или DS18S20.
Плата кнопок: Файлы к статье Часы термометр на PIC16F628A, DS1307, DS18B20 или DS18S20.