Forum: Mikrocontroller und Digitale Elektronik Mega32 und Tempsenosr LM 75CIM Anfängerhilfe


von Thomas R. (einseins)


Lesenswert?

Bitte gestattet mir eine Frage

Ich möchte mit Hilfe des LM75 und dem Atmel Anschluss des Sensor an den 
PINS PC0(SCL) und PC1(SDA) . Die Adressbelegung des Sensores A0 bis A2 
habe ich auf Low liegen da nur ein Sensor angeschlossen ist . Nun aber 
meine Frage ich möchte nun die Werte des Sensores auslesen und erst mal 
binär mit den LEDs des STK anzeigen lassen .

Zur Verbindung zu einem I2C Gerät benötige ich wenn ich das richtig 
gelesen habe folgende Register
TWDR
TWAR
TWSR
Nun aber das wichtigste .
Ich habe das Änfänger-Tutu durchgearbeitet ,und  habe viele 
theoretischen Begriffe erfasst . Komme jedoch nicht klar wie ich auf den 
Bus zugreifen kann. Das Anzeigen an PortB ist dann wiederum klar.
Nun aber mal eine Idee von mir ,welche nur eine Kopie im Tutuorial ist


Auszug zum lesen eines Eprom mit mehr als 256Byte Inhalt

.include "m32def.inc"
        ldi R16, 0xFF
        out DDRB, R16                     ; Port B: Ausgang

        ldi r16, HIGH(daten)              ; Adresse laden
        out EEARH, r16
        ldi r16, LOW(daten)
        out EEARL, r16

        sbi EECR, EERE                    ; Lesevorgang aktivieren

        in R16, EEDR

        out PORTB, R16

loop:   rjmp loop

Wie ändere ich die 3 oben angegeben Register(welcehe hier den EEprom 
lesen ), das die Daten korrekt aus dem i2C Temperatursensor gelesen 
werden . ??
Vielen Dank

von johnny.m (Gast)


Lesenswert?

> Ich möchte mit Hilfe des LM75 und dem Atmel Anschluss des Sensor an den
> PINS PC0(SCL) und PC1(SDA) .
Dieser Satz macht nicht wirklich viel Sinn...

Ich verstehe Dein Problem nicht! Das Lesen von Werten aus dem EEPROM hat 
doch überhaupt nichts mit dem I²C-Bus zu tun! Bitte beschreibe etwas 
genauer und zusammenhängender, was Du machen willst und wo Du Probleme 
hast.

von Thomas R. (einseins)


Lesenswert?

Tja das habe ich vielleicht nicht richtig beschrieben .
Ich habe den Controller M32 und ein LM 75 (Tempsensor mit I2c 
Busausgang).
Die Werte die an diesem Ausgang liegen möchte ich mir gern anzeigen 
lassen . Am einfachsten binär ,da auf meinem Stk500 diese LEDs schon 
vorhanden sind . Leider habe ich gar keine Ahnung wie ich diesen Bus 
auslese.
> PINS PC0(SCL) und PC1(SDA) .
das sind die Pins ,wo der BUS in den Controller geht ,wenn ich das 
richtig verstanden habe.

Ich habe noch keine Erfahrung mit dem Bus I2c und kann somit nicht 
beschreiben wie ich auch nur ansatzweise diese Schnittstelle ansprechen 
kann . Über einen kleinen Tip oder besser einen kleinen Programmauszug 
wäre ich sehr dankbar.

von johnny.m (Gast)


Lesenswert?

Zum Arbeiten mit dem Bus musst Du die Steuerregister entsprechend 
konfigurieren. In Deiner Liste oben fehlt übrigens noch das TWCR. Zu dem 
Thema müsstest Du Dir aber mal die entsprechenden Stellen im Tutorial 
und im Datenblatt durchlesen (v.a. dann, wenn Du nicht mal weißt, wie 
I²C überhaupt funktioniert). Dir fehlen anscheinend aber auch generelle 
Controller-Grundlagen (das schließe ich jetzt mal aus der Verwirrnis mit 
dem EEPROM...).

Übrigens: Um die Pins SDA und SCL selber brauchst Du Dich nicht zu 
kümmern. Das macht die Hardware, wenn sie einmal richtig konfiguriert 
ist.

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.