Ich versuche, eine Matrixtastatur mit einem 74LS194 zu scannen. Das System funktioniert auf diese Weise, es gibt ein Schema unten, um die Erklärung zu unterstützen:
Der Benutzer wird niemals mehr als eine Taste gleichzeitig drücken.
Im Simulator (Proteus) funktioniert einwandfrei. In der Schaltung, die ich um das Design herum mit LS-TTL-Chips und 1k-Widerständen aufgebaut habe, bekomme ich das Problem.
Bei einigen Drücken funktioniert das System gut, aber nach einigen Drücken, wenn die Taste nicht gedrückt wird, gibt das Register '0' in allen Ausgängen aus.
Ich suche seit Tagen alle Pins am Oszilloskop und nichts ist eindeutig. Aus irgendeinem Grund geht das Bit verloren.
Dies ist der Oszilloskopwert eines Ausgangs, wenn die Taste gedrückt wird. Anscheinend liegt es zwischen den Grenzen: .
Ich frage nach der Ursache dieses Problems, damit ich es beheben kann
Danke schön!
Laut Datenblatt des 74LS194-Chips hat er einen empfohlenen maximalen Ausgangsstrom von 0,4 Milliampere, was eine Ausgangsspannung zwischen 2,7 und 3,5 Volt garantiert.
Dies bedeutet, dass Ihre 1k-Pulldown-Widerstände den Ausgang zu stark belasten und ein Eingang ihn möglicherweise nicht mehr als logisch 1 bestimmt. Außerdem hat der Schaltplan keine Bypass-Kondensatoren. Wenn Ihre Schaltung also auch keine Bypass-Kondensatoren hat, funktioniert sie möglicherweise nicht richtig.
Nur ich
jsotola
For some reason, the bit is lost.
... denken Sie darüber nach, was dazu führen würde, dass sich das Bit über Q3 hinaus verschiebtBenutzer306269
jsotola
Nur ich
Benutzer306269