реклама на сайте
подробности

 
 
> Применение DS1820 и LCD44780 для начинающих, Подключение нескольких DS1820 на шину.
SasaVitebsk
сообщение Nov 20 2006, 23:11
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Исследовал работу нескольких DS18B20/DS1820 "сидящих" на одной шине, а также возможность динамического подключения/замены данных датчиков на шине. Не нашёл. Некоторые библиотеки, в том числе выложенные на этом форуме являются нерабочими. Написал библиотеки, проверил и выложил их в виде библиотек в соответствующем разделе форума.

А здесь предлагаю для начинающих полный учебный проект использования данных библиотек. Написаны и проверены на стенде Nix-06 для начинающих который обсуждался в топике "getting started ..." и расположен по nix-06.nm.ru. Проект написан на IAR C и закончен, а то многие писали, что хотелось бы понять как применять те или иные библиотеки. Мои или другие.

Подключается несколько датчиков DS1820/ds18b20/ds18s20 в любом сочетании. На LCD дисплей выводится их количество и температура каждого. Допустимо подключения датчиков по двух-проводной схеме включения. Используется динамическое выделение памяти под ROM датчиков.

Библиотека LCD написана таким образом что допускает использование стандартных функций вывода outs и printf с элементами форматирования. Что и пременено в проекте. Имеется прямая индексация курсора и прочие вещи, которые облегчают написание меню и многоуровневых меню. В принципе должно работать для 4-ёх строчных дисплеев, но я не проверял.
Прикрепленные файлы
Прикрепленный файл  ds18b20.zip ( 17.94 килобайт ) Кол-во скачиваний: 522
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GDI
сообщение Jan 19 2007, 10:44
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



В CV в примерах есть подобный проект с использованием встроенных библиотек 1-wire и HD44780. А еще там есть встроенные функции задержки delay_ms(N) и delay_us(N) где N - это число милли- или микросекунд, соответственно, доступны при подключении delay.h.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 20 2007, 05:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(GDI @ Jan 19 2007, 11:44) *
В CV в примерах есть подобный проект с использованием встроенных библиотек 1-wire и HD44780. А еще там есть встроенные функции задержки delay_ms(N) и delay_us(N) где N - это число милли- или микросекунд, соответственно, доступны при подключении delay.h.


Использование нескольких датчиков одновременно? Дело в том что не нашёл нигде.

А в общем встроенные библиотеки конечно хороши. Но если они не на Си, то это не облегчает работу (для неначинающих). Дело в том что редко какая-нибудь аппаратная хрень используется точно так как прописано. Обычно надо "почти так, но вот тут чуть чуть подправить". smile.gif И в этом смысле Си-шные библиотеки это позволяют делать.
Go to the top of the page
 
+Quote Post
Qwertty
сообщение Jan 20 2007, 14:02
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(SasaVitebsk @ Jan 20 2007, 05:20) *
Использование нескольких датчиков одновременно? Дело в том что не нашёл нигде.
А в общем встроенные библиотеки конечно хороши. Но если они не на Си, то это не облегчает работу (для неначинающих).

В CV они на C. Но вот сама возможность подключения нескольких датчиков, с использованием в дальнейшем их поиска на шине, кмк вещь бесполезная. Как их отличать? Простейший пример - один датчик на улице, другой в квартире. Хочется не просто получить две температуры, но и знать, какая из них на улице, а какая в доме. Или есть способ? Подключение по очереди с запоминанием серийного номера - простейший, но это не требует поиска на шине, то есть не совсем то.
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Jan 21 2007, 19:06
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Цитата(Qwertty @ Jan 20 2007, 14:02) *
Простейший пример - один датчик на улице, другой в квартире. Хочется не просто получить две температуры, но и знать, какая из них на улице, а какая в доме. Или есть способ? Подключение по очереди с запоминанием серийного номера - простейший, но это не требует поиска на шине, то есть не совсем то.

Я рассматривал вариант задействования для этого верхнего/нижнего предела для аларма. Они сохраняются при выключении. Правда, пока не дошел ход, не проверял. Да и все равно, надо делать начальное сканирование, сохранять адреса... Лучше для этого (в моем случае) EEPROM использовать.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SasaVitebsk   Применение DS1820 и LCD44780 для начинающих   Nov 20 2006, 23:11
- - SasaVitebsk   Несколько человек обращалось по поводу сложности п...   Jan 19 2007, 01:31
- - bodja74   Саша ,сделай что то типа этого (проверка BUSY),и н...   Jan 19 2007, 01:58
- - SasaVitebsk   Я использую BUSY. А задержки всё равно нужны. 1) д...   Jan 19 2007, 02:54
|- - SasaVitebsk   Цитата(Qwertty @ Jan 20 2007, 15:02) В CV...   Jan 20 2007, 15:31
|- - SasaVitebsk   Цитата(Andy Great @ Jan 21 2007, 20:06) Я...   Jan 21 2007, 19:20
|- - Qwertty   Цитата(SasaVitebsk @ Jan 21 2007, 19:20) ...   Jan 21 2007, 23:35
|- - SasaVitebsk   Цитата(Qwertty @ Jan 22 2007, 00:35) По а...   Jan 22 2007, 02:50
|- - Qwertty   Цитата(SasaVitebsk @ Jan 22 2007, 02:50) ...   Jan 22 2007, 04:03
|- - SasaVitebsk   Цитата(Qwertty @ Jan 22 2007, 05:03) Поче...   Jan 22 2007, 12:38
|- - Qwertty   Цитата(SasaVitebsk @ Jan 22 2007, 12:38) ...   Jan 22 2007, 14:25
- - GDI   Цитата(GDI @ Jan 19 2007, 11:44) * В CV в примера...   Jan 22 2007, 11:48
|- - WHALE   [quote name='GDI' date='Jan 22 2007, 1...   Jan 22 2007, 12:50
- - GDI   ЦитатаВ CV все либы доступны именно на С,посмотрит...   Jan 22 2007, 13:20
- - GDI   Признаю, что с HD44780 я ошибся   Jan 22 2007, 14:37
- - boez   Поделюсь опытом развешивания по дому DS18B20 в кол...   Jan 22 2007, 16:05
- - SasaVitebsk   Я же уже говорил моя библиотека удобна если издели...   Jan 22 2007, 17:08
- - WHALE   ЗвиняюсЬ,1-wire в CV действительно встроенная функ...   Jan 22 2007, 21:22
- - GDI   2 WHALE именно это я и имел ввиду, что в Си ее нет...   Jan 23 2007, 12:43
- - SasaVitebsk   Цитата(GDI @ Jan 23 2007, 13:43) 2 WHALE ...   Jan 23 2007, 14:15


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01415 секунд с 7
ELECTRONIX ©2004-2016