Страница 5 из 5

Re: USB термометр.

Добавлено: Чт ноя 22, 2012 23:36:22
minakan
Думаю, что вам сюда
http://www.engbedded.com/fusecalc
По умолчанию процессор работает на внутреннем генераторе, вам надо переключить его на кварц, вероятно и внутренний делитель выключить...

Re: USB термометр

Добавлено: Пн дек 17, 2012 22:54:13
zoom4ik
Ребят, можно ли переделать на attiny44?

Re: USB термометр

Добавлено: Чт авг 29, 2013 09:27:17
Sandrokes
Доброго времени суток, у меня небольшой вопрос (просьба) к автору кода, попробовал переделать его под свои задачи, не прокатило :). Нет ли случайно возможности выложить библиотеки с JvTrayIcon.dcu, JvComponentBase.dcu, JvHidControllerClass.dcu, и др использованные при написание или ссылки на них :)

Re: USB термометр

Добавлено: Ср дек 16, 2015 22:57:48
Cadil
Вопрос с компонентами JvTrayIcon, JvComponentBase, JvHidControllerClass, JvExControls, JvPoweredBy, JvExExtCtrls, поставленный 2 года назад остается актуальным. Помогите найти библиотеки!

Re: USB термометр

Добавлено: Чт дек 17, 2015 21:38:26
MadOrc
И за что же вас гугль банит? :roll:
http://jvcl.delphi-jedi.org/

Re: USB термометр

Добавлено: Пт дек 18, 2015 13:41:27
Cadil
MadOrc писал(а):И за что же вас гугль банит? :roll:
http://jvcl.delphi-jedi.org/
Благодарю за линк. Удач!

Re: USB термометр

Добавлено: Пт дек 18, 2015 22:37:18
Cadil
Собрал термометр по схеме: Датчик температуры DS18B20 + Конвертор USB-UART (TTL). Многие программы распознают устройство и корректно отображают температуру, хотя бы - OneWireViever.exe.
Мне надо написать программку под свои задачи. Нашел исходник source20.zip, написанный на DELPHI для микросхем DS18S20, DS1820. Исходник компилируется, но неправильно отображается температура. Например, вместо 23 град. отображается минус 76 град! Разрядность DS18S20, DS1820 - 9 бит, а DS18B20 (установлена у меня) - 9-12 бит. Возможно, причина в разрядности?

Вот фрагмент кода:

Код: Выделить всё

function TMainForm.ReadParams:Boolean;
var
 B0,B3,B4,B5,B6:Byte;
begin
 Result:=false;
 PClear;
 if not TReset then exit;
 Result:=true;
 TByte($33); //Read ROM
 CRC:=0;
 B0:=TByte($FF); B1:=TByte($FF);
 B2:=TByte($FF); B3:=TByte($FF);
 B4:=TByte($FF); B5:=TByte($FF);
 B6:=TByte($FF); TByte($FF);

 EID.Text:=Format('%.2xH',[B0]);
 if B0=$10
  then
   if (B6*256+B5)>=8
    then EName.Text:='DS18S20'
    else EName.Text:='DS1820'
  else EName.Text:='UNKNOWN';
 ESnum.Text:=Format('%.2x%.2x%.2x%.2x%.2x%.2xH',
                    [B6,B5,B4,B3,B2,B1]);
 if CRC=0 then ECRC.Text:='OK' else ECRC.Text:='FAIL';

 if not TReset then exit;
 TByte($CC); //Skip ROM
 TByte($B8); //Recall EEPROM

 if not TReset then exit;
 TByte($CC); //Skip ROM
 TByte($BE); //Read Scratchpad
 TByte($FF); TByte($FF);
 Usr1:=TByte($FF); Usr2:=TByte($FF);
 EUsr1.Text:=Format('%.2xH',[Usr1]);
 EUsr2.Text:=Format('%.2xH',[Usr2]);
 UpDOwn1.Position:=Usr1;
 UpDOwn2.Position:=Usr2;
 UpDown1.Enabled:=true;
 UpDown2.Enabled:=true;
 EUsr1.Enabled:=true;
 EUsr2.Enabled:=true;
 MWrUsrBytes.Enabled:=true;
end;
Помогите, пожалуйста, подправить код под 12 разрядов. Если я ошибаюсь, тогда - где копать?
Заранее благодарю.

Re: USB термометр

Добавлено: Сб янв 02, 2016 15:19:55
Cadil
Собрал схему на DS18В20 (9-12 бит) и запустил исходник. По умолчанию устанавливается конфигурация на 9 бит. Помогите установить (записать) конфигурацию, чтобы отображалась температура с дискретностью 0,1 градуса. Сейчас дискретность - 0,5 градуса.
Заранее благодарю.

Re: USB термометр

Добавлено: Пн янв 06, 2020 02:42:08
Professor_X-16
Да. про фьюзы забыл в статье упомянуть.
выставляем их таким образом:

все CKSEL без галки
все SUT с галкой
CKDIV8 галка!!
Шить буду в SO8 to DIP8, без spi. Ставить так же, галка = 0 ?