Hi an alle! Habe folgendes Problem. Ich habe einen CMOS 4067 Multi-Demultiplexer und habe es geschafft, mit 4 Eingangssignalen (A,B,C,D) einen der 16 Ausgangskanäle zu schalten (0-15). Ich frage mich, ob es auch möglich ist, mit dem gleichen Bauteil umgekehrt zu verfahren, also durch Anlegen einer Spannung an (0-15) die vier Kanäle (A,B,C,D) zu schalten. Ich verstehe leider das Datasheet des Herstellers nicht, was mit dem PIN "Common Out/In" gemeint ist. Ich finde im Datasheet auch keine Hinweise darauf, wie man das ganze umkehrt. Bin sehr dankbar für jeden Hinweis. mfg an die community
Hallo es handelt sich um einen analogen Multiplexer. Das bedeuted das eine von den 16 In/Out Leitungen mit dem CommonIn/Out verbunden wird. Ausgewählt wird die Leitung mit A,B,C,D. Muß man sich wie ein Drehschalter vorstellen.
@Klaus: der 4067 ist ein (de)multiplexer, d.h., die Eingänge A...D sind immer nur Eingänge zur Auswahl eines von 16 Kanälen. Ein Baustein, der, je nach aktivierten Kanal, einen Binärcode generiert, nennt sich Priority-Encoder. Das ist aber eine völlig andere Funktion. Jörg
Vielen Dank für die schnellen Antworten! Kann mir vielleicht jemand einen Priority-Encoder empfehlen? Muss ein 10-4 PE sein. Was ich möchte: Ich will 10 Tasten, die mit Tastschalter realisiert sind mit einem Microcontroller verbinden, der 4 Eingänge hat. Dazu möchte ich also 10 Leitungen auf 4 runtercodieren, und dieses BCD Signal in den Prozessor einspeisen. Vielen Dank für Antwort. mfg, an alle
Für 16 auf vier braucht man zwei 74xx147 und ein 7400 zur Verschaltung. 10 zu vier ist einfach ein 74xx147, für die 10 Taster natürlich noch 10 pull-up-Widerstände. Die Taster schalten nach Masse
kleine Korrektur, für 16zu4 muß man den 8zu3-Prioritätsencoder 74xx148 kaskadieren, dafür sind soweit ich noch weiß drei NAND nötig
@Klaus: Wenn es nur darum geht, 10 Taster mit 4 µC-Leitungen einzulesen, gibt es wesentlich elegantere Lösungen als kaskadierte Priority-Encoder. Ganz ohne IC kommt z.B. die Diodenmatrix aus. Dazu werden die 4 Eingänge mit je einem Pull-Down-Widerstand versehen. Die Taster liegen mit einem Pin auf Vcc und mit dem anderen auf der/den Anode(n) einer oder mehrerer Dioden. Die Kathode(n) der Diode(n) gehen jeweils auf die Eingänge, die beim Drücken eines bestimmten Tasters gesetzt werden sollen. Je nach Verschaltung der Dioden bekommst Du dann für jeden Taster einen definierten Binärcode. Z.B. Taster #1: Diode vom Taster nach Pin A ergibt 0001 oder Taster #5: je 1 Diode vom Taster nach Pin A und C ergibt 0101 Nachteil: Wenn mehrere Taster gleichzeitig gedrückt sind, kann sich ein unsinniger Code ergeben. Der Priority-Encoder generiert in diesem Fall, wie der Name schon andeutet, einen eindeutigen Code der Taste mit der höchsten Priorität. Auch sehr elegant ist die Verwendung eines Schieberegisters mit Paralleleingang, z.B. 74xx165. Die können sehr einfach in 8-er-Schritten kaskadiert werden. Vorteil: Du kannst mit 3 I/O-Leitungen beliebig viele Taster abfragen. (1. Parallel-Load, 2. Shift-Clock, 3. Serial-Out) und Du brauchst nur 1 IC + 8 Pull-Up-Widerstände pro 8 Taster. Außerdem kannst Du auch jede beliebige Mehrfach-Tastenkombination direkt abfragen, was manchmal ganz nützlich zur einfachen Implementierung von Service-Funktionen ist, die im Normalbetrieb nicht zugänglich sein sollen. Jörg
>Wenn es nur darum geht, 10 Taster mit 4 µC-Leitungen einzulesen, gibt es >wesentlich elegantere Lösungen als kaskadierte Priority-Encoder. Jepp: Die Tasten in einer Matrix anordnen (Atmel-Application Note AVR240)
Klaus wrote: > Kann mir vielleicht jemand einen Priority-Encoder empfehlen? > Muss ein 10-4 PE sein. Was ich möchte: > Ich will 10 Tasten, die mit Tastschalter realisiert sind mit einem > Microcontroller verbinden, der 4 Eingänge hat. Dazu möchte ich also 10 > Leitungen auf 4 runtercodieren, und dieses BCD Signal in den Prozessor > einspeisen. Vielen Dank für Antwort. Nimm doch einfach einen MC dafür (ATtiny2313) oder gleich nen MC mit mehr Pins. Peter
>>Wenn es nur darum geht, 10 Taster mit 4 µC-Leitungen einzulesen, gibt es >>wesentlich elegantere Lösungen als kaskadierte Priority-Encoder. >Jepp: Die Tasten in einer Matrix anordnen (Atmel-Application Note >AVR240) Das lohnt aber erst bei größeren Tastaturen. Bei 10 Tasten brauchst Du eine 3x4-Matrix = 7 Leitungen, bringt also nichts. Jörg
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.