Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
15.04.2009, 18:54
|
|
Вид на жительство
Регистрация: 29.11.2006
Сообщений: 350
Сказал спасибо: 242
Сказали Спасибо 16 раз(а) в 14 сообщении(ях)
|
Использование DS1820
Здравствуйте, уважаемые форумчане.
Есть вопрос по стыковке DS1820 и atmega8 и / или ей аналогичными МК.
Нашёл множество схем и примеров, но одна проблема - не могу понять, как с ним работать, т.к. описание на англ. (даташит) + все примеры идут на ассемблере, на котором я не говорю (надеюсь, что пока не говорю ).
Пожалуйста, у кого есть наработки / примеры на С (компилю всё в AVRCodeVision C) для работы МК меги 8 и ей аналогичными с DS1820 - какие запросы на него надо делать, как принимать, в каком виде?..
С уважением, Артур aka ArtUrlWWW
|
|
|
|
15.04.2009, 19:31
|
|
Временная регистрация
Регистрация: 12.10.2006
Сообщений: 53
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Датчик DS18B20
#include ‹mega8.h›
#include ‹ds18b20.h›
// 1 Wire Bus functions
#asm
.equ __w1_port=0x18 ;PORTB
.equ __w1_bit=2
#endasm
#include ‹1wire.h›
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x12 ;PORTD
#endasm
#include ‹lcd.h›
#include ‹stdio.h›
// Declare your global variables here
void main(void)
{
// Declare your local variables here
int term;
char buffer[50];
// 1 Wire Bus initialization
w1_init();
ds18b20_init(0,-40,80,3);
// LCD module initialization
lcd_init(16);
while (1)
{
term=ds18b20_temperature(0)*10;
sprintf(buffer,"Temp = ",term/10,term%10);
lcd_gotoxy(0,0);
lcd_puts(buff);
};
}
Не проверял, но вроде так.
В CVAVR есть пример использования 1820, в HELP-е F1
__________________
Б.га нет, есть только двоичный код.
|
|
|
|
15.04.2009, 21:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 09.12.2007
Адрес: Новосибирск
Сообщений: 1,021
Сказал спасибо: 10
Сказали Спасибо 70 раз(а) в 63 сообщении(ях)
|
Самое главное понять принцип работы однопроводного
интерфейса, а на чем писать не имеет значения.
Вот здесь есть частичный перевод даташита на 18В20,
он очень похож на 1820.
http://invent-systems.narod.ru/DS18B20.htm
Вот еще с исходником
http://radioded.ru/index.php?option=...d=19&Itemid=49
__________________
И на камнях растут деревья!
|
|
|
|
15.04.2009, 23:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: Использование DS1820
Сообщение от ArtUrl1986
|
Нашёл множество схем и примеров, но одна проблема - не могу понять, как с ним работать, т.к. описание на англ. (даташит) + все примеры идут на ассемблере
|
Как читать/писать байт в шину 1WIRE нарисовано на рисунках в даташите и указаны временные параметры.
И команды там так же расписаны...
Вот алгоритм.
Если батчик один на шине, то:
1) Подаёш импульс сброса и ждёш отклик, (это в даташите тоже же разрисовано)
2) Подаёш команду запуска измерения 0x44
3) одижаеш время требуемое для измерения (см даташит)
4) Подаёш импульс сброса и ждёш отклик,
5) Подаёш команду пропустить проверку номера датчика 0xBE
6) Подаёш команду чтения температуры 0xBE
7) Читаеш 2 байта температуры с шины (в табличке в даташите расписаны эти два байта)
Подаёш команду запуска измерения 0x44
3-8 пункты повторяеш
Если датчиков несколько то в вместо пункта 5 нужно передавать номер требуемого датчика. 8 байт
Ещё можно специальной командой вычислять номера подключеных датчиков, алгоритм могу дать...
|
|
|
|
16.04.2009, 07:51
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
|
Re: Использование DS1820
Сообщение от ArtUrl1986
|
Пожалуйста, у кого есть наработки / примеры на С (компилю всё в AVRCodeVision C) для работы МК меги 8 и ей аналогичными с DS1820 - какие запросы на него надо делать, как принимать, в каком виде?..
С уважением, Артур aka ArtUrlWWW
|
Если туго с английским и не можете прочитать в HELP-е,
то книжка Лебедева "CodeVision AVR пособие для начинающих" стр. 283 и у него же ссылка на сайт Эллина
http://www.elin.ru/1-Wire/?topic=info
|
|
|
|
16.04.2009, 08:32
|
|
Вид на жительство
Регистрация: 29.11.2006
Сообщений: 350
Сказал спасибо: 242
Сказали Спасибо 16 раз(а) в 14 сообщении(ях)
|
Спасибо, столько отписали . Огромное спасибо, буду ковыряться, учиться ))).
Думаю, по ходу дела будут ещё вопросы.
|
|
|
|
17.04.2009, 10:12
|
|
Временная регистрация
Регистрация: 17.06.2006
Адрес: Даун Ньютаун
Сообщений: 64
Сказал спасибо: 7
Сказали Спасибо 11 раз(а) в 4 сообщении(ях)
|
Вот, http://www.schotki.narod.ru/source/source.html здесь я выложил драйвер обслуживания DS18B20 и LCD. С - код для компилятора gcc (win-avr).
|
|
|
|
17.04.2009, 10:22
|
|
Прописка
Регистрация: 15.03.2007
Адрес: Украина, Новомосковск
Сообщений: 258
Сказал спасибо: 5
Сказали Спасибо 16 раз(а) в 12 сообщении(ях)
|
Сообщение от ArtUrl1986
|
Спасибо, столько отписали . Огромное спасибо, буду ковыряться, учиться ))).
Думаю, по ходу дела будут ещё вопросы.
|
Посмотри и это! может пригодится!
Прикрепленный файл: 9433040.rar
__________________
Жизнь на столько короткая,что не остаётся времени,что-бы пожить.
|
|
|
|
17.04.2009, 10:29
|
|
Прописка
Регистрация: 15.03.2007
Адрес: Украина, Новомосковск
Сообщений: 258
Сказал спасибо: 5
Сказали Спасибо 16 раз(а) в 12 сообщении(ях)
|
Сообщение от ArtUrl1986
|
Спасибо, столько отписали . Огромное спасибо, буду ковыряться, учиться ))).
Думаю, по ходу дела будут ещё вопросы.
|
И это! может пригодится!
Прикрепленный файл: 3231928.rar
__________________
Жизнь на столько короткая,что не остаётся времени,что-бы пожить.
|
|
|
|
17.04.2009, 18:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 09.12.2007
Адрес: Новосибирск
Сообщений: 1,021
Сказал спасибо: 10
Сказали Спасибо 70 раз(а) в 63 сообщении(ях)
|
Сообщение от ArtUrl1986
|
Спасибо, столько отписали . Огромное спасибо, буду ковыряться, учиться ))).
Думаю, по ходу дела будут ещё вопросы.
|
Тодько учти (сам на этом споткнулся)
для того чтобы прочитать бит нужно сформировать короткий(3мкс) ноль на линии.
__________________
И на камнях растут деревья!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:23.
|
|