Forum: Mikrocontroller und Digitale Elektronik Tastendruck mit 74xx147 Priority Encoder an AVR


von Klaus (Gast)


Lesenswert?

Hi @all!

Ich habe in diesem Forum schon sehr viele Fragen beantwortet bekommen 
und bin sehr dankbar für die schnellen Antworten. Jetzt hätte ich wieder 
eine. Ich hab mir nen 74xx147 Priority Encoder von Texas Instruments 
gekauft.

1.) Im datasheet gibts einen PIN namens NC. Hab aber im datasheet keinen 
hinweis darauf gefunden, was der macht.

2.)Ich habe 10 Tasten und den 74xx147 10-4 Line Priority Encoder. Wenn 
eine Taste gedrückt wird, soll der ensprechende Kanal "angewählt" werden 
und ein dementsprechender code an den vier ausgängen ausgegeben werden 
(weiterleiten zu avr).
Im datasheet steht, dass die 4 Ausgänge codiert werden, je nachdem, 
welcher Eingang "angewählt" wird. Ich als Laie hätte natürlich gehofft, 
dass das "Anwählen" so erfolgt, dass man eine positive Spannung an einen 
der 10 Eingänge anlegt. Jetzt ist es aber genau umgekehrt. Nur wenn ein 
LOW angelegt wird, wird dementsprechend kaskadiert. Ich muss erwähnen, 
dass ich Anfänger in der Elektronik bin und mir das noch nicht ganz 
vorstellen kann. Wenn ein LOW kaskadiert, müssen alle anderen HIGH sein. 
Bedeutet das, dass ich vor irgendeinem Schaltvorgang alle Eingang pins 
auf HIGH schalten muss und dann durch einen Tastendruck der Strom zu 
meinem gewünschten eingang unterbrochen wird, so dass der Eingang auf 
LOW liegt? Das Problem ist, dass meine Schalttasten bei betätigung den 
stromweg öffnen und nicht unterbrechen. Muss ich mir jetzt tasten 
kaufen, die bei druck den stromweg schließen oder muss ich das irgendwie 
mit diesen pullup und pulldown widerständen machen?

Vielen dank für antwort.

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Das macht man mit Pull-up Widerständen, am einfachsten ein 
10fach-Widerstandsnetzwerk z.B. 10 kOhm  mit gemeinsamem Anschluß nach 
5V, und 10 Tastern nach Masse.
NC heißt not connected, manchmal bei Schaltern auch normally closed

von Klaus (ein anderer) (Gast)


Lesenswert?

Als die Serie "74xx" bzw. "74LSxx" erfunden war, in TTL Technologie 
(nicht-Cmos), da war es möglich auf die "Pullup" Widerstände zu 
verzichten, da diese Teile einen offenen Eingang als "High" Level 
erkannten. Das ist für diese Bauteile zulässig (gewesen -- verwendet man 
i.d.R. nicht mehr).
Dies dürfte auch der historische Grund sein, warum das Bauteil ..147 
bzw. ..148 quasi mit invertierten Logik arbeitet.
--> Bei Cmos, also 74HC oder 74LVC etc. MUSS man jetzt aber zwingend 
alle Eingänge auf definierten Pegel bringen, falls diese sonst durch 
einen Auswahlschalter offen wären  (1-aus-10 Drehschalter).
Ein Wert von 10 kOhm kann verwendet werden, es geht aber jederzeit auch 
höherohmiger (soweit keine lange Leitungen >= 20 cm dranhängen die sich 
was einfangen können). Also auch 47k oder 100 k Ohm.
Beschaltung wie  Christoph Kessler  schon schrieb.

von Karl heinz B. (kbucheg)


Lesenswert?

> Das Problem ist, dass meine Schalttasten bei betätigung den
> stromweg öffnen und nicht unterbrechen

> z.B. 10 kOhm  mit gemeinsamem Anschluß nach
> 5V, und 10 Tastern nach Masse

Sollte das nicht:
10 k mit gemeinsamen Anschluss nach Masse und 10 Taster
nach 5V sein. Seine Taster öffnen ja.

von Jadeclaw D. (jadeclaw)


Lesenswert?

Ja. Aber nur wenn der verwendete 74xx147 eine CMOS-Variante ist.
Bei TTL funktioniert das mit 100-250 Ohm und entsprechendem 
Stromverbrauch.

Gruss
Jadeclaw.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.