К термометру можно подключить от одного до шести датчиков температуры DS1820 (ВК1—ВК6). Их одноименные выводы соединяют параллельно проводами длиной до нескольких метров, причем датчики должны быть подключены к прибору до подачи на него питания. При включении питания микроконтроллер по специальному алгоритму определяет, сколько их и в дальнейшем распознает их по уникальным серийным номерам, хранящимся в ПЗУ каждого датчика.

Схема термометра изображена на рис. 1. Он собран на микроконтроллере ATtiny2313-20PU (DD1). работающем от внутреннего тактового RC-генератора. Конфигурация фьюз-битов микроконтроллера должна соответствовать показанной на рис. 2. Термометр рассчитан на питание от 7 до 18 В через стабилизатор DA1.

Термометр на Attiny2313 и DS1820 - схема

Рисунок 1

Рисунок 2

После включения питания микроконтроллер выполняет проверку светодиодного индикатора HG1 (с общим катодом, от телефонного аппарата с АОН), зажигая все элементы всех трех его разрядов. Затем выводится надпись из буквы d, дефиса и цифры, означающей число обнаруженных датчиков.

Далее начинается циклический вывод на индикатор номеров датчиков, сопровождаемых значениями измеренной ими температуры. Учтите, что порядок опроса датчиков микроконтроллер определяет самостоятельно на основе анализа их серийных номеров, остающихся неизвестными пользователю. Поэтому при первом включении термометра необходимо экспериментально определить, в каком порядке опрашиваются датчики.

В случае, когда к термометру подключен лишь один датчик, выводятся только его показания без номера. Если датчики не подключены или все они неисправны, на индикаторе будут включены три дефиса.

Автор: Е. АГЕЕНКОВ, г. Смоленск


Архив для статьи "Термометр на Attiny2313 и DS1820"
Описание: Исходный код(Си), файл прошивки микроконтроллера
Размер файла: 5.04 KB Количество загрузок: 3 028 Скачать