3 stellige 7-Segmentanzeige

ruzzo

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Experten,
habe eine Frage zur Ansteuerung einer 3 stelligen BCD 7-Segmentanzeige mit Step7.Um Drähte zu sparen habe ich vier Drähte für die BCD-Daten verlegt,und drei Drähte für die 3 Ziffern zu steuern.Jetzt muss ich ablaufend eimal die BCD-Daten für die Einer-Ziffer dann für die Zehner-Ziffer und danach die Hunderter-Ziffer übertragen.Zusätzlich natürlich noch das Strobe-Signal.Wie kann ich das korrekt programmieren.Gibt es ein Multiplex-Baustein?

Gruss aus der Schweiz
 
Huhu,
warum machst du nicht einfach 7 Ausgänge pro Ziffer.

Du kannst auch für 4 Bin die Dez in Binär wandeln.

Ansonsten kannst es ja einach kodieren:

L MW 0
<>0
SPB M001

L 16#0000
T MW2

M001: NOP0

L MW 0
<>1
SPB M002

L 16#0001
T MW2

M002: NOP0

L MW 0
<>2
SPB M003

L 16#0010
T MW2

M004: NOP0

L MW 0
<>3
SPB M005

L 16#0011
T MW2

M005: NOP0
.
.
.
usw.
 
LED-Display

Hallo,
nein,bin leider noch nicht dazu gekommen.Habe ein paar Versuche gemacht,diese scheiterten aber,weil ich für die BCD-Daten einzelne Bits ansteuern wollte.Das verträgt das LED-Display nicht,und zeigt sporadisch auf einer Ziffer den Wert von der vorgehenden Ziffer an.Die Verdrahtung für die BCD-Daten sind nicht auf ein gesamtes Byte angeschlossen.Da die Transferbefehle nur Byteweise möglich sind,muss ich nun zuerst die Verdrahtung ändern.
 
das mit dem byte ist doch kein problem

Code:
L MB 2 //2.stelle
SLW 4 //4 bit nach links schieben
L MB 1 //1.stelle
OW 
T AB 1 //
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe mal eine Version programmiert.Habe es am LED-Display getestet und sieht nicht schlecht aus.Vielleicht gibt es eine schlankere Lösung.Bin halt Anfänger.

Takterzeugung für 3 Ziffern
U M 10.1 CPU-taktmerker
ZR Z 1
BLD 101
U(
L MW 2
L 0
==I
)
L C#4
S Z 1
NOP 0
L Z 1
T MW 2
NOP 0
NOP 0


Impuls für Strobesignal 1er
U(
L MW 2
L 1
==I
)
FP M 5.3
= M 5.0


Impuls für Strobesignal 10er
U(
L MW 2
L 2
==I
)
FP M 5.4
= M 5.1


Impuls Strobesignal 100er
U(
L MW 2
L 3
==I
)
FP M 5.5
= M 5.2


Transfer BCD-Daten 1er zu Ausgangsbyte und Strobe 1er setzen (BCD-Daten im MD120)
U M 5.0
SPBNB _004
L MB 123
T AB 19
SET
SAVE
CLR
_004: U BIE
= A 22.2 Signal für Strobe 1er


Verschieben von MB122 (10er-BCD-Daten) nach rechts und Transfer zu Ausgangsbyte und Strobe 10er setzen
U(
U M 5.1
SPBNB _005
L W#16#4
L MD 120
SRD
T MD 116
SET
SAVE
CLR
_005: U BIE
)
SPBNB _006
L MB 119
T AB 19
SET
SAVE
CLR
_006: U BIE
= A 22.3 Signal für Strobe 10er


Transfer BCD-Daten 100er zu Ausgangsbyte und Strobe 100er setzen
U M 5.2
SPBNB _007
L MB 122
T AB 19
SET
SAVE
CLR
_007: U BIE
= A 22.4 Signal für Strobe 100er
 
Zuletzt bearbeitet:
Zurück
Oben