Hi Leute!
Habe eine Frage bezüglich eines Problemes!
Es ist ein Stecker gegeben wo ein 8 Bit Binärer Code geben ist. Ich will
nun diesen Code aus 8 Pins einlesen und dann auf einem 3 Stelligen
Display ausgeben. Wie kann man es am einfachsten realisieren!
Für 1 sind die Pins einfach kurzgeschloßen und für 0 frei!
Würde mich sehr freuen über eine schnelle Hilfe,
mfg
Alex
Alex wrote:
> Es ist ein Stecker gegeben wo ein 8 Bit Binärer Code geben ist. Ich will> nun diesen Code aus 8 Pins einlesen und dann auf einem 3 Stelligen> Display ausgeben. Wie kann man es am einfachsten realisieren!> Für 1 sind die Pins einfach kurzgeschloßen und für 0 frei!>
Willst du einen Prozessor einsetzen oder kann das auch
ein normaler Digitial-IC sein (2 Hex-Decode an 2 Siebensegment und
gut ists).
Wenn Prozessor: welcher?
Welche Programmiersprache?
Was ist das für ein Display?
Kurzgeschlossen womit? Mit Vcc oder mit GND oder etwa gar
untereinander?
Welchen Teil der Aufgabenstellung kannst du selbst lösen,
wobei brauchst du konkret Hilfe?
Hi du bist ja super schnell!
Display ist ziehmlich egal könnte auch ein Siebensegmentanzeige sein.
Die Kontakte sind miteinander verbunden. Es liegt dort keine Spannung
an!
Hilfe brauch ich erstmal beim Konzept. Ich beherrsche Java (kein
Script)ist ja ähnlich wie C bzw C++.
Alex wrote:
> Hi Leute!> Habe eine Frage bezüglich eines Problemes!>> Es ist ein Stecker gegeben wo ein 8 Bit Binärer Code geben ist.
Ist das jetzt der versprochene Codeschloss-Thread?
(Beitrag "Re: Hat jemand diese Schaltung schon mal nachgebaut?")
> Ich will> nun diesen Code aus 8 Pins einlesen und dann auf einem 3 Stelligen> Display ausgeben. Wie kann man es am einfachsten realisieren!
- Mikrocontroller nehmen, z.B. Mega8
- einen 8-Bit-Port als Eingang nehmen
- einen 8-Bit-Port über Segmentwiderstände an die Segmente des Displays
- drei Portpins eines weiteren Ports über Basiswiderstände an die
Digit-Treiber-Transistoren
- Programm schreiben
Programm:
- Port einlesen
- eingelesenen Wert in drei BCD-Stellen zerlegen und ablegen
- Timer-Interrupt für Anzeige-Multiplexing einrichten
In der Timer-ISR:
- Treiber-Transistor aus
- Digit-Zähler hochzählen (oder runter) (0..2)
- BCD-Datenwert holen und als Index auf Lookup-Tabelle nutzen
- Bitmuster aus Lookup-Tabelle holen und an Segment-Port ausgeben
- Treibertransistor einschalten
> Für 1 sind die Pins einfach kurzgeschloßen und für 0 frei!
..geschlooooooßen iss gut... ;-)
Umgedreht ist üblich. Wenn aber Kurzschluss (L-Pegel, 0) eine 1
verkörpern soll und offen (H-Pegel aufgrund des internen
PullUp-Widerstands) eine 0, dann muss der Eingangswert noch invertiert
werden. Auch kein Problem, nix iss unmöglich...
>> Würde mich sehr freuen über eine schnelle Hilfe,
Ich hab's versucht, hoffentlich kannst Du was damit anfangen.
> mfg> Alex
...
Sucht er sowas?
http://maven.smith.edu/~thiebaut/270/datasheets/sn74ls47rev5.pdf
Dann beachte er das er mit zwei dieser Bausteine den Wert hexadezimal
anzeigt!
Ansonsten ist ein ROM (EPROM,EEPROM) auch eine Alternative; die unteren
256 Einträge beinhalten dann die Kombination für die Anzeige (Anzeige
über Treiber am Datenbus, 8-Bit-Wort an das untere Halbwort des
Adreßbusses, oberes Halbwort per Pull-Down auf 0).
Ansonsten: den Decoder in Diodenlogik bauen.
Oder einen Kontroller mit 15 E/A-Anschlüssen verwenden. Eine
Look-Up-Tabelle wird Dich als Informatiker ja nicht vor große
Hindernisse stellen!
@rudi,
nein sowas sucht er nicht, das ist nur die decodierung von bcd zu
7segment.
zuvor benötigt er noch soetwas, ist aber kaum noch zu haben
74485 Binär-zu-BCD-Codeumsetzer, wenn er es in hardware machen will....
m.
Hi maddin,
genau so ein Teil brauch ich!
Am besten hardware mäßig realisieren, aber habe alle möglichen Kataloge
durchgesucht und nichts gefunden, da es ja auch 8 Bits sind (Dezimal bis
255) anzeigen sollte! und ich mich mit mikrokontroller sogut wie nicht
auskenne ;(
???
mfg
Alex
Moin!!
Also habe da ein Logik-Baustein, der fast nirgenswo zu kriegen ist.
Jetzt meine Frage weiss einer von euch, ob es unterschiede zwischen den:
SN 74184, SN 74185, bzw DM 74185 und DM 74185A
Und habt ihr schon Erfahrungen mit diesem Shop gemacht?
http://www.sr.jung-gbr.de ??
Dort gibt es den SN 74184 und SN 74185!
Mfg
Alex
Hallo Alex,
ich habe keine erfahrungen mit diesem Shop, aber das muss ja nichts
heißen.
der unterschied zwischen -184 und -185 liegt ganz einfach in der
"richtung"
-184 konvertiert von BCD zu binär und -185 von binär zu BCD, hier hilft
auch das datenblatt.
bei diesen bausteinen handelt es sich um steinalte programmierte
ROMs(74S371), zudem sind sie sehr teuer, und sehr stromintensiv, diese
lösung lohnt sich also nur des lernens wegen, und um evtl. besser an
ziehl zu kommen, wenn keine erfahrungen mit mikrokontrollern existieren
und programmern existieren, und dich auch nicht interessieren.
für deine konstellation benötigst du zu alledem nicht nur einen dieser
ttl ics um ans ziehl zu gelangen, siehe anhang.
evtl solltest du mal darüber nachdenken, wie es denn wäre wenn du ein
eeprom o.ä. dafür einsetzt....davon benötigst du dann nur eins, und es
ist nicht so teuer, nur programmieren müsstest du es dann...wie rudi
bereits erwähnt hat...ansonsten ist es dann 4 mal der SN 74185.
m.
Hi!
Das ist gut, dann nehm ich den SN 74185.
Wegen Strom verbrauch brauch ich mich net kümmern da es ein Testgerät
werden soll, der nur kurze Zeit den Code Dezimal anzeigen soll.
Da ich wenig Zeit habe, kann ich mich auch leider nicht mit epproms
beschäftigen, aber bald ;)
So ich dachte das ich dann den SN 74185 (3x) direkt mit drei TIL 311
(mit BCD dekodierung) Anzeigen direkt verbinde. Als versorgungsspannung
nehme ich dann 5 Volt.
Muss ich da weitere Sachen beachten?
mfg
Alex
ja, wenn du nur bis 255 zählst dann sollte es mit dreien gehen.
die til311 haben latches, die musst du nat. enabeln - ttl kompatibel
sind sie ja.
nimm 5V DC...
ansonsten würde ich die standard dinge beachten, wie kondensatoren an
gewissen stellen usw....
viel erfolg.
m.
Hi Maddin,
das ist auch mein Prob., ich habe da sogut wie keine Ahnung was ich da
noch beachten muss.
@"ansonsten würde ich die standard dinge beachten, wie kondensatoren an
gewissen stellen usw...."
Gibt es eigendlich auch gutes simulations Programm für solche
Schaltungen?
Alex
Alex wrote:
> Hi Maddin,>> das ist auch mein Prob., ich habe da sogut wie keine Ahnung was ich da> noch beachten muss.> Gibt es eigendlich auch gutes simulations Programm für solche> Schaltungen?
Ich glaube kaum, dass die Anwendung eines (noch so) guten
Simulationsprogramms fehlendes Wissen ("sogut wie keine Ahnung")
kompensieren kann. Ich weiß, das hört sich arrogant an, ist aber
keineswegs so gemeint.
> @"ansonsten würde ich die standard dinge beachten, wie kondensatoren an> gewissen stellen usw...."
Schaltungen mit digitalen ICs funktionieren nur (zuverlässig), wenn man
bestimmte, allgemein bekannte Regeln des Schaltungsdesigns einhält. Das
ist aber recht komplex, ist also nicht mal schnell in drei Sätzen
zusammenzufassen. Ein Punkt davon ist das Abblocken der Betriebsspannung
direkt an den Stromversorgungspins jedes Digitalschaltkreises mit je
einem Keramik-Kondensator (etwa 100nF). Dies ist sooooo
selbstverständlich, dass es z.B. in Prinzip-Schaltungen in Lehrbüchern
gern weggelassen wird.
(weiter oben:)
> und ich mich mit mikrokontroller sogut wie nicht> auskenne ;(
Ich setze Mikrocontroller (kleine AVRs) meist ein, um mir den Aufwand
"festverdrahtetet Logik" zu ersparen. Ein paar Zeilen Software sind
allemale billiger als eine komplizierte Platine mit mehreren TTL- oder
CMOS-Schaltkreisen. Auch bei Fehlern in der Entwicklung sind ein paar
Zeilen Software leichter zu ändern als ein fehlerhaftes Platinenlayout.
Das macht eine Mikrocontrollerschaltung flexibler als einen
"Gatterfriedhof", durch (auch später mögliches) Ändern der Software kann
die Schaltung an sich ändernde Einsatzbedingungen angepasst werden.
Klar, die ersten Schritte mit Mikrocontrollern sind nicht ganz einfach,
aber wer halbwegs effizient (Elektronik-)basteln will, kommt heutzutage
am Mikrocontroller eigentlich nicht mehr vorbei.
...
HI!!
Also ich habe mir nun doch einen Mega8 gehollt.
Das Tutorial durchgearbeitet.
Und es geht doch alles einfacher als ich dachte!
Habe aber kleines Problem.
Und zwar lese ich meine 8 Bit zahl ein.
Rechne sie in einzele Stellen um Einer, Zehner,....
Und gebe sie dann auf dem LCD aus.
Aber er zeigt nicht immer eine Zahl konstant an, sondern springt immer
einbißchen, mal zwei mehr, zwei wemniger...
Wackelkontakt?
mfg
Alex
Oder sind deine Eingänge vielleicht teilweise offen (Ohne festgelegtes
Level - "floating")? Dann ist dein Eingangssignal einfach irgendwas, nur
nicht das was du eigentlich willst.
Bitte dran denken das die 74184 bzw 74185 Opencollektor Ausgänge haben.
Also bei jeden 74185 an den Ausgängen ein Widerstand von 2,2Kohm gegen
+UB schalten. Sonst funktioniert es nicht, und man sucht sich einen
Wolf.
Ich stand vor dem selben Problem ( 8bit Binärdaten mit 3
Siebensegmentanzeigen anzeigen ) und habe das eben genau mit den 74185
gelöst.
Auch den umgekehrten Fall hatte ich schon. 3stellige BCD Code in
Binärzahl umwandeln für einen DA Wandler zu steuern. ( Pegel und
Frequenzeinstellung in einen Rohde&Schwarz SMLU ). Das ging mit den
74184 ganz gut. Rohde hatte dafür einen speziellen DA Wandler vorgesehen
der
am Eingang BCD Code wollte. Da ich die optionale Fernsteuerkarte nicht
hatte, und weder die Karte noch der DA-Wandler zu bekommen war, habe ich
es eben so gelöst
Ralph Berres