quinn Posted April 5, 2015 Share Posted April 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.txt fisier compilat.ASM.txt convertit hex.HEX.txt Link to comment
masterpic77 Posted April 7, 2015 Share Posted April 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 to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now