Stránka 1 z 1

Rutiny pre DS18B20

Napsal: 06 srp 2009, 11:33
od relatko
Zdravím.
Poraďte prosím niekto,odkiaľ by som zohnal funkčnú rutinku pre PIC v asm.
ktorá by v DS18B20 odštartovala meranie a po nutnom čase 700ms by vyčítala hodnoty z oboch výst.registrov a prerátala by ich napr do dvoch desiatkových čísel(celé stupne a desatiny)v dvoch registroch.Vytvoriť to podľa datashetu z DS18B20 je nad moje sily.Ďakujem.
Relatko.

Napsal: 06 srp 2009, 13:50
od kony2807
10 sekund ve slolečnosti strejdy googla ;) .

http://pandatron.cz/?566&teplotni_cidlo ... _pic12f629

Stačí si jen trochu poupravit pro daný PIC .

Napsal: 06 srp 2009, 18:49
od relatko
Vďaka za tip.
Zmastil som to ako teplomer ktorý zobrazuje temp.na štyroch 7segmentovkách.Teplotu meria presne,akurát počas prerušenia na malý okamih zhasne displej.Neviem si z tým rady a prosím o pomoc
skúsenejších.Vďaka .Relatko.

Napsal: 06 srp 2009, 19:44
od Návštěvník
Tak ten program otoè, zobrazuj v pøerušení od èasovaèe a mìø teplotu v hlavním programu. Mìøení teploty èasovì kritické není a navíc trvá dlouho, zobrazování, pokud nemá blikat, èasovì kritické je.

Napsal: 07 srp 2009, 07:05
od relatko
Anonym píše:Tak ten program otoč, zobrazuj v přerušení od časovače a měř teplotu v hlavním programu. Měření teploty časově kritické není a navíc trvá dlouho, zobrazování, pokud nemá blikat, časově kritické je.
Nevidím rozdiel v tom či budem zobrazovať počas pretušenia alebo v hl.programe.
Skúšal som to bez merania teploty iba som po inic.MCU načítal ľubovolné čísla do reg.TEMPNM a TEMPDP v prerušení prebehol podprogram hex dec(rozdelí číslo na jednotky,desiatky a stovky) a ono to aj tak bliká v takte 1 sekunda.Keď som to urobil bez prerušenia ,nebol problém.Zobrazovalo mi na displeji načítané hodnoty,bez "žmurkania"Hardvérová chyba je absolútne vylúčena lebo po nahratí iného programu to funguje bezchybne.Pripájam program ktorý na tomto istom hardvéry šlape bez problémom.Taktiež sa počas prerušenia vykonávajú prepočty a nič nebliká.Ide o odpočítavanie času.Po zapnutí nahodí na displej 8:00:00 a po 1sek.odpočíta až na 0:00:00.
Relatko.

Napsal: 07 srp 2009, 08:00
od Atlan
..skus tam na koniec prerusenia ako je v tom programe odpocitavanie dat CLRF TMR0 alebo nejake cislo tam daj aby bolo korektne.

A skontroluj si "zobrazvanie" lebo ked ti to vide mimo rozsahu 255 bitov tak to skoci niekam celkom inde. napr PC bude ukazovat na 250 a pripocitas 10 tak skoci na riadok programu 10 a nie 260.

Napsal: 07 srp 2009, 18:56
od relatko
Vďaka za rady.Konečne som našiel chybu v programe.Použil som tie isté premenné (TMP1 a TMP2) v dvoch podprogramoch a oni sa navzájom "pobili".Už to šlape ako sa patrí.
Relatko.