Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [AVR] Нужна помощь по ds18b20 
:(
    Опции темы
dendim
Дата 19.1.2012, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.1.2012

Репутация: нет
Всего: нет



Всем доброго времени суток. Нужна помощь.
Необходимо на ATMega16 измерить температуру датчиком DS18B20 и отправить на комп через COM-порт. У кого-нибудь есть примеры на ассемблере? очень надо. 
Как инициализировать датчик?
PM MAIL   Вверх
Romikgy
Дата 22.1.2012, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



а почему не си ? на си точно видел примеры в интернете и работы с 18б20 и с уартом...


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
dendim
Дата 22.1.2012, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 19.1.2012

Репутация: нет
Всего: нет



Благодарю за ответ, но уже не надо. Все нашел, все сделал что хотел)))
PM MAIL   Вверх
Laplace
Дата 8.3.2012, 03:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.3.2012

Репутация: нет
Всего: нет



Уважаемые знатоки!
Заранее прошу прощения, если вопрос глупый..я новичок.
Помогите разобраться, как работает датчик?
Не совсем понятно что делать с регистром PORTx в то время, когда ждем ответ от датчика (DDRx установлен в "0").
Держать лапку по умолчанию в "1", через внутренний подтягивающий резистор (если датчик заземляет шину в нужное время),
или держать по умолчанию в "0", в состоянии Hi-Z (если датчик выдает на шину высокий уровень)?

PM MAIL   Вверх
LeonidPr
Дата 8.3.2012, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 17.2.2012
Где: г. Чебоксары

Репутация: нет
Всего: 1



С 1-Wire сам не работал, но здесь используют внешний подтягивающий рез-р. И, судя по временной диаграмме на стр. 10, при ожидании ответа от устройства вам нужно ножку переводить в 3-е состояние, считывая при этом через нее состояние шины.
И еще, как я понял из описания временной диаграммы на той же 10 стр., перевод шины из нулевого уровня в единичный производится путем перевода пина в 3-е состояние, при этом резистор подтягивает шину к +5 В. Однажды, используя такой способ я столкнулся с проблемой сильного завала фронтов, видимо паразитные емкости цепей очень медленно заряжались через подтягивающий резистор. Решение простое. Прежде чем переводить пин в 3-е состояние, пока он активен, выдайте на него сигнал логической единицы, а потом уже следующей инструкцией переводите его в 3-е состояние. Мне этот прием сильно помог, фронты стали нормальными.

Это сообщение отредактировал(а) LeonidPr - 8.3.2012, 23:23
--------------------
pkunzip.zip
PM MAIL   Вверх
Laplace
Дата 9.3.2012, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.3.2012

Репутация: нет
Всего: нет



По новому взглянул на схему и, вроде бы, разобрался smile
Упустил из виду важнейшую деталь - внешний подтягивающий резистор. 
LeonidPr, спасибо за помощь и за совет про фронты.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0938 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.