Ich versuche, einen ATtiny85 dazu zu bringen, einen SN74LS153N-Dual-4-zu-1-Multiplexer zu steuern, um den Zustand mehrerer Schalter mit einem einzigen Pin (eigentlich drei Pins) zu lesen, habe aber Probleme zu verstehen, warum mein Design nicht funktioniert.
So sieht mein Prototyp im Moment aus. Die LEDs sind nur da, um mein Problem zu erklären.
Egal in welchem Zustand sich die Schalter S1 bis S4 in D3 befinden, leuchtet niemals auf und U2 scheint niemals in der Lage zu sein, den digitalen Zustand des PB4-Eingangs zu lesen. U2 ist so programmiert, dass es alle Zustände der A- und B-Eingänge zu U1 durchläuft, und das tut es: D1 und D2 blinken entsprechend - AUS:AUS, AUS:EIN, EIN:AUS, EIN:EIN (D1:D2).
Ich habe die Datenblätter immer wieder gelesen und überprüft und bestätigt, dass alles wie erforderlich angeschlossen ist. Übersehe ich etwas Offensichtliches? Sind diese Schalter schuld?
Das offensichtlichste Problem ist, dass U1 Pin 1 ( 1G
) nicht angeschlossen ist und daher normalerweise auf TTL-Geräten schwebt HIGH
.
Das bedeutet, dass U1 Pin 7 ( 1Y
) bleibt LOW
, unabhängig von den Zuständen an den Eingängen U1 Pins 3 - 6 ( 1C3
bis 1C0
).
Siehe die erste Zeile der Wahrheitstabelle im Datenblatt, das Sie freundlicherweise verlinkt haben:
Ich verstehe, dass sie nur zur Fehlerbehebung dienen, aber dass die TTL-Ausgänge von U1 LS nicht genügend Quellstrom haben, um eine LED anzusteuern (dh mit der LED zwischen einem U1-Ausgang und Gnd
) und innerhalb der Spezifikation zu bleiben. Laut Datenblatt beträgt der empfohlene maximale Quellenstrom nur 0,8 mA (800 μA).
Verwenden Sie besser einen Transistortreiber (BJT oder MOSFET), um eine Beschädigung der U1-Ausgänge zu vermeiden und dennoch einen gültigen HIGH
Logikpegel für U2 zum Lesen zu erhalten.
Diese vorherige Frage erklärt das Problem.
Schließlich sollten Sie Entkopplungskondensatoren in der Nähe von U1 und U2 haben.
Sie könnten ohne sie davonkommen, aber das würde von mehreren Faktoren abhängen, und die beste Vorgehensweise besteht darin, sie einzubeziehen.
1G
des von Ihnen verwendeten LS153) ein Eingang und muss daher berücksichtigt werden. Schauen Sie sich das Logikdiagramm in der unteren Hälfte von Seite 2 des LS153-Datenblatts an, wo es zeigt, dass das "Strobe" -Signal ein Eingang zu den internen AND
Gates ist. PS Best Practice wäre, die Eingänge auch an der zweiten Hälfte des LS153-Geräts anzuschließen. Ich werde in meiner Antwort einen Link zu einem TTL-Design-Anwendungshinweis mit einigen Informationen hinzufügen. Viel Glück!
Andreas Morton