tiny26 - max7219

Gast #335493
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
Gast #335495
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?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.