Hallo Ich schalte die Stromversorgung von meiner Messschaltung (AT89C2051 LCD LM75) ein und der LM 75 sendet einwandfrei die 16 Bit´s. Aber wenn das Programm wieder von neuem beginnt den LM 75 auszulesen legt er immer die gleichen 16 Bit´s (11 Bit´s) auf den Bus, obwohl ich den LM 75 erwärme. Wenn ich dann aber die Messschaltung komplet aus schalte und dann wieder ein , dann kommt die neue Temperatur auf den Bus und Display. Nach dem 16. gesendetem Bit sende ich die STOP Bedingung und dann lege ich wieder die Lese-Adresse auf den Bus und so weiter....... die 100 ms halte ich ein. Denn ich sende die CLK Signale sehr langsamm damit ich sie auf dem Oszi beobachten kann. Wie aktualisiert der LM 75 seine Temperatur ???? vielen dank
im Prinzip brauchst du tatsächlich nichts anderes zu tun als einfach nur immer wieder auszulesen. (timingbeachtung mal vorrausgesetzt). Ich habe einige LM75 hier laufen, und es hat sich noch keiner so verhalten. Die Temperatur wird laufend intern aktualisiert, da musst dich nicht drum kümmern. Eigentich kann man den I²C auch Takten wie man will, also auch extrem langsam. Es gibt aber meines Wissens (bzw. ich habe mal gehört, also mit vorsicht zu genießen) Bausteine mit internem Timeout. Was ich mich Frage, warum schaust du dir die Signale aufm OSZI an und nicht aufm LCD ? :)
Ich lasse mir auch die Nullen und Einsen auch auf dem LCD anzeigen. Vieleicht sollte ich das ganze mal in BASCOM schreiben, vieleicht habe ich was in meinem Assembler Programm falsch gemacht oder es ist wirklich so das es dem LM 75 zu lange dauert. Der hat ja 11 Bit , die letzten 3 Bit für die Nachkommastellen. Aber dann ist der doch in der lage 0,125 °C anzuzeigen oder ?? und nicht nur 0,5 °C so wie es oft hier im Forum gesagt wird.
tTIMEOUT SDA Time Low for Reset of Serial Interface (Note 13) LM75B 75ms (min) 325ms (max) LM75C Not Applicable ...probiers einfach mal aus :) und bezüglcih der Genauigkeit: Temperature Digital Output Binary Hex +125°C 0 1111 1010 0FAh +25°C 0 0011 0010 032h +0.5°C 0 0000 0001 001h 0°C 0 0000 0000 000h −0.5°C 1 1111 1111 1FFh −25°C 1 1100 1110 1CEh −55°C 1 1001 0010 192h also so wie ich das sehe ist nur das LSB nachkommastelle mit einer Wertigkeit von .5 Gruß, Marc
Ich habe den LM 75 von Philips , habe das Datenblatt angehängt . Aber warum macht der beim ersten Auslesen kein TIMEOUT?? 0.125 °C
ah, ok, ich hab das DB von national hier da bin ich überfragt....probiers einfach mit "sicheren" Taktraten aus ;) wenn ich nen I2C auf funktion teste nehme ich meistens erstmal 1 khz...das geht immer ;)
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.