 |
|
|
|
| Автор |
Сообщение |
klevogivesh Частый гость (>5)

Зарегистрирован: 04.07.2007 Сообщения: 10
|
Добавлено: 09 Июл 2007, 12:53 Заголовок сообщения: Термодатчик DS18B20 |
|
|
| Кто работал с термодатчиком DS18B20. Помогите пожалуйста с написанием кода на ассемблере. Необходимо опросить единственный датчик и занести его показания в ОЗУ. Алгоритм из датащита вроде ясен, а вот как это будет выглядить в виде кода, представить не могу. Питание датчика внешнее.
|
|
| Вернуться к началу |
|
 |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
|
| Вернуться к началу |
|
 |
banzayy Живет здесь... (>100)


Зарегистрирован: 12.09.2006 Сообщения: 287 Откуда: Луганск
|
Добавлено: 09 Июл 2007, 14:47 Заголовок сообщения: |
|
|
попробуй мой. 100% работает, хотя может кто и скажет, что не шибко оптимально. Я её не однократно использовал.
| Описание: |
|
 Файлообменник |
| Название файла: |
1820.zip |
| Размер файла: |
936 Байты |
| Скачено: |
185 раз(а) |
|
|
| Вернуться к началу |
|
 |
klevogivesh Частый гость (>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)


Зарегистрирован: 12.09.2006 Сообщения: 287 Откуда: Луганск
|
Добавлено: 11 Июл 2007, 19:55 Заголовок сообщения: |
|
|
было писано для АТ2313, но применялось и для ATMEGA8515. Вот исходник полностью. В тех строках, что указано не должно быть ошибки, если pindat указано в начале программы
| Описание: |
|
 Файлообменник |
| Название файла: |
tempermetr.zip |
| Размер файла: |
2.17 KB |
| Скачено: |
174 раз(а) |
|
|
| Вернуться к началу |
|
 |
klevogivesh Частый гость (>5)

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


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 20 Июл 2007, 15:04 Заголовок сообщения: |
|
|
Подскажем. После подачи напряжения питания на термометр - первое измерение - в мусор.
_________________ меня не интересует мнение людей. которые разбираются в этом вопросе. Только тех, кто сами что-то сделали (А. Энштейн) |
|
| Вернуться к началу |
|
 |
klevogivesh Частый гость (>5)

Зарегистрирован: 04.07.2007 Сообщения: 10
|
Добавлено: 21 Июл 2007, 8:22 Заголовок сообщения: |
|
|
| Вы хотите сказать, что необходимо обнулить регистры датчика, хранящие значение температуры? А как же при последующих опросах? Необходимо будет всегда обнулять их?
|
|
| Вернуться к началу |
|
 |
urry Живет здесь... (>100)


Зарегистрирован: 23.10.2006 Сообщения: 243
|
Добавлено: 21 Июл 2007, 9:42 Заголовок сообщения: |
|
|
Вы не сможете их обнулить, Вы можете их прочитать. После чтения первого (тоскливого) значения- все нормально. Но если Вы снимаете напряжение с датчика и потом подаете опять - снова первое измерение в мусор. Эта особенность учитывется и протеусом - но там раз 5 прочитать нужно, чтобы появилось нормальное значение температуры. В железе - достаточно 1 раза.
Для иллюстрации -посмотрите мультик в протеусе, файл присоединен к моему посту здесь
http://kazus.ru/forum/topic_7101-0-asc-10.html
_________________ меня не интересует мнение людей. которые разбираются в этом вопросе. Только тех, кто сами что-то сделали (А. Энштейн) |
|
| Вернуться к началу |
|
 |
klevogivesh Частый гость (>5)

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