Matrix 8x8 ansteuern

  • Hallo, ich habe mal eine Hardwarefrage zur Matrix 8x8 Max 7219.


    Hier das Datenblatt.


    Ich möchte das Modul direkt ansprechen mit dem Schreibbefehl (Befehl, Data).

    Im Prinzip klappt das auch. Nur nicht so wie ich möchte.

    Ich schlage mich schon seit Tagen mit Tests herum, jetzt hoffe ihr könnt mir ein bisschen helfen.

    Das ganze steuere ich mit Java (SpiDevice). Aber es geht in erster Linie um das Datenblatt.


    Ich möchte die LED einzeln ansprechen, oder auch wie Tabelle 6 zeigt das 7-Segment.


    In Tabelle 2 sieht man Digit 0 bis Digit 7. Da denke ich mal, das ist für Reihe 1-8?

    Also schreibe ich spi(0x01, 0x10) für das 1. LED? Dachte ich. Ist aber wahrscheinlich nicht so.


    Jetzt meine konkreten Fragen.


    Wie kann ich einzelne LED ein/ausschalten?


    Wie muss ich vorher in welchen Modus schalten?


    Wie muss ich schalten wenn ich das 7-Segment nutzen möchte?


    Zur Info: Der Displaytest spi((byte) 0x0F, (byte) 0x01), das shutdown ((byte) 0x0C,(byte) 0x00) funktioniert.

    Also im Grunde geht es. Nur ich komme leider mit den Datenblatt und den Modus'en nicht klar.


    Gruß

  • Da sich niemand erbarmt, übersetzt ich einmal auszugsweise das Datenblatt


    [Initial Power-Up]

    - Beim Einschalten werden alle Register auf 0 gesetzt und der Controller befindet sich im Shutdown Mode, das Intensity Register auf minimalst.


    [Shutdown Mode]

    - Anzeige ausgeschaltet, Register bleiben erhalten

    - 0x0c, 0x01 Normal Operation, Shutdown Mode beendet


    [Scan-Limit Register]

    - Bestimmt, wieviele Ziffern (digit 0 - 7) angezeigt werden sollen.

    - 0x0B, 0x07 alle 8 Ziffern werden angezeigt


    [Intensity Control]

    - Bestimmt die Leuchtkraft der LEDs und ist abhängig vom externen Widerstand R(SET)

    - 0x0A, 0x07 mittlere (Leucht-)Intesität


    [Display-Test Register]

    - Schaltet alle LEDs mit maximaler Intenity ein und muss mit Normal Mode beendet werden. Vorherige Registerdaten bleiben erhalten

    - 0x0F, 0x00 beendet den Display Test


    [Decode-Mode Register]

    - Erlaubt die Eingabe von 0x0 bis 0xF im zweiten Datennibbel in den dafür aktivierten Registern (digit 0 - 7), um die Ziffern 0 bis 9 und die definierten Zeichen direkt auf der 7-Segment Anzeige auszugeben. Das erste Bit im ersten Datennibbel wird dabei für den Dezimalpunkt verwendet (0x0 bis 0x7 kein Dezimalpunkt, 0x8 bis 0xF Dezimalpunkt wird angezeigt.

    - 0x09, 0xFF Alle 8 Digits 0-7 für (BCD) Decode Modus aktivieren

    ; 0x01, 0x06 zeigt 6 als erste Ziffer

    ; 0x02, 0xF6 zeigt 6 als zweite Ziffer mit DP

    ; 0x03, 0x0B zeigt E in der dritten Ziffer

    - 0x09, 0x00 Decode Mode an allen Digits deaktivieren


    [General Description]

    - Für 3 V Anwendungen beachte das MAX6951 Datenblatt


    Alles ungetested, Tippfehler möglich.



    Servus !

    RTFM = Read The Factory Manual, oder so