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
kannst du zwar in der Art nachen (deine eigentliche Frage habe ich nicht gefunden), einfacher wird das Ganze, wenn du die USI benutzt.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.