Форум по разработке и ремонту электронной техники Киевский форум радиолюбителей и электронщиков. Форумы по разработке и ремонту электронной техники
    Схемы электрические принципиальныеГлавная    ФорумФорум    ПоискПоиск по форуму    Личные сообщенияФайлообменник    Личные сообщенияРадиотехнический каталог   

Фотогалерея   <b>Профиль</b>Ваш профиль    Личные сообщенияЛичные сообщения    ГруппыГруппы   

FAQFAQ    РегистрацияРегистрация    ВходВход

Уважаемые посетители! Это старая версия форума. Новая версия находится по адресу: http://www.remexpert.com
Термодатчик DS18B20
На страницу 1, 2  След.
 
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Форум по разработке и ремонту электронной техники -> Микроконтроллеры, процессоры, ПЛИС...
 
Автор Сообщение
klevogivesh
Частый гость (>5)
Частый гость (>5)


Зарегистрирован: 04.07.2007
Сообщения: 10

СообщениеДобавлено: 09 Июл 2007, 12:53    Заголовок сообщения: Термодатчик DS18B20 Ответить с цитатой

Кто работал с термодатчиком DS18B20. Помогите пожалуйста с написанием кода на ассемблере. Необходимо опросить единственный датчик и занести его показания в ОЗУ. Алгоритм из датащита вроде ясен, а вот как это будет выглядить в виде кода, представить не могу. Питание датчика внешнее.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
urry
Живет здесь... (>100)
Живет здесь... (>100)


Зарегистрирован: 23.10.2006
Сообщения: 243

СообщениеДобавлено: 09 Июл 2007, 13:08    Заголовок сообщения: Ответить с цитатой

СЮДА
http://www.remexpert.com/forum/viewtopic.php?t=1251

_________________
меня не интересует мнение людей. которые разбираются в этом вопросе. Только тех, кто сами что-то сделали (А. Энштейн)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
banzayy
Живет здесь... (>100)
Живет здесь... (>100)


Зарегистрирован: 12.09.2006
Сообщения: 287
Откуда: Луганск

СообщениеДобавлено: 09 Июл 2007, 14:47    Заголовок сообщения: Ответить с цитатой

попробуй мой. 100% работает, хотя может кто и скажет, что не шибко оптимально. Я её не однократно использовал.


1820.zip
 Описание:

Файлообменник
 Название файла:  1820.zip
 Размер файла:  936 Байты
 Скачено:  194 раз(а)

Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
klevogivesh
Частый гость (>5)
Частый гость (>5)


Зарегистрирован: 04.07.2007
Сообщения: 10

СообщениеДобавлено: 11 Июл 2007, 6:56    Заголовок сообщения: Ответить с цитатой

banzayy
А для какого микроконтроллера написана программа? Аvr studio выдает ошибки при компиляции. В программе не хватало описания регистров:

.def temp =r16
.def wait =r17
.def count =r18

Но и после добавления этого ошибки присутствуют в строках:

(76) in temp, pind
(114) cbi ddrd, data_pindat1
(118) sbi ddrd, data_pindat1
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
banzayy
Живет здесь... (>100)
Живет здесь... (>100)


Зарегистрирован: 12.09.2006
Сообщения: 287
Откуда: Луганск

СообщениеДобавлено: 11 Июл 2007, 19:55    Заголовок сообщения: Ответить с цитатой

было писано для АТ2313, но применялось и для ATMEGA8515. Вот исходник полностью. В тех строках, что указано не должно быть ошибки, если pindat указано в начале программы


tempermetr.zip
 Описание:

Файлообменник
 Название файла:  tempermetr.zip
 Размер файла:  2.17 KB
 Скачено:  186 раз(а)

Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
klevogivesh
Частый гость (>5)
Частый гость (>5)


Зарегистрирован: 04.07.2007
Сообщения: 10

СообщениеДобавлено: 20 Июл 2007, 10:49    Заголовок сообщения: Ответить с цитатой

Датчик почему-то выдает постоянно одну и ту же температуру - 85 градусов. Это температура, как написано в тех. описании, заложена в нем по умолчанию и отображается при первом запуске. Вот последовательность выполняемых мной действий:
cброс
skip rom
convert T
ждем ответа
сброс
skip rom
read scratchpad
Где у меня ошибка не подскажите?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
urry
Живет здесь... (>100)
Живет здесь... (>100)


Зарегистрирован: 23.10.2006
Сообщения: 243

СообщениеДобавлено: 20 Июл 2007, 15:04    Заголовок сообщения: Ответить с цитатой

Подскажем. После подачи напряжения питания на термометр - первое измерение - в мусор.
_________________
меня не интересует мнение людей. которые разбираются в этом вопросе. Только тех, кто сами что-то сделали (А. Энштейн)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
klevogivesh
Частый гость (>5)
Частый гость (>5)


Зарегистрирован: 04.07.2007
Сообщения: 10

СообщениеДобавлено: 21 Июл 2007, 8:22    Заголовок сообщения: Ответить с цитатой

Вы хотите сказать, что необходимо обнулить регистры датчика, хранящие значение температуры? А как же при последующих опросах? Необходимо будет всегда обнулять их?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
urry
Живет здесь... (>100)
Живет здесь... (>100)


Зарегистрирован: 23.10.2006
Сообщения: 243

СообщениеДобавлено: 21 Июл 2007, 9:42    Заголовок сообщения: Ответить с цитатой

Вы не сможете их обнулить, Вы можете их прочитать. После чтения первого (тоскливого) значения- все нормально. Но если Вы снимаете напряжение с датчика и потом подаете опять - снова первое измерение в мусор. Эта особенность учитывется и протеусом - но там раз 5 прочитать нужно, чтобы появилось нормальное значение температуры. В железе - достаточно 1 раза.
Для иллюстрации -посмотрите мультик в протеусе, файл присоединен к моему посту здесь
http://kazus.ru/forum/topic_7101-0-asc-10.html

_________________
меня не интересует мнение людей. которые разбираются в этом вопросе. Только тех, кто сами что-то сделали (А. Энштейн)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
klevogivesh
Частый гость (>5)
Частый гость (>5)


Зарегистрирован: 04.07.2007
Сообщения: 10

СообщениеДобавлено: 21 Июл 2007, 12:13    Заголовок сообщения: Ответить с цитатой

Я пробую на железе, но результат без изменений. Показывает 85 и все, причем это при постоянном питании. У меня нет опыта работы с протеусом. В интернете попалась подходящая программа на ассемблере, которая и была подогнана мной под микроконтроллер мега128. Прикрепляю оригинал программы из интернета. Посмотрите пожалуйста её. Отличие моей программы заключается только в том, что я не использую таймер для задержек, а формирую их путем циклов на вычитание, и преобразование температуры в десятичный вид несколько иное. Но в целом алгоритм тот же. И не смотря на это, температура постоянна - 85 градусовГрусть В программе есть так же еще какой то 4-й вывод. Но я его не использую, так как у меня термодатчик несколько другой.


DS1820A.ASM
 Описание:

Файлообменник
 Название файла:  DS1820A.ASM
 Размер файла:  6.97 KB
 Скачено:  127 раз(а)

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Форум по разработке и ремонту электронной техники -> Микроконтроллеры, процессоры, ПЛИС... Часовой пояс: GMT + 2
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять вложения в этом форуме
Вы можете просматривать вложения в этом форуме


Rambler's Top100 PageRank Яндекс цитирования
Сайты наших друзей: Гири, все о гирях, Автоматизация магазинов, супермаркетов, ресторанов, кинотеатров,
Весы электронные, Сканеры штрих-кода, Принтеры штрих-кода

Powered by phpBB © 2001, 2005 phpBB Group

Время генерации страницы: 0.5729s (PHP: 90% - SQL: 10%) - SQL запросов: 13 - GZIP enabled - Debug on