mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CMOS 4067 als De/Multiplexer


Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: karadur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jorge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Jörg Rehrmann (Firma: Rehrmann Elektronik) (j_r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kleine Korrektur, für 16zu4 muß man den 8zu3-Prioritätsencoder 74xx148 
kaskadieren, dafür sind soweit ich noch weiß drei NAND nötig

Autor: Jörg Rehrmann (Firma: Rehrmann Elektronik) (j_r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Rehrmann (Firma: Rehrmann Elektronik) (j_r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>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

Autor: .... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CD 4017 ....
z.B. 40 Tasten mit 5 Bit

Autor: .... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...aber das ist (hier) bestimmt zu trivial

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.