www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega steuert über I2C SAA1064 LED Treiber


Autor: Gerhard Hagenauer (computerkora)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte gerne 12 7-Segementanzeigen über den SAA 1064 im 
Multiplexbetrieb mittels I2C ansteuern.

Um dies umzusetzen habe ich mir eine kleine Routine geschrieben,um dies 
auszutesten.

Leider bin ich nun an einem toten Punkt angelangt.

Ich kann den Baustein ansprechen und wenn ich ins Statusregister die 
Werte für den Segmenttest lade, dann leuchten auch alle Segmente.

Wenn ich das Datenblatt richtig interprediere, dann muß ich zuerst den 
Baustein initialisieren, das mache ich so:

I2cstart
I2cwbyte Adresse_car12              'Adresse des ersten Bausteins
I2cwbyte Statusregister             'Statusregister ansprechen
I2cwbyte Modusbyte                  'Betriebsmodus &B00110111
I2cstop

Danach rufe ich eine Subroutine in einer Endlosschleif auf, die die 
Daten zum Baustein übertragen soll - mit Waitsteps.


Sub I2c_write(byval Adr As Byte , Byval A_data As Byte , Byval B_data As 
Byte , Byval C_data As Byte , Byval D_data As Byte)



I2cstart
I2cwbyte Adr                                 'Daten schreiben
I2cwbyte A_data
I2cwbyte B_data
I2cwbyte C_data
I2cwbyte D_data
I2cstop
Waitms 10

End Sub


Kann mir jemand eine Tipp geben was ich dabei falsch mache - die 
Anzeigen bleiben Dunkel, ganz egal was ich da rausschreibe.

lg.
gerhard

Autor: KlaRa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerhard,
vielleicht hilft Dir diese Seite weiter: 
http://www.cc2net.de/Module/module.html
---------------------------------------
saa1064.zip V1.0 Gemeinsames Modul André Helbig 11.01.2004
  Treiber für SAA1064 4-Digit 7Segment-I²C-Bus-Baustein und CCTools 
I2C-7Seg4
  Features:
  - Ausgabe bis zu 8stelliger Zahlen in Dezimal und Hexadezimal
  - Ausgabe einzelener Ziffern
  - Ausgabe selbstdefinierter Zeichen
  - Verwendung des SAA1064 als 16Bit-Portexpander
---------------------------------------
Gruss Klaus

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
bei mir funzt folgendes:
I2cstart
I2cwbyte 112       'Schreibadresse SAA1064 (7 SegmentTreiber)
I2cwbyte 0       'Adresszähler auf 0 (Control Register)
I2cwbyte &B00010111       'schreibe Control Register ()
I2cwbyte 63       '4te Ziffer
I2cwbyte 6       '3te Ziffer
I2cwbyte 91       '2te Ziffer
I2cwbyte 79       '1te Ziffer

Gruß Stefan

Autor: Gerhard Hagenauer (computerkora)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Dank für euer Input,

anbei mein Testprogramm mit dem es funktioniert.

Es werden zuerst die Zahlen 0,1,2,3 angezeigt und anschließend in einer 
schleife die Hex -Zahlen durchgezählt.

lg.
gerhard

Autor: franz-juergen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

an dieser Stelle vielen Dank für die hilfreichen Erklärungen. Damit habe 
ich mein Thema in dieser Angelegenheit ebenfalls lösen können. - Ich 
nutze einen AT-Mega 162 und baue zur Zeit eine 3-stellige 
Programmanzeige für meine MIDI-Steuerung.

Fröhliche Weihnachten und gute Zeit
Franz-Juergen

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.