Forum: Mikrocontroller und Digitale Elektronik LM75 mit asm auslesen


von Toni B. (Gast)


Lesenswert?

Hallo zusammen,

ich such jetzt schon einige Zeit infos zum I2C Bus zusammen und hab
solangsam glaube ich auch verstanden wie's theoretisch funktioniert.
Jetzt würd ich mir aber doch gerne mal ein Beispiel in Assembler
anschauen, finde zig beispiele in Bascom und C aber in assembler werd
ich einfach nicht fündig. Konkret will ich einen LM75 auslesen. Am
besten wäre natürlich ein beispiel für nen AVR, aber andere tuns auch
;-).

Mich würde mal interesieren wie das mit Warteschleifen aussieht usw
usw.
Viell. habt ihr ja einen guten Link für mich.

Thx schonmal

Toni

von Gerd (Gast)


Lesenswert?

Hallo Toni,

für einen ATmega8 z.B. findest Du alles sehr genau beschrieben im
Manual ab Seite 159, den ersten Assemblercode dazu findest Du auf Seite
173. Er funktioniert!
Das Manual kannst Dir bei Atmel sorglos und bequem runterladen.

Nur so ein Tip:
Wenn ich was entwickeln will und den Baustein nicht genau kenne oder
dieser in der Funktion sehr aufwendig ist, ist meine erste Arbeit die
Beschreibung dazu aus dem Net zu holen und auszudrucken.
Erleichert danach die Arbeit mit den Bausteinen ungemein einfacher.

Gruss

Gerd

von Toni B. (Gast)


Lesenswert?

thx :)
hat mcih schonmal weitergebracht g ...
werd dann mal besteleln und dann sicherlicht wieder mit vielen Fragen
zurückkommen ;-).

Toni

von Toni B. (Gast)


Lesenswert?

Noch eine Frage,
weiß einfach nicht wie man das am schlausten anstellt.
Wenn ich den sensor ausgelesen hab bekomm ich den Tempraturwert als ein
byte zurück (vorausgesetzt ich lass die nachkommastelle weg) ... Wenn
ich das jetzt aber auf einem LCD display anzeigen lassen will muss ich
dieses byte ja zerhacken in die einzelnen stellen der zahl und diese
dann als ascii byte an das lcd senden. Wie stellt man das jetzt am
schlausten an? Kann mir da noch nichts drunter vorstellen :(

toni

von Rahul (Gast)


Lesenswert?

Hast du dir die Beispiele im LM75-Datenblatt angeguckt?
Es handelt sich um signierte Zahlen, also positive und negative
Zahlen.
Wenn du das oberste Bit (Vorzeichen) bei den positiven Zahlen weglässt,
und die Zahl mit 0,5°C multiplizierst, kommst du auf die Temperatur.
Wenn du also das letzte Bit auch weglässt, hast du die Termperatur in
°C. Die negativen Zahlen stehen dort als Zweierkomplement...
http://de.wikipedia.org/wiki/Zweierkomplement
Wie man die Umwandlung und damit die Anzeige in ASM realsiert, findest
du vermutlich irgendwo im Forum...

von Gerd (Gast)


Lesenswert?

Hallo Toni,

zu Deinem Text und Frage:
Du gehst wieder auf die Internetseite von ATMEL,
dort gibt es 'ne Rublik mit APPLICATION NOTE für AVR's.
Hier suchst Du Dir die APPNOTE AVR204 aus und schon kannst Dein Problem
mit den ASCII-Zeichen problemlos lösen.

Du kannst aber auch meine fertige LCD-Routine mit I2C-Ansteuerung,
ASCII-Wandlung,
Ausgabe aus ROM oder RAM,
1. oder 2. Zeile,
bestimmte Position in der Zeile usw. nehmen.
Hast aber nicht, also selber machen....so wie ich.

Nur so wirst Du
1. im Net was suchen lernen
2. auch mal was selber lernen zu programmieren
3. Dann weisst auch genau, was jedes Byte in dem Teilprogramm macht und
Änderungen fallen Dir wesentlich leichter, da Du den Hintergrund kennst,
warum es so und nicht anders ist.


Schönes WE

Gerd


Hier Dein Text:

Noch eine Frage,
weiß einfach nicht wie man das am schlausten anstellt.
Wenn ich den sensor ausgelesen hab bekomm ich den Tempraturwert als
ein
byte zurück (vorausgesetzt ich lass die nachkommastelle weg) ... Wenn
ich das jetzt aber auf einem LCD display anzeigen lassen will muss ich
dieses byte ja zerhacken in die einzelnen stellen der zahl und diese
dann als ascii byte an das lcd senden.

Wie stellt man das jetzt am
schlausten an? Kann mir da noch nichts drunter vorstellen :(

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
Noch kein Account? Hier anmelden.