Forum: Mikrocontroller und Digitale Elektronik 4x(5*7) Matrix--Zeilenmultiplex


von Daniel B. (und3rt4ker)


Lesenswert?

Hi

ich programmiere gerade einen ATtiny2313 in Assembler, der über ein 
Schieberegister an den Zeilen und 3 Schieberegistern an den Spalten eine 
Matrix aus vier 5*7 Matrix-Modulen ansteuern soll. Zeilenmultiplex!

Wie kann man am einfachsten sieben mal(7Zeilen) drei Byte(20Spalten) ein 
Bit nach links schieben(byteübergreifend)? Das ganze liegt im SRAM und 
dient dazu den anzuzeigenden Text eine Stelle nach links zu schieben.

Theoretisch müsste ich doch:
1-linke  byte---lsl
2-mittlere byte-lsl--wenn carry set das lsb vom linken byte setzen sonst 
clr
3-rechte byte---lsl--wenn carry set das lsb vom mittleren byte setzen 
sonst clr
4-(neue Daten ins lsb vom rechten byte)
5-von 1 an 7 mal, weil 7 Zeilen
..Aber das is so "irrationell". Wenn ich da falsch liege, dann Augen zu 
und durch.*g*


MfG
und3rt4ker

Vielen Dank

von FreeJack (Gast)


Lesenswert?

Moin,


um mehrere Bytes um ein Bit zu shiften ruft man beim ersten LSL/LSR auf 
und bei den folgenden dann ROL/ROR.
LSL und ROL z.B. schieben das links rausfallende Bit in das Carry-Flag, 
ROL füllt von rechts mit dem Carry-Flag auf.


Gruß
FreeJack

von Daniel B. (und3rt4ker)


Lesenswert?

Hi,

gut zu wissen, danke!


MfG
und3rt4ker

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.