Rutiny pre DS18B20

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

Moderátor: Moderátoři

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

Rutiny pre DS18B20

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

Uživatelský avatar
kony2807
Příspěvky: 305
Registrován: 29 črc 2007, 02:00
Bydliště: Ostrava

#2 Příspěvek od kony2807 »

10 sekund ve slolečnosti strejdy googla ;) .

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

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

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

#3 Příspěvek 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.
Přílohy
zobraz.asm
(9.91 KiB) Staženo 225 x

Návštěvník

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

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

#5 Příspěvek 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.
Přílohy
casovac.asm
(8.53 KiB) Staženo 150 x

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

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

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

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

Odpovědět

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