DS B20

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Návštěvník

DS B20

#1 Příspěvek 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?
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#2 Příspěvek od Atlan »

daj nam tu *.asm predpokladam ze tvoris v tom ?
Návštěvník

#3 Příspěvek od Návštěvník »

Je to vlastmě zdroják z těch knížek, moc nerozumín tomu CRC výpočtu
Přílohy
ds18b20.asm
(6.11 KiB) Staženo 263 x
Uživatelský avatar
jankop
Příspěvky: 679
Registrován: 04 dub 2007, 00:00
Kontaktovat uživatele:

#4 Příspěvek 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.

Kód: Vybrat vše

movlw 0x07            
movwf CMCON   
Návštěvník

#5 Příspěvek od Návštěvník »

a tak CNCON jsem měl nastavené špatně ale nepomohlo to
Uživatelský avatar
Chenzee
Příspěvky: 464
Registrován: 26 čer 2007, 00:00
Bydliště: Vysočina

#6 Příspěvek 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 :P .
Návštěvník

#7 Příspěvek 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]
Jirka
Příspěvky: 2034
Registrován: 01 črc 2005, 00:00
Bydliště: zbídačený kraj
Kontaktovat uživatele:

#8 Příspěvek 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. :)
*****
Makovec

#9 Příspěvek 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!
Návštěvník

#10 Příspěvek 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?
Uživatelský avatar
Chenzee
Příspěvky: 464
Registrován: 26 čer 2007, 00:00
Bydliště: Vysočina

#11 Příspěvek 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 :wink: Nuže tu to je: :polka: ... :cry: nechce mi to povolit ZIP příponu, tak si ji tam po stažení doplňte místo ASM a následně rozbalte :lol:
Přílohy
DS18B20_16F84A_MPLAB_7.50.asm
(75.85 KiB) Staženo 522 x
Uživatelský avatar
Chenzee
Příspěvky: 464
Registrován: 26 čer 2007, 00:00
Bydliště: Vysočina

#12 Příspěvek 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 :wink: 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. :oops:
Návštěvník

#13 Příspěvek od Návštěvník »

moc děkuji vyzkouším upravím na 16f630 a pak se ozvu
Jirka
Příspěvky: 2034
Registrován: 01 črc 2005, 00:00
Bydliště: zbídačený kraj
Kontaktovat uživatele:

#14 Příspěvek od Jirka »

Chenzee píše:Koukám, ...

Děkuji za překlad. Kouknu na to.
*****
Návštěvník

#15 Příspěvek 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
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“