Hallo! Ich habe als Projektarbeit ein Thermoelement (Dallas DS18S20) mit digitalem Ausgang an den µC des STK500 anzuschließen und dann die Temperatur über die 8 LEDs die am STk500 vorhanden sind, anzuzeigen. Daher würde ich gerne den digitalen Wert, welcher vom Thermoelement geliefert wird, in ein Register speichern und dann diesen binären Wert über die LEDs anzeigen. Als Programmiersprache verwende ich Assembler. Der verwendete µC ist ein ATMEGA16 Würde mich sehr über Tipps und Anleitungen freuen, da es äußerst dringend ist!
Na, du bist ja spassig. Wir sollen dir erklären, wie man eine One-Wire Bibliothek für AVR benutzt und dann den ausgelesenen Wert auf den Port schiebt? Für eine Projektarbeit musst du jetzt selber ein bisschen in die Gänge kommen. Übrigens ist der Dallas kein Thermoelement, sondern ein Temperatursensor.
:
Bearbeitet durch User
Dies ist mein 1. Beitrag in einem Forum, hoffendlich ist allesOk. Ich habe mal einen DS18B20 auf einem Ardoino-Board ausgelesen. Das grösste Problem ist der 1-Wire Bus, bei dem zeitliche Abläufe einzuhalten sind. Ich habe dazu allerdings einen FORTH-Metacompiler benutzt, so dass ich nicht sicher bin, ob der angehängte Sourcecode hilft. Bei den zeitkritischen Teilen habe ich den FORTH-Assembler benutzt, bei dem die Parameter vor dem OpCode stehen! Ich habe die IRQs der Timer TIMER2A und TIMER2B benutzt. Die führen lediglichen einen Programmvector aus. Diese werden je nach Bus-Aktion verändert. Viel Erfolg!
Lycra schrieb: > Danke! Werde den Code gleich testen. Na da bin ich neugierig. Keine One-Wire Bibliothek in Assembler finden, aber sich an Forth versuchen. :-)
:
Bearbeitet durch User
Hast recht, mit Forth wird das wohl nichts. Kannst mir aber gerne weiterhelfen =)
Wurde schon gesagt. Das Thema DS1820 kommt hier regelmässig jede Woche mindestens 3 mal hoch. Entsprechend hoch sind die Beitragszahlen. Sowohl hier in diesem Teil des Forums als auch in der Codesammlung (die jetzt 'Projekte&Code' heißt).
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.