Teplotní čidlo DS18B20
Moderátor: Moderátoři
Teplotní čidlo DS18B20
a také se to tu již řešilo. http://www.ebastlirna.cz/modules.php?na ... 3d&start=0
ke ztažení pro PIC jen čistě převod teploty,ještě tam píše že má přelože-
ný datasheet na DS18B20 ale to tam ke ztažení zatím nebylo.
Jinak pro mě to vyčíst z datasheetu je dosti problém,vyčetl jsem tam
že nějak porovnáváš první bity těch součástek pak je nějak porovnáváš,
ale vůbec mi to zatím nění jasné,budu hledat dál ,možná se někdo ještě
ozve kdo ví podrobnější postup.
raději ještě slovy kdyby někda se to špatně zobrazí tedy
oldaces zavináč centrum.cz hledal jsem jak píšeš na jedné i na druhé straně několik stránek tam i zpět,ale nepodařilo se mi to najít,moc se v té diskuzi ještě nevyznám,kde by měl být ten druhý konec vlákna jak tam píšeš.Pokud víš přesně kde to je tak bych Tě chtěl poprosit jestli bys ten text z té diskuze zkopíroval k tomu datasheetu až mi to budeš posílat a nebo jestli už teď víš jak se to adresuje.tak jestli bys to mohl stručně popsat já už bych si to v tom překladu snad nějak domyslel o co tady jde,nebo bych to zkusil znovu překladačem přeložit a když už bych trochu věděl jak to je lépe by se mi to přeložilo,ale takhle se s překladem nechytám.
proceduru na převod do BCD kódu,abych tak velké číslo mohl zobrazit
na LCE displei možná to jde jednodušeji,můžete poradit jakým způsobem to vyčíst a zjistit to číslo,můžete stručně popsat nechám si poradit,možná by to šlo postupně zatím nevím.
Chenzee: Mohl bych taky poprosit o překlad k čidlu ? pawalo@seznam.cz
- Přílohy
-
Logtemp1.PNG- (21.91 KiB) Staženo 185 x
-
Logtemp.PNG- (33.74 KiB) Staženo 305 x
reset při adresování několika DS18B20 na jedné sběrnici?Nevím ani
jak spočítat CRC kod abych mohl ověřit jestli jsem přečetl čísla z těch
DS18B20 správně.Kdybyste někdo věděl jak spočítat CRC kody u DS
tak tady jsou čísla těch 4ks DS18B20
PŘEČTENÉ KODY
CRC sériové číslo rod.kód
1. DS 56 00 00 00 E6 AE F5 28
2. DS A8 00 00 01 B4 60 AA 28
3. DS 7B 00 00 01 B4 5F 57 28
4. DS A5 00 00 01 B4 76 9A 28
; Vypocet CRC
;..............................................................
; podprogram provede pripocteni dat z bytu T_RDS k CRC
; Na zacatku vypoctu musime nastavit CRC na 00h
;**************************************************************
; definice symbolu
;**************************************************************
;**************************************************************
SWR equ 03h
CTBIT equ 10h
T_RDS equ 11h
TMP equ 12h
CRC equ 13h
f equ 1
#define C SWR,0
;**************************************************************
vypcrc movlw 08h ;pocet pripoctenych bitu 8
movwf CTBIT
movfw T_RDS ;T_RDS do TMP1
movwf TMP
;..............................................................
vypcr0 rrf TMP,f ;LSB do C
btfsc C ;bc vypcr3 ;C=1
goto vypcr3
btfsc CRC,7
goto vypcr4 ;CRC(7)=1,C=0
vypcr1 bcf C ;CRC(7).XOR.C=0
rlf CRC,f
vypcr2 decfsz CTBIT,f
goto vypcr0
return
;..............................................................
vypcr3 btfsc CRC,7
goto vypcr1 ;CRC(7).XOR.C=0
vypcr4 movlw 18h ;CRC(7).XOR.C=1
xorwf CRC,f ;CRC.XOR.18h
bsf C
rlf CRC,f
goto vypcr2
;**************************************************************
end
T_RDS k CRC
Takže asi takto: pred výpočtom crc nastav reg. CRC na 0, do T_RDS vložíš 0 bajt spustíš program na výpočet crc , potom 2 bajt spustíš program na výpočet crc .................. do T_RDS vložíš 8 bajt (crc)
a spustíš program na výpočet crc a nakoniec musí byť v reg. CRC zase 0.