PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abel,Zähler von 0 bis 59 mit 2 Zählern mit Multiplex auf 2 7-Segment Anzeigen



daeila
13.07.2008, 21:36
Hallo ich hoffe es kann mir jemand helfen!
Ich besuche gerade die Technikerschule und ich habe folgende Aufgabe bekommen um meine Note zu verbessern:

2 Zähler zusammenbauen die bis 59 Zählen und danach bei 0 wieder beginnen.(Ein Zähler von 0bis5 und einer von 0bis9)
Die 2 Zählen müssen über einen Codeumsetzer auf 2 7-Segmentanzeigen gebracht werden und mit Multiplex müssen beide Anzeigen gleichzeit zu sehen sein (Frequenz).
Hat zufällig jemand so ein Programm oder etwas ähnliches?
Die Zähler ( Flipflops ) habe ich hinbekommen aber ich brauche hilfe beim Multiplex.

Für Hilfe bedanke ich mich jetzt schonmal

Mfg Daseila

eman
14.07.2008, 08:50
Hi

herzlich wenig Info

spontan habe ich diese Zeichnung gemacht wobei die Multiplextransistoren keine NPN ...sondern PNP sein muessen die nicht nach Null sondern nach Plus ziehen.
Display hat Gemeinsame Anode...

wozu Multiplex ? fuer Hellikeitssteuerung ?

elmar
14.07.2008, 11:40
Hi,

hier auf Batronix gibt es eine Schaltung die Multiplexing benutzt:
http://www.progshop.com/images/graphics/circuits/t_modul_sch.gif

So funktioiert es. Der µC (AT89c2051) legt abwechselnd die korrekten Signale für die Anzeigen an. Erst Werte anlegen, Transistor für die passende Stelle einschalten, warten, transistor wieder ausschalten und beim nächsten Segment weiter machen.

Anstelle des ULN2803 benutzt Du einen BCD zu 7-Segment Decoderbaustein. Du brauchst ja auch nur die ersten beiden Stellen, also zwei Transistoren und zwei Displays. Und den Decoder fütterst Du dann mit deinen BCD Zahlen.

Das geht dann folgendermaßen:

Daten für Display 1 anlegen (0..5)
Transistor 1 durchschalten (LOW)
Warten
Transistor 1 abschalten (HIGH)
Daten für Display 2 anlegen (0..9)
Transistor 2 durchschalten (LOW)
Warten
Transistor 2 abschalten (HIGH)

Dazu braucht man einen Taktgenerator, der das Multiplexing steuert. Damit nichts flackert, muß man nach Anlegen der Daten kurz warten.
Dazu teilt man den Takt durch 2:


Takt: __--__--__--__--__--__--__--__--
Teil: __----____----____----____----__


Die Logik geht jetzt folgendermaßen:

Wenn "Teil" HIGH ist, werden Daten vom Display 1 angelegt, andernfalls die Daten vom Display 2. Dabei natürlich auch die entsprechenden Transistoren mit freigeben, also T1 bei HIGH und T2 bei LOW.
Die Transistoren kriegen zusätzlich den Takt, schalten also durch wenn "Takt" low ist.
Dadurch kriegt der Decoder zeit, sich an die neuen Daten zu gewöhnen.

Die Frequenz von "Takt" sollte mindestens 50Hz betragen, kann also leicht aus der Wechselspannung eines Trafos gewonnen werden.

Gruß
Elmar

guidob
14.07.2008, 17:46
Hallo Ed und Elmar,

es geht doch um eine Strafarbeit, die in ABEL gelöst werden soll. Wenn ich
mich recht entsinne, kennt sich Arne mit Abel aus, aber der spielt ja....:)

Grüße,

guidob

elmar
14.07.2008, 23:31
Hi,

auch ich kenne mich mit ABEL aus, denn "Alter kram" ist mein Hobby. Ich kann etwa ein Dutzend "tote programmiersprachen", ABEL gehört da auch zu, auch wenn es sich um eine Hardwarebeschreibungssprache handelt.
Mein absoluter favorit ist allerdings "Pilot". War ganz hübsch und simpel - wenigstens für die Maschine.

Gruß
Elmar

eman
15.07.2008, 10:18
Advanced Boolean....so ein Mist !

Aber ohne Hardwarekenntnisse und Blockschaltbilder wo kommt da das arme Programmiererchen hin ? :eek:

Guidob , hast du noch mit Abel zu tun?

Rudo
15.07.2008, 12:25
Hi,
mit Abel hatte ich auch nie Probleme, es ist allerdings auch schon 'verdammt lang her' -
zum googeln einfach nur eingeben:
Abel-HDL reference synario
und schon kommt gleich als erstes:
ABEL-HDL Reference Manual (http://www.ue.eti.pg.gda.pl/cup/abel_ref.pdf)

guidob
15.07.2008, 21:31
Hallo Ed,



Guidob , hast du noch mit Abel zu tun?

nö, hatte auch nie.:)

hab nur mal vor nem halben Jahr schnell VHDL gelernt. Ging ganz einfach:
Was ich brauchte aus dem Tutorial kopieren und auf die, für mein immer
noch unfertiges :mad: X-Y-Display, benötigte Bitbreite umändern.:D

Gruß,

guidob