Forum: Mikrocontroller und Digitale Elektronik tiny26 - max7219


von cid (Gast)


Lesenswert?

hallo,

bin gerade bei der programmierung der max7219 , ich benutze ein
tiny26..
ich möchte der ausgabe programm im tiny26 schreiben aber bis jetzt
komme ich nicht durch..
ich programmiere erste mal im assenbler ..die vorgehenweise ist:

    *  Steuerleitung LOAD löschen
    * Die Adresse (TEMP1) an den MAX7219 senden
          o Schleifenzähler (TEMP3) mit dem Wert 8 laden. (die folgende
Schleife wird demnach achtmal durchlaufen
          o Schleifenbeginn
                + Alle Bits im Übergaberegister (hier: TEMP1) auf die
nächst höhere Stelle schieben
                + Datenleitung DIN = Carry (= Flag im Statusregister):
Für diese Anweisung ist jedoch kein Assemblerbefehl vorhanden! Es ist
daher folgender Umweg notwendig: Zuerst prüfen, ob das Carry-Flag
gesetzt ist. Ist es gesetzt, die Datenleitung (DIN) ebenfalls setzen.
Andernfalls die Datenleitung (DIN) löschen. Ist das soeben eingelesene
Bit (Bit 0 vom Register TEMP3) gesetzt, Bit 0 des Übergaberegister
TEMP1 setzen
                + Takt erzeugen: Dazu zunächst die Taktleitung (CLK)
setzen, und wieder zurücksetzen
          o Schleifenende
    * Data (TEMP2) auf die gleiche Weise wie die Adresse (TEMP1) an den
MAX7219 senden
    * Steuerleitung LOAD wieder setzen, und eine positive Taktflanke
erzeugen

von crazy horse (Gast)


Lesenswert?

kannst du zwar in der Art nachen (deine eigentliche Frage habe ich nicht
gefunden), einfacher wird das Ganze, wenn du die USI benutzt.

von cid (Gast)


Lesenswert?

So habe ich es mir vorgestellt
PB1------->DIN
PB2------->CLK
PB5------->LOAD
.equ DIN=PORTB1
.equ LOAD=PORTB5
.equ CLK=PORTB2

Ausgabe:   cbi PORTB,LOAD
           ldi temp3,8
      IN:  lsl temp1
           brcs MM
           cbi PORTB,DIN
           rjmp GO
      MM:  sbi PORTB,DIN
      GO:  sbi PORTB,CLK
           cbi PORTB,CLK
           dec temp3
           brne IN

           ldi temp3,8
     IN2:  lsl temp1
           brcs MN
           cbi PORTB,DIN
           rjmp GO
      MN:  sbi PORTB,DIN
     GOO:  sbi PORTB,CLK
           cbi PORTB,CLK
           dec temp3
           brne IN2

           sbi PORTB,LOAD

kann man sagen das es so geht?

von crazy horse (Gast)


Lesenswert?

Probier es aus.

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.