Исходники программы предоставленны в BASCOM-AVR. Помогите переделать прошивку на 4 датчика , и чтобы все они отображались на одном дисплеии 20*2. и вот что еще когда нарисовал в протесте датчик врет в два раза больше. В архиве протест и сама прошивка на один датчик.
$regfile = "m8def.dat" 'работаем с Атмегой 8
$crystal = 4000000
Config Lcd = 16 * 2 ‘ дисплей 2 строки по 16 символов
Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6 ‘ конфигурируем дисплей
Config 1wire = Portd.5 ‘ на эту ножку подключим DS18B20 и подтягивающий резистор на 4,7 ком к + питания
Dim Byte0 As Byte
Dim Byte1 As Byte
Dim Signtemperatura As String * 1
Dim T1 As Byte
Dim T2 As Byte
Dim I As Integer
Do
1wreset
1wwrite &HCC ‘ Выдаем команду чтения ПЗУ
1wwrite &H44 ‘ Запуск измерения
Waitms 750 ‘ Ждем окончания преобразования
1wreset
1wwrite &HCC
1wwrite &HBE ‘ Команда чтения ОЗУ датчика
Byte0 = 1wread() ‘ Читаем нулевой байт
Byte1 = 1wread() ‘ Читаем первый байт
If Byte1 >= 248 Then ‘ Проверяем на отрицательную температуру.248 в десятичном – 11111000 в двоичном. Если температура отрицательная – вычитаем из &HFF
Byte0 = &HFF - Byte0
Byte1 = &HFF - Byte1
Signtemperatura = "-"
Else
Signtemperatura = "+"
End If
T1 = Byte0 / 16 ‘ Сдвигаем нулевой байт вправо на 4 бита (2*2*2*2=16)
T2 = Byte1 * 16 ‘ Сдвигаем первый байт влево на 4 бита (2*2*2*2=16)
T1 = T1 + T2 ‘ Формирмируем результам и выдаем его на индикатор. Команда LCD сама преобразует его в десятичный вид
Cls
Lcd Signtemperatura ; T1 ; "C"
Wait 2
Loop
End
Помогите разобраться с датчиком DS18B20.
-
trition007
- Открыл глаза
- Сообщения: 59
- Зарегистрирован: Вс ноя 14, 2010 00:01:52
- Контактная информация:
Помогите разобраться с датчиком DS18B20.
- Вложения
-
- термометр (atmega8).rar
- (14.54 КБ) 133 скачивания
- Реклама
-
trition007
- Открыл глаза
- Сообщения: 59
- Зарегистрирован: Вс ноя 14, 2010 00:01:52
- Контактная информация:
Re: Помогите разобраться с датчиком DS18B20.
Народ, ты где?
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18673
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Помогите разобраться с датчиком DS18B20.
нет меняtrition007 писал(а):Народ, ты где?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
trition007
- Открыл глаза
- Сообщения: 59
- Зарегистрирован: Вс ноя 14, 2010 00:01:52
- Контактная информация:
Re: Помогите разобраться с датчиком DS18B20.
Не кто не знает как изменить прошивку?
Re: Помогите разобраться с датчиком DS18B20.
А вы пробовали ввести DS18B20 в Поиск? С меткой "Только по названию темы" у меня найдено 4 страницы результатов. Среди них есть тема - Прошивка для МК на DS18B20trition007 писал(а):В архиве протест и сама прошивка на один датчик.
Искусство общения было до нас.
- Реклама
-
trition007
- Открыл глаза
- Сообщения: 59
- Зарегистрирован: Вс ноя 14, 2010 00:01:52
- Контактная информация:
Re: Помогите разобраться с датчиком DS18B20.
Это все не то, мне нужна прошивка на BASCOM-AVR и к индикору LCD Winstar WH2002L . http://www.radiokot.ru/forum/viewtopic. ... 20#p750867 что более мение подходит.
Re: Помогите разобраться с датчиком DS18B20.
Доброго времени суток. Вот уже несколько дней мучаюсь с DS18B20 в протеусе. Застрял на считывании температуры. Делаю такую последовательнось:
1-инициализация с получением ответа
2- команда пропуск ROM
3-конвертация температуры с ожиданием ответа об окончании
4-инициализация с получением ответа
5- команда пропуск ROM
6-команда на то, чтоб датчик передавал температуру
7-формирование тайм- слотов для чтение температуры
8- эфект нулевой- выдаёт 85 градусов и всё. Паразитное питание не использую. Пробовал всё повторить два раза- результат тот-же. Скажите пожалуйста как заставить его работать?
1-инициализация с получением ответа
2- команда пропуск ROM
3-конвертация температуры с ожиданием ответа об окончании
4-инициализация с получением ответа
5- команда пропуск ROM
6-команда на то, чтоб датчик передавал температуру
7-формирование тайм- слотов для чтение температуры
8- эфект нулевой- выдаёт 85 градусов и всё. Паразитное питание не использую. Пробовал всё повторить два раза- результат тот-же. Скажите пожалуйста как заставить его работать?
- Хатуль_мадан
- Электрический кот
- Сообщения: 1007
- Зарегистрирован: Ср мар 03, 2010 11:48:00
- Откуда: Уфа
Re: Помогите разобраться с датчиком DS18B20.
Ну если у Вас выдает 85 градусов (при включении по умолчанию зашито это число), то датчик живой, инициализация и считывание проходят успешно, а вот с передачей команды на запуск преобразования температуры что то не то.


