quinn Postat Aprilie 5, 2015 Partajează Postat Aprilie 5, 2015 Va salut! Am modificat un fisier .bas si vreau sa-l compilez in .asm,dupa compilare se obtine si fisierul hex dar nu este ok deoarece termostatul cu acest hex scris in pic afiseaza valori f. mari 180 grd in loc de 20. Ca si compilator am folosit Pic Basic Pro trial. Am atasat fisierul initial modificat .bas(am modificat controlerul 16f628 cu 16f628a, tipul senzorului 18b20 in loc de 1820 si intr-o rutina Temperature = (((Temperature >> 1) * 100) - 25) + (((Count_Per_C - Count_Remain) * 100) / Count_Per_C) cu Temperature = (((Temperature >> 4) * 100) - 25) + (((Count_Per_C - Count_Remain) * 100) / Count_Per_C). Nu stiu unde gresesc! Multumesc ! fisier initial modificat.BAS.txtPotrivire informație... fisier compilat.ASM.txtPotrivire informație... convertit hex.HEX.txtPotrivire informație... Link spre comentariu
masterpic77 Postat Aprilie 7, 2015 Partajează Postat Aprilie 7, 2015 Greseala banuiesc ca este la convertire : DS1820 are 8 biti + semn si 0.5'C rezolutie , iar DS18B20 are 11biti + semn si 0.0625'C rezolutie ; deci este clar ca undeva trebuie sa faci o shiftare cu 3 biti (adica o impartire cu 8) , conform spuselor tale daca 180 (cat iti afiseaza) il imparti la 8 obtii 22.5 ceea ce este pe aproape. Nu m-am uitat in cod sa vad exact unde si cum se face conversia pentru afisare ... Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum