Rutiny pre DS18B20
Moderátor: Moderátoři
Rutiny pre DS18B20
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.
http://pandatron.cz/?566&teplotni_cidlo ... _pic12f629
Stačí si jen trochu poupravit pro daný PIC .
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 267 x
-
Návštěvník
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 177 x
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.