Простой термометр на PIC16F628A с двумя DS18B20

За основу взята схема и прошивка с простой термометр и доведённая до ума на свой лад и манер.
В программе предусмотрена индикация номера активного датчика как при переходе так и при отображении температуры (мигание нижнего или верхнего сегмента в левом разряде), также возможны два режима работы Auto и Sam. В Авто режиме - датчики сменяются автоматически через определённое время, в режиме Сам - путём нажатия кнопки. При длительном удержании кнопки осуществляется переход режимов работы Auto<->CAm c записью состояния в EEPROM. В режиме Сам при наличии только одного датчика Pic ищет и отображает только его. Температура отображается с точностью 0,5'С. Если температура превышает 100'С, точность ухудшается до 1'С. При отрицательной температуре отображается знак "минус" в крайнем левом разряде индикатора. Если датчик не подключен, или в линии слишком большие помехи, то на индикаторе отображается надпись "OFF". Светодиодный индикатор повышенной яркости (применить можно любой подходящий с общими анодами) подключен напрямую к порту микроконтроллера. PIC вполне в состоянии обеспечить требуемый ток. Перегрузки портов при этом не происходит.
Добавлена возможность работы схемы от батареек с переходом в режим энергосбережения (SLEEP) через определённый промежуток времени (t1=40 сек). Пробуждение - нажатие кнопки также сбрасывает таймер t1. Можно также для полного отключения схемы от батареи впаять в разрыв транзитсор n-p-n, базу через резистор на RA6 (15) и диод RB0--|>--RA6. В прошивке с общим анодом кнопка висит на RA0 (17)
Исходник и прошивка для PIC16F628(A) - скачать в одном архиве!

Индикатор расположен со стороны печати дорожек.

bzzzsmuv@rambler.ru