Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 23.07.2013, 18:33  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию ds18b20 + LCd

Добрый день. взял пример кода из CVAVR 2.05 прошил атмегу16+LCD. На ЖК показывает количество датчиков, ROM-коды а температуру не показывает, мигает то -32768 то 0. Подскажите что может быть не так? Хотелось бы конечно самому написать код для опроса датчика, но чтото даже так не получается запустить его.... Стандартную библиотеку не изменял...
Вложения:
Тип файла: rar AT16+LCD DS18.rar (82.1 Кб, 99 просмотров)
Реклама:
miwutka вне форума  
Непрочитано 24.07.2013, 13:48  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: ds18b20 + LCd

странно... Перенастроил на порт А.0,подключил датчик - заработало..... На порте B.0,1,2 сидят ножки дисплея ЖК. Может ли из-за этого не работать датчик? Еще вопрос, у меня китайский ЖК 20х4 он не воспринимает команду %+.3f - это же для десятичных цыфр.... Может както по другому надо для китаёзов?? Русского в нем нету.
miwutka вне форума  
Непрочитано 24.07.2013, 14:24  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: ds18b20 + LCd

Сообщение от miwutka Посмотреть сообщение
Может ли из-за этого не работать датчик?
Именно из-за этого, не успел Вам подсказать - сами догадались. А вообще, в чем смысл грузить два порта МК обменом с LCD??? Ищете на пятую точку приключений ... ну, так уже нашли. Шикуете портами направо и налево.
Сообщение от miwutka Посмотреть сообщение
у меня китайский ЖК 20х4 он не воспринимает команду %+.3f - это же для десятичных цыфр....
Да хоть эфиопский, это к набору символов ЖК не относится, первая половина все равно аглицкая - должно работать.
Halex07 вне форума  
Непрочитано 24.07.2013, 15:11  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: ds18b20 + LCd

Сообщение от Halex07 Посмотреть сообщение
Ищете на пятую точку приключений ... ну, так уже нашли. Шикуете портами направо и налево.
Это от неопытности За одно нахожу возможные подводные камни )) Отображаю дроби математикой пока. Чегото не работает стандартная функция... Потом буду разбираться с ней...
miwutka вне форума  
Непрочитано 24.07.2013, 15:16  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: ds18b20 + LCd

Хочю убрать задержку из стандартной библиотеки ds18b20. Там такой текст:
PHP код:
float ds18b20_temperature(unsigned char *addr)
{
unsigned char resolution;
if (
ds18b20_read_spd(addr)==0) return -9999;
resolution=(__ds18b20_scratch_pad.conf_register››5) & 3;
if (
ds18b20_select(addr)==0) return -9999;
w1_write(0x44);
delay_ms(conv_delay[resolution]);
if (
ds18b20_read_spd(addr)==0) return -9999;
w1_init();
return (*((
int *) &__ds18b20_scratch_pad.temp_lsb) & ((int) bit_mask[resolution]))*0.0625;

Можно ли сюда "delay_ms(conv_delay[resolution]);" придумать задержку по таймеру, а не по delay? По идее должно правильно считывать же? Не имеет разницы паузу сделаю таймером или delay`ем?
miwutka вне форума  
Непрочитано 24.07.2013, 15:27  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: ds18b20 + LCd

Сообщение от miwutka Посмотреть сообщение
Отображаю дроби математикой пока. Чегото не работает стандартная функция...
Для экономии памяти кода, эта функция имеет разные версии. Сейчас в проекте включена версия, которая понимает только int'ы.

Сообщение от miwutka Посмотреть сообщение
Можно ли сюда "delay_ms(conv_delay[resolution]);" придумать задержку по таймеру, а не по delay?
Сделать-то можно, но с какой именно целью? От этого зависит способ решения.
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 24.07.2013, 16:10  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: ds18b20 + LCd

Сообщение от tempora Посмотреть сообщение
Сейчас в проекте включена версия, которая понимает только int'ы.
Версия чего, компилятора?

Сообщение от tempora Посмотреть сообщение
с какой именно целью?
Хочю через регистры сдвига отобразить на индикаторе 7 сегментном и на ЖК чтобы без задержек. Я вставил в прерывание от таймера отображение ЖК, но это же слишком громоздко в прерывании такое делать. Надо просто на ЖК отображать еще счетчик, который считает 10мс каждые, без задержек...
miwutka вне форума  
Непрочитано 24.07.2013, 16:36  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: ds18b20 + LCd

Сообщение от miwutka Посмотреть сообщение
Сообщение от tempora
Сейчас в проекте включена версия, которая понимает только int'ы.
Версия чего, компилятора?
всё, разобрался. Надо было в настройках компиятора включить float и т.д. И стало отрицательную температуру показывать.
miwutka вне форума  
Непрочитано 24.07.2013, 17:57  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: ds18b20 + LCd

Не совсем понял детали, особенно странной выглядит вот эта хотелка:
Сообщение от miwutka Посмотреть сообщение
Надо просто на ЖК отображать еще счетчик, который считает 10мс каждые, без задержек...
какой смысл отображать на индикаторе то, чего нельзя прочесть?
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 24.07.2013, 18:14  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: ds18b20 + LCd

ну да... это я уже увидел... та хотелка отпадает. Вот подключил регистры сдвига, индикатор 7-сегментный показывает. Но температура иногда не считывается. На ЖК выдает -9999. Подскажите как соединить регистры сдвига с датчиком чтобы всё нормально показывало...? Получается что когда надо считывать температуру МК бросает это дело и выполняет прерывание.

Последний раз редактировалось miwutka; 24.07.2013 в 18:17.
miwutka вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение LCD (KS0066U) к AVR микроконтроллерам серии mega eez Микроконтроллеры, АЦП, память и т.д 47 27.09.2013 14:10
ЖКИ и CodeVision: 8-ми битный режим vikpol Микроконтроллеры, АЦП, память и т.д 33 09.03.2009 21:55
Подключение LCD Nokia 3310 vsvetlov Микроконтроллеры, АЦП, память и т.д 0 24.09.2007 21:25
ATmega8 и DS18B20, не определяется датчик butman Микроконтроллеры, АЦП, память и т.д 21 09.06.2007 22:05
На чём написано ??? Koka Proteus, KiCAD и другие ECAD 18 08.10.2006 15:50


Часовой пояс GMT +4, время: 23:49.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot