DS18S20

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

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
relatko
Příspěvky: 85
Registrován: 08 úno 2009, 00:00

DS18S20

#1 Příspěvek od relatko »

Zdravím.
Zaujíma ma meranie teploty čidlom DS18S20.Na komunikáciu z čidlom chcem použiť rutiny z priloženého súboru.
DSSTART-štart prevodu teploty v čidle.
DSREAD-čítanie todnôt z čidla
TMPCNV-prevod z binárnej dodnoty na hodnotu pred a za desatinnou čiarkou.
Nerozumem však tomu ako sa počas vykonávania programu prepína
funkcia portu GPIO,2 (symbolicky nazvaný DSPIN) na výstupný a vstupný port.
Doteraz som sa stretol len z BANKSEL nasr.TRISB(TRISIO)
MOVLW"00110010"
MOVWF TRISB
a funkcia pola zmenená.Chcem tieto rutiny použiť v PIC16F628A .
Poprosím niekoho znalého o stručné vysvetlenie ako sa to deje v tomto prípade.
Ďakujem Relays.
Přílohy
DS18S20.txt
(8.94 KiB) Staženo 290 x
ST78

#2 Příspěvek od ST78 »

Je to velmi jednoduché. Když se podíváš do datasheetu PIC16F675, pro které je program napsaný, zjistíš, že adresa portu GPIO se shoduje s jeho TRIS registrem. Pouze je v jiné bance registrů.

Nastavení "1" na výstupu:

BSF STATUS,RP0 ; pin DSPIN do H (pull-up)
BSF DSPIN
BCF STATUS,RP0

Takže:
- první instrukcí přepnu na Banku 1.
- druhou obrátím směr bitu na portu jako vstup (a externí odpor mi to potáhne do "1")
- třetí se zase vrátím do normální "pracovní" banky registrů.

Typicky u Microchipu má výstupní port a TRIS registr stejnou adresu (pouze v jiné bance registrů).
ST
Uživatelský avatar
Mendor
Příspěvky: 223
Registrován: 16 dub 2008, 00:00
Bydliště: Kladno

#3 Příspěvek od Mendor »

ST78 píše:Je to velmi jednoduché. Když se podíváš do datasheetu PIC16F675...


To se moc do datasheetu nepodívá, takový typ neexistuje a MCU který chce použít "16F628A" zase nemá GPIO.
Uživatelský avatar
relatko
Příspěvky: 85
Registrován: 08 úno 2009, 00:00

#4 Příspěvek od relatko »

To se moc do datasheetu nepodívá, takový typ neexistuje a MCU který chce použít "16F628A" zase nemá GPIO.[/quote]


Nevadí.
Mne ide o princíp a ten som pochopil.Ďakujem.
Relatko
ST78

#5 Příspěvek od ST78 »

Sorry - omlouvám se. Samozřejmě mělo být 12F675.
ST
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#6 Příspěvek od markoni »

Zdravím
Jak to zapojit to čidlo nemusí tam dávat na pin výstupu nějaký upínací odpor když ano tak jakou hodnotu? a napájet to 5V?díky
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#7 Příspěvek od Atlan »

vid datasheet cidla..... ano ide tam odpor napr 4k7 na +5V
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#8 Příspěvek od markoni »

Mohu to pak zapojit jen tak pro test na seriový Com1 třeba na linku DSR a v delphi udělat program který by přečetl výstup z toho čidla? díky.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#9 Příspěvek od Andrea »

markoni píše:Mohu to pak zapojit jen tak pro test na seriový Com1 třeba na linku DSR a v delphi udělat program který by přečetl výstup z toho čidla? díky.

To těžko. Jak pro to čidlo chceš psát program, když ani nevíš, jak komunikuje?
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#10 Příspěvek od Atlan »

existuje napisany program logtemp nainstalujes spustis cidlo sa pripaja na prevodnik napr s max232 rxd txd prepojis napriklad natvrdo a na ten vodic pripojis cidlo odpor + napajanie cidla....teoreticky to uzivi vsetko Com port.

A mozes testovat Skusal som to s DS18S20.
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#11 Příspěvek od markoni »

To těžko. Jak pro to čidlo chceš psát program, když ani nevíš, jak komunikuje?

To se přiznám bez mučení že v tom trochu plavu protože anglicky neumím a a louskat datasheet na to nemám čas tak jak to komunikuje? můžete mi to nastínit, vím že se dá do toho čidla posílat příkazy jenže nevím proč?další věc na tom čidle je napsáno DS1820 ale v krámě jsem chtěl DS18S20 tak nevím jestli je v tom rozdíl a jaký myslím tím piny protože mám v katalogu od "slona" sice je to typ DS18B20 tak je jiné zapojení pinů tak nevím jak zapojit napájení +5V 1pin nebo na 3 protože 2 je výstup, nejraději bych uvítal nějaké schémátko jak to celé zapojit díky za shovívavost.
Uživatelský avatar
nekmil
Příspěvky: 787
Registrován: 06 bře 2005, 00:00
Bydliště: Havířov

#12 Příspěvek od nekmil »

Pokud to chceš zkusit na sériový port tak kukni sem:

http://www.st-temco.cz/STK_term1.htm
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#13 Příspěvek od Atlan »

Skus pohladat ...niesom si isty ale na tomto fore by mal byt nejaky preklad komunikacie do CZ jazyka.... Alebo sa troska vytrap ako my ostatny :D
Uživatelský avatar
caven
Příspěvky: 417
Registrován: 15 srp 2006, 00:00

#14 Příspěvek od caven »

jo někde tady překlad datasheetu je, je to ve wordu, si dej vyhledat DS18B20 nebo něco na tne smysl a najdeš to ;)
Uživatelský avatar
Chenzee
Příspěvky: 464
Registrován: 26 čer 2007, 00:00
Bydliště: Vysočina

#15 Příspěvek od Chenzee »

jojo, cz překlad DS18B21 tu je někde vložen ... jsem ho sem onehdy vkládal. :wink:
Žádnej učenej z nebe nespadl ...
Odpovědět

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