www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik I2C Assembler


Autor: Pirmin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halllo Zusammen

Ich hab ein Projekt am laufen, indem ich eine I2C schnittstelle 
programmieren muss, da ich keine als hardware zur verfügung habe.
Mit der Schnittstelle soll ein RTC (DS1307) angesteuert werden.
Kann mir jemand helfen??? Hat jemand I2C-Subroutines in assembler??

greez pirmin

Autor: ecslowhand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für welchen Prozessor ???

Autor: Pirmin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C509-LM

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nicht ganz für deine CPU (ist für nen nintendo handheld), aber immerhin 
in assembler:
http://lupin.shizzle.it/eepromsample.zip

Diese seite wird dir weiter helfen deine funktionen zu implementieren:
http://www.esacademy.com/faq/i2c/index.htm

Die habe ich als grundlage dafür genommen.

Autor: Pirmin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
subroutines haben wir schon, jedoch können wir die daten nicht richtig 
empfangen.

im anhang die recv subroutine, hast du eine Idee, wieso dies nicht 
funktioniert???

Autor: Pirmin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den SQW ausgang können wir ansteuern. wir bekommen ein schönes 1Hz 
Signasl. Das beschreiben wird daher sehr wahrscheindlich funktionieren.

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich kenne den Prozessor nicht, ist das korrekt, dass Bit setzen setb 
aber löschen einfach clr heißt, nicht clrb oder so ähnlich? Mit clr 
würde ein AVR alle 8 Bit des Ports auf einmal zu Null setzen.

Autor: Pirmin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nei mit clr wird nur das einzelne BIt gelöscht. mit setb das Bit 
gesetzt.

Autor: Pirmin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist es gelungen, dass der RTC die Sekunden zählt. Diese Signale habe 
ich mit dem KO gemessen, jedoch hat ein Bit nur eine spannung von 0.4 
Volt.
Die Zählzustände sind klar ersichtlich.
Für den PULL-UP Widerstand habe ich 4.7kOhms verwendet.
Was könnte der Fehler sein???

Autor: pirmin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
push

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
pop

Autor: tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zeig mal die Schaltung, 0,4V klingt irgendwie nach Schutzdiode

Autor: Pirmin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der DS1307 wird durch den Mikrocontroller C509-LM angesteuert.

Autor: Pirmin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die Schaltung ist im Anhang

Autor: tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaltung sieht gut aus (bis auf die Batterie, muss da nicht irgendwie 
noch ne Diode ran ? )

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>(bis auf die Batterie, muss da nicht irgendwie noch ne Diode ran ? )

nö.

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An welchem Port hast du die Uhr hängen?
Wie realisierst du die I²C-Schnittstelle?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.