Использование индикатора на регистрах сдвига позволяет создать компактный двухточечный термометр, с использованием самого простого микроконтроллера PIC12F629. Два вывода этого микроконтроллера используются для управления индикатором. Один из них выполняет функцию передачи тактового сигнала, второй информационный. Регистры сдвига 74164 при обнаружении тактового импульса, переключают уровень сигнала с информационного входа, на выход Q0. Информация предыдущего состояния выходов сдвигается на один разряд.

К выходам регистров подключены светодиодные семисегментные индикаторы. При этом десятичная точка используется только у  второго индикатора, а к свободным выходам подключены светодиоды отрицательной температуры и номера отображаемого датчика. Для работы индикатора применены простые сдвиговые регистры 74HC164 (1553ИР8). Три таких микросхемы соединены последовательно. В итоге, в работе индикатор не требует постоянного к нему обращения, как это необходимо при реализации динамической индикации.

Термометр на микроконтроллере PIC12F629 - схема

В схеме термометра использованы датчики DS18B20. Каждый из них подключен к отдельному выводу МК. Возможность работы датчиков одновременно по одному проводу не использована, с целью упрощения программы. Для нейтрализации эффекта саморазогрева, питание датчиков взято с выход микроконтроллера, включаемого только на время измерения.

Особенности PIC12F629 не дают возможность использования одного вывода (GPIO3), так как он работает только на вход. Сам микроконтроллер работает от внутреннего тактового генератора, что позволило освободить две линии ввода/вывода.

Конструкция термометра

Конструктивно термометр выполнен на односторонней печатной плате. В конструкции использовано большое количество элементов поверхностного монтажа. микросхемы регистров используются в корпусе SOIC, а сопротивления типоразмера 1206. На плате установлены две перемычки, а также два разъема для подключения датчиков. Печатная плата размерами 64х30 мм выполнена в программе SprintLayout5 под технологию лазерно-утюжную технологию.

Управляющая программа

Программа работы термометра  написана на языке MicroPASCAL. Использованы стандартные функции работы с устройствами шины 1-Wire.

Автор: Сошин Илья


Архив для статьи "Термометр на микроконтроллере PIC12F629"
Описание: Исходный текст программы, файл прошивки микроконтроллера, макет печатной платы SprintLayout5, схема
Размер файла: 95.71 KB Количество загрузок: 2 683 Скачать

Комментарии  

-3 #1 Владимир12 25.04.2013 23:25
Саморазогрев датчиков происходит если их опрашивать слишком часто, т.е. менее чес раз в секунду!
Сообщить модератору
-4 #2 Taras 01.07.2013 04:38
Кто небудь повторял данное устройство, вот питаюсь зделать и никак не получается правильно запрограмироват ь пик их у меня 3 и все как один програмируются, а в устройстве все по разному работают, и ни один не работает так как надо. Если кто делал подскажите рабочая ли прошивка?
Сообщить модератору
0 #3 Taras 02.07.2013 18:07
Слава богу, разобрался. Термометр 100% рабочий, но вот только прошивка ... никому не советую заливать ту прошивку что в архиве, из за нее погубил 2 микроконтролера , мой совет тем кто будет повторять сей девайс: со схемой и разводкой плати полний порядок, но перед тем как програмировать микроконтролер нужно открить хекс файл блокнотом и переписать строчку :02400E00843EEE на строчку :02400E00843FAD и сохранить файл.
Сообщить модератору
0 #4 отец 23.09.2013 20:42
Цитирую Taras:
Слава богу, разобрался. Термометр 100% рабочий, но вот только прошивка ... никому не советую заливать ту прошивку что в архиве, из за нее погубил 2 микроконтролера, мой совет тем кто будет повторять сей девайс: со схемой и разводкой плати полний порядок, но перед тем как програмировать микроконтролер нужно открить хекс файл блокнотом и переписать строчку :02400E00843EEE на строчку :02400E00843FAD и сохранить файл.
- бред
Сообщить модератору
0 #5 Андрей 69 24.11.2013 13:56
Так есть рабочая прошивка или нет?
Сообщить модератору
+1 #6 Андрей 69 26.11.2013 21:04
Спасибо всем ,особенно MCUCPU ,запутался во фьюзах,а прошивка 100% рабочая.
Сообщить модератору