Step 7 Ein Bit schieben

chipset

Level-1
Beiträge
88
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich bräuchte mal eure Hilfe. Ich möchte ein Schieberegister erstellen und komme nicht weiter. Das Ganze soll wie folgt funktionieren:

Wenn der Eingang E0.0 "1" ist und der Takt E0.1 "1" ist, dann soll eine "1" an die erste Stelle des Mw10 geschoben werden. Also soll M10.0 = "1" sein.
Wenn der Eingang E0.0 "0" ist und der Takt E0.1 "1" ist, dann soll eine "0" an die Stelle M10.0 gehen und die "1" von vorhin soll nun auf M10.1.
und so weiter...

Ich möchte dann immer den M10.7 auf "1" oder "0" kontrollieren und danach einen Ausgang schalten. Geht sowas?

Danke vorab.

E0.0=1 + Takt =1 ---> M10.0=1
E0.0=0 + Takt =1 ---> M10.0=0 + M10.1 = 1
E0.0=1 + Takt = 1 ---> M10.0=1 + M10.1=0 + M10.2=1
 
ich würde sagen,
wenn E0.0 = 1 + Takt, zunächst *2 und dann +1
wenn E0.0 = 0 # Takt, dann *2

Andere Möglichkeit:
Einen Baustein abhängig vom Takt aufrufen. Diesem Baustein E0.0 übergeben... dann kannste mit einfacher Zuweisung die Bits "schieben"
 
top funktioniert.aber warum fangen due bits bei adresse eins an zu füllen und geht dann erst auf adresse null.bei db1.dbw0 zum Beispiel.

und eine frage hätte ich noch. wenn ich dass alles über ein mw mache kann ich mir ja die einzelnen bits rausziehen die ich will. aber wenn ich das über die temp variablen mache, also ich lege ein word in der deklarationstabelle an, wie kann ich da ein bit rausziehen?

danke
 
Zuletzt bearbeitet:
Zurück
Oben