Hi Leute, ich hab mal ne grundsätzliche Frage zum LM75.Im Datenblatt steht:"Temperature is represented by a 9-bit ,two's complement word with an LSB equal to 0,5°C.Das heißt also: -25°C = 111001110 -15°C = 111100010 -8,5°C = 111110001 -2°C = 111111100 -1,5°C = 111111111 -1°C = 111111110 -0,5°C = ????????? 0°C = 000000000 und welche Binärzahl repräsentiert nun -0,5°C????? laut Datenblatt die 111111111 aber das wären ja schon -1,5°C. Was mach ich da falsch und was ist mein Denkfehler? bin für jeden Tip dankbar... Gruß Jörg
LSB equal to 0,5°C sollte ja heißen: 0,5°C = 000000001 1,0°C = 000000010 1,5°C = 000000011 Also wenn ich mich recht an meine Digitaltechnik-Vorlesung erinnere, ist das mit dem Zweierkomplement eher so: -0,5°C: Alle Bitstellen von der zugehörigen positiven Zahl invertieren (1), dann eins addieren (2). Also (0) 000000001 = 0,5°C (1) 111111110 (2) 111111111 = -0,5°C 1,5°C = 000000011 (1) 111111100 (2) 111111101 = -1,5°C Ich hoffe mal ich habe mich nicht verrechnet ;) Gruß, Toni
Die Zuordnung ist: -2,0°C = 111111100 -1,5°C = 111111101 -1,0°C = 111111110 -0,5°C = 111111111 0,0°C = 000000000 +0,5°C = 000000001 +1,0°C = 000000010 +1,5°C = 000000011 +2,0°C = 000000100 Der Temperaturwert links zählt um 0,5°C nach oben, und die Binärzahl rechts um 1.
... die meiner Meinung nach einfachste Abfrage ist folgende: Wenn Du die 0,5° Auflösung nicht unbedingt brauchst, lies einfach nur das erste Byte aus. Wenn das >125 (0x7D) ist, invertierst Du es, addierst 1 dazu und schreibst vor die Temperatur "-" auf Dein Display. Fertig. Dann kannst Du ja immer noch das zweite Byte auslesen und gibst, wenn das "0,5-Bit :-)" gesetzt ist, einfach '.5' anstatt '.0' auf das Display aus.
Danke euch für die Antworten,jetzt funktionierts einwandfrei,hatte es so ähnlich gemacht wie Swen Strobel schreibt,von allem was >127 ist das ZweierKomplement und je nach lobyte halt ,0 oder ,5 drangehängt und da kam natürlich nur murx raus...jetzt hab ich das LSB(0,5) in die ZweierKomplementbildung mit einbezogen und siehe da es geht!!!!! Merci noch mal an alle Gruß Jörg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.