Форум по микроконтроллерам: Библиотека работы с DS18B20 - Форум по микроконтроллерам

Перейти к содержимому

  • 3 Страниц +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Библиотека работы с DS18B20

#1 Пользователь офлайн   anywhere 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 19 Март 11

Отправлено 24 Декабрь 2012 - 21:24

Если не трудно, дайте ссылку на пример работы PIC c DS18B20. Или у кого есть готовая библиотека.
0

#2 Пользователь офлайн   MuKeXa 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 197
  • Регистрация: 15 Февраль 11
  • ГородУкраина. Киев/ Брусилов/ Фастов

Отправлено 24 Декабрь 2012 - 22:40

Компилятор?
0

#3 Пользователь офлайн   anywhere 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 19 Март 11

Отправлено 26 Декабрь 2012 - 23:16

Просмотр сообщенияMuKeXa (24 Декабрь 2012 - 22:40) писал:

Компилятор?

HI-TECH C Compiler for PIC10/12/16 MCUs (Standard Mode) V9.80
0

#4 Пользователь офлайн   anywhere 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 56
  • Регистрация: 19 Март 11

Отправлено 29 Декабрь 2012 - 09:46

Вот что-то сотворил, но не работает(во всяком случае в Протеусе).
Прикрепленный файл  OneWire Library.rar (1,98К)
Количество загрузок:: 313
Может кто укажет на ошибки, иначе голова уже кругом идет.

P.s. Вот нашел доходчивое разъяснение:
http://diymicro.ru/p...re-ds18b20.html

Сообщение отредактировал anywhere: 29 Декабрь 2012 - 23:36

0

#5 Пользователь офлайн   limoz 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 78
  • Регистрация: 28 Март 12
  • ГородДвинск

Отправлено 06 Январь 2013 - 18:01

Изображение

Недавно тоже разбирался с DS18B20, вот мой проект (исходник и протеус).

Прикрепленные файлы


1

#6 Пользователь офлайн   wind 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 220
  • Регистрация: 01 Февраль 13
  • ГородБелореченск

Отправлено 05 Июнь 2014 - 20:13

Выложу свою программу работы с датчиком DS18B20, которую я использую в своих часах-термометре.
Программа сделана на работу с двумя датчиками, подключенными на разные выводы МК, выводы дефайнятся в файле DS18B20.h, в данный момент я использую лишь один датчик.
Сделано так, что если датчик не подключен или отключен в процессе (некоторое время нет результата с температуры), то некоторое время выводиться последний результат, а потом вывод температуры игнорируется.
Опрос датчиков нечастый, примерно раз в несколько секунд, т.к. у меня часы, то каждую секунду поднимается флаг который отправляет обрабатывать СЛЕДУЮЩЕЕ действие (опрос, проверка или ещё чего) в ПП ДС
По сути программа получилась пухленькая, но перерабатывать для упрощения желания нет, чтобы выложить сюда просто повыкидывал из файла main.c всё лишнее и оставил некоторое для примера, собсно программа исправно трудиться в шести девайсах, дорабатывалась и проверялась в процессе написания основной программы часов.
Программу строил так, что приоритет этой ПП стоит на последнем месте, т.е. она обрабатывается, но неспеша.
Большинство прокомментировано, если что не ясно - спрашивайте.

Если лень ковыряться в main.c то для получения удобочитаемого результата:
1. Следует обеспечить периодическую отправку в функцию TERMO (); (у меня 1 раз в сек.)
2. После получения температуры (следи за поднятием флага end_TRMO1 или end_TRMO2 для 2-го датчика, флаг означает что всё О.К., температура готова, забирайте, как заберёте, не забудьте сбросить флаг ;-))
...после получения температуры в TRMO1(1-й) или TRMO2(2-й датчик) будет лежать готовый результат с десятыми градуса в "десятичном" виде, т.е. бери и выводи куда надо или разбивай на десятые/единицы/десятки и т.д.
3. Знак температуры (+\-) смотри флаг zn_tr_fl, 1 = минусовая,0 = плюсовая.
Всё!

Компиль использовал XC1.3 , если другой будет ругаться на bit, то следует заменить все bit на unsigned char
Прикрепленный файл  DS18B20_2ps.zip (5,09К)
Количество загрузок:: 349


PS. Вывод на семисегментник(и), прокомментирую использование выводов на точки (7-е биты разрядов):
Использование разрядов: десятые доли(если разрешено флагом)RAZR_1, целые RAZR_2, десятки RAZR_3, плюс или минус температуры RAZR_4

G - сегмент четвёртого, левого разряда RAZR_4 - , ессно минус, а плюс выводиться на точку этого-же RAZR_4
Символ градуса выводиться через 7-й бит первого разряда RAZR_1
запятая для десятых на своём месте RAZR_2, запятая выводиться если разрешён флаг десятых

Сообщение отредактировал wind: 28 Октябрь 2014 - 17:08

главное начать, а война план покажет...
0

#7 Пользователь офлайн   Алексашка 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 311
  • Регистрация: 26 Апрель 13
  • ГородМирный, РС (Якутия)

Отправлено 15 Февраль 2015 - 01:08

Цитата

Компиль использовал XC1.3 , если другой будет ругаться на bit, то следует заменить все bit на unsigned char
DS18B20_2ps.zip (5,09К)
Количество загрузок:: 86

компиль HT 9.50
сделал так как вы указали, заменил все bit на unsigned char (нашел их только в DS18B20.h), не компилится, пробую компилить отдельно пишет на DS18B20.h

Executing: "C:\Program Files\HI-TECH Software\PICC\9.50\BIN\PICC.EXE" -C -E"DS18B20.cce" "DS18B20.h" -O"DS18B20.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F876
Error[894] : unknown source file type "DS18B20.h"
BUILD FAILED: Sun Feb 15 06:59:23 2015

Подскажите пожалуйста !!!
файл подклейки тоже поменял на htc.h

Прикрепленные файлы

  • Прикрепленный файл  DemoBrd.rar (9,36К)
    Количество загрузок:: 129

0

#8 Пользователь офлайн   wind 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 220
  • Регистрация: 01 Февраль 13
  • ГородБелореченск

Отправлено 15 Февраль 2015 - 19:22

Цитата

Error[894] : unknown source file type "DS18B20.h"

как я понимаю, компиль говорит, что не знает такого файла DS18B20.h

Я не знаю, какие файлы использует компиль HT 9.50, но думаю можно поступить так:
Создать чистый проект под свой компиль и под свой МК,
НЕ добавляя ПП для DS сделать так, чтобы всё компилилось.
Потом создать два файла для DS, т.е. основной и подклейку
Скопировать из моих файлов в свои, ну.. с корректировкой bit и т.п.

PS. на днях планирую писать другую ПП для DS уже под Keil и STM, а потом возможно сделаю для нескольких датчиков на одной линии... ну это если руки дойдут ;-)

Сообщение отредактировал wind: 15 Февраль 2015 - 19:30

главное начать, а война план покажет...
0

#9 Пользователь офлайн   wind 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 220
  • Регистрация: 01 Февраль 13
  • ГородБелореченск

Отправлено 15 Февраль 2015 - 19:35

посмотри свои варнинги (файл main.cce), компиль вообще не видит файл подклейки, не видит все прототипы и объявления...
может файлы не в том каталоге (папке) лежат?
потом надо убрать #include "eeprom.h" там о еепром нет разговора

Цитата

файл подклейки тоже поменял на htc.h

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

#10 Пользователь офлайн   wind 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 220
  • Регистрация: 01 Февраль 13
  • ГородБелореченск

Отправлено 15 Февраль 2015 - 23:27

Цитата

Error[894] : unknown source file type "DS18B20.h"

хе.. у меня сегодня компиль тоже самое выдал, когда я забыл дать правильное имя файлу описания DS18B20.h
т.е. по сути указал комилятору на файл которого для него не существует
главное начать, а война план покажет...
0

#11 Пользователь офлайн   Алексашка 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 311
  • Регистрация: 26 Апрель 13
  • ГородМирный, РС (Якутия)

Отправлено 16 Февраль 2015 - 12:29

Цитата

посмотри свои варнинги (файл main.cce), компиль вообще не видит файл подклейки, не видит все прототипы и объявления...
может файлы не в том каталоге (папке) лежат?
потом надо убрать #include "eeprom.h" там о еепром нет разговора

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

#12 Пользователь офлайн   Алексашка 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 311
  • Регистрация: 26 Апрель 13
  • ГородМирный, РС (Якутия)

Отправлено 26 Март 2015 - 09:36

Есть 2 файла main, DS18B20 и подклейка DS18B20.h
Основные файла по отдельности компилируются без проблем, а весь проект нет, в файлах .ссе Errorы отсутствуют
Компиль Hi-TECH PICC18 v.9.52, MPLAB IDE v.8.92
Другие проекты в том числе и проект Alexa на LCD всё компилится нормуль, подскажите где копать?

Прикрепленные файлы


0

#13 Пользователь офлайн   Al_Kuz 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 132
  • Регистрация: 20 Февраль 11
  • ГородКадников Вологодская обл

Отправлено 26 Март 2015 - 11:13

У меня ваш проект ********** Build successful! **********
Правда компиль : Microchip MPLAB XC8 C Compiler V1.21

Сообщение отредактировал Al_Kuz: 26 Март 2015 - 11:13

0

#14 Пользователь офлайн   Алексашка 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 311
  • Регистрация: 26 Апрель 13
  • ГородМирный, РС (Якутия)

Отправлено 26 Март 2015 - 12:14

а у вас этот компиль с лекарством?
0

#15 Пользователь офлайн   wind 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 220
  • Регистрация: 01 Февраль 13
  • ГородБелореченск

Отправлено 26 Март 2015 - 12:56

Error[894] : unknown source file type "DS18B20.h"
Конечно не будет работать, компиль не понимайт что есть этот файл


Этот компиль изначально работает во FREE, только код будет толще раза в два
Гляну сейчас Ваш ДЕМО, но компиль у маеня тот-же что и у Al_Kuz
Понятно, что не компилируется, но компиль хоть чего то пишет? чего ему не нравится?
главное начать, а война план покажет...
0

#16 Пользователь офлайн   wind 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 220
  • Регистрация: 01 Февраль 13
  • ГородБелореченск

Отправлено 26 Март 2015 - 13:23

Может проще переехать на

Цитата

Microchip MPLAB XC8 C Compiler V1.21
?
;)
ТОлько компиль есть уже посвежее.
Работает безо всякого лекарства во FREE,
а "PRO" позволяет получить ужатый раза в два код и вся разница.
главное начать, а война план покажет...
0

#17 Пользователь офлайн   Al_Kuz 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 132
  • Регистрация: 20 Февраль 11
  • ГородКадников Вологодская обл

Отправлено 26 Март 2015 - 13:53

а у вас этот компиль с лекарством?


Ага, для режима PRO. Только таблэтка не вылечила V1.3x, другое лекарство не искал, остался на V1.21.
0

#18 Пользователь офлайн   wind 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 220
  • Регистрация: 01 Февраль 13
  • ГородБелореченск

Отправлено 26 Март 2015 - 13:55

Цитата

Только таблэтка не вылечила V1.3x,

х-? 0-?,1,2,3?

Потому как 1.30 спокойно лечится, выше не пробовал, да собсно пока хватает и этого.
МПЛАБ_Х вообще 1.51, т.к. старшие не понимают ПИК_КИТ-2
главное начать, а война план покажет...
0

#19 Пользователь офлайн   Al_Kuz 

  • Знаток
  • PipPip
  • Группа: Пользователи
  • Сообщений: 132
  • Регистрация: 20 Февраль 11
  • ГородКадников Вологодская обл

Отправлено 26 Март 2015 - 14:01

Какая там на мелкочипе последняя, ту и пробовал. Мож не правильно лечил. Короче не заморачивался остался на прежней.
MPLAB IDE V8.92
0

#20 Пользователь офлайн   wind 

  • Завсегдатай
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 220
  • Регистрация: 01 Февраль 13
  • ГородБелореченск

Отправлено 26 Март 2015 - 14:04

Это относится к компилятору, сам MPLAB бесплатный
главное начать, а война план покажет...
0

Поделиться темой:


  • 3 Страниц +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей