Stránka 1 z 2
DS B20
Napsal: 24 bře 2008, 12:55
od Návštěvník
Ctěl jsem se zeptat jak mám nastavi pin u PIC 16f630 pro komunikaci s tep. čidlem DS18B20.Když procesor vysílá tak se má v TRISA nastavit jako výstup(čidlo je připojeno na RA1) a pro naslouchání od čidla se ma pin nastavit jako vstup? prosím o pomoc sedím už nad tím 2 den. Použil jsem programy z knih Komunikace mikrokontroleru s okolím 1 a 2 a po upravě na na 16f630 mi to ne a ne fungovat nebo nemáte někdo nějaký jiny program?
Napsal: 24 bře 2008, 13:35
od Atlan
daj nam tu *.asm predpokladam ze tvoris v tom ?
Napsal: 24 bře 2008, 13:44
od Návštěvník
Je to vlastmě zdroják z těch knížek, moc nerozumín tomu CRC výpočtu
Napsal: 25 bře 2008, 10:04
od jankop
V případě Dallasu ti neporadím. Ale pro využití pinu RA1 jako vstupního musíš ještě u 16F630 bezpodmínečně vypnout komparátor.
Napsal: 25 bře 2008, 11:14
od Návštěvník
a tak CNCON jsem měl nastavené špatně ale nepomohlo to
Napsal: 25 bře 2008, 11:45
od Chenzee
Tyto čidla jsem si zprovoznil s PICem a poté jsem zjistil, že na to je program i v literatuře. Jediné, co jsem po přečtení datasheetu nepochopil byl výpočet CRC a ten jsem pak použil z knížky. Pro svoji potřebu jsem si i přeložil téměř celý DATASHEET. Pokud bys ho chtěl, mohu ti ho poskytnout ale jen za účelem osobním, nikoliv uveřejnit na net. Aby mě někdo za to nekritizoval. Jinak nastavení pinu je - vysílání do čidla je TRIS v 0 - výstup a při čtení z čidla je v 1 - vstup. Nezapomeň na zdvihací rezistor (PULL-UP) cca 4K7 proti Ucc. Jinak samozřejmě musíš mít nastaveny všechny další registry jako ADCON či CMCON dle toho, kde čidlo připojuješ. Mohu zaslat i vlastní rutinu s popiskama v asm. Je tam i výpočet CRC. Čidla dosti používám protože mohu "navěsit" více na jeden PIN

.
Napsal: 25 bře 2008, 18:46
od Návštěvník
kdyby šel poslat ten přeložený datasheet i ten program byl bych moc vděčný.Samozřejmě bych to použil pro osobní potřebu.(bylo by to pro měření teploty vody v akváriu a měření v místnosti takže bych chtěl použít 2 čidla na jedné sběrnici Muj email je beagle(zavináč)seznam.cz[/b]
Napsal: 25 bře 2008, 18:55
od Jirka
Chenzee píše:Pro svoji potřebu jsem si i přeložil téměř celý DATASHEET. Pokud bys ho chtěl, mohu ti ho poskytnout ale jen za účelem osobním, nikoliv uveřejnit na net. Aby mě někdo za to nekritizoval.
Tady tě budeme spíš kritizovat za to, že si ho neposkytnul všem.

Napsal: 25 bře 2008, 19:58
od Makovec
Jirky píše:Chenzee píše:Pro svoji potřebu jsem si i přeložil téměř celý DATASHEET. Pokud bys ho chtěl, mohu ti ho poskytnout ale jen za účelem osobním, nikoliv uveřejnit na net. Aby mě někdo za to nekritizoval.
Tady tě budeme spíš kritizovat za to, že si ho neposkytnul všem.

Naprostý souhlas!
Napsal: 26 bře 2008, 05:51
od Návštěvník
jak se mají nastavit log urovně v registru PORTA. Když dám vysílání do DS tak nastavím V TRISA 0 jako výstup a co mám nastavit v PORTA taky 0 protože potřebuji sběrnici stáhnout na 480us na 0. A při čtení nastavím v TRISA 1 jako vstup a co mám nastavit v PORTA 0 nebo 1 nebo je to jedno při čtení?Moc prosím kdyby to šlo zaslat email je výše?
Napsal: 26 bře 2008, 08:16
od Chenzee
Koukám, že o to asi má zájem více lidiček, tak to tedy vystavím sem a kdo chce nechť si to stáhne. Jen vás prosím, nejsem moc v AJ zběhlý a proto jsou některé obraty trošku kostrbaté, ale na pochopení věci to nemá vliv. Datatsheet je uvnitř projektu

Nuže tu to je:

...

nechce mi to povolit ZIP příponu, tak si ji tam po stažení doplňte místo ASM a následně rozbalte

Napsal: 26 bře 2008, 08:31
od Chenzee
Když se nastaví PIN jako výstup, logická hodnota bude taková, jakou tam zadáš ty. Pokud bude PIN jako vstup, hodnota na pinu bude taková, jaká je daná zapojením. Ta se přenese do registru PORTu a s touho hodnotou pak pracuješ v programu. Pozor na PIN s otevřeným kolektorem - většinou nebo možná vždy ozn. RA4. Pokud zapíšeš do registru portu hodnotu (ať již movwf či jen nastavíš BIT pomocí BSF, BCF), tento zápis se provede tak, že se načte stávající hodnota registru, upraví se hodnota a zapíše se zpátky, což u pinu s otevřeným kolektorem má za následek shození do LOG.0. Trápil jsem se s tím dost dlouho, než jsem to pochopil a poté jsem se to i dočetl v datasheetu u PICu. To mi opět připomělo, jak důležité je číst pozorně datasheety

Takže pokud čidlo zkoušíš na tomto pinu a mezitím měníš hodnotu na jiném pinu,
může ti to způsobovat potíže.

Napsal: 26 bře 2008, 08:54
od Návštěvník
moc děkuji vyzkouším upravím na 16f630 a pak se ozvu
Napsal: 27 bře 2008, 22:03
od Jirka
Chenzee píše:Koukám, ...
Děkuji za překlad. Kouknu na to.
Napsal: 30 bře 2008, 20:17
od Návštěvník
Tak už to funfuje přepsal jsem to pro moje zapojení, komunikace je dobrá ale ještě mám někde chybu v přepočtu teploty tak to musím opravit.Teď ještě dat dvě čidla na jednu linku?Děkuji moc