www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik tiny26 - max7219


Autor: cid (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: crazy horse (Gast)
Datum:

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

Autor: cid (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier es aus.

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.