Hallo, ich habe sieben Leitungen von denen immer nur eine auf Masse gezogen wird (die anderen hängen in der Luft). Bisher wollt ich diese 1:1 zum AVR ziehen, nur gehen mir langsam die I/O Pins aus. Im Moment möchte ich einen ATMega644A nehmen. Eigentlich müsste ich die 7 Leitungen in BCD (also Codieren) wandeln können und würde nur noch 3 Pins brauchen (ld(2) = 2,...). Nur finde ich kein passendes Bauteil (bevorzugt SMD). Stefan
prioritätsencoder.. oder diodenmatrix wenn es taster sind, die die leitung auf low ziehen, dann tastenmatrix 3x4 =12 tasten... gruß, t
Hallo Stefan, ich würde es mit einem Seriell-Parallel-Schieberegister versuchen, hier brauchst Du nur 3 Leitungen, Takt, Data und Strobe um die Daten zu laden. Baustein wäre z.B. 74HC594 oder CD4094. Diese Art Porterweiterung habe ich an ATMEGAS schon mehrfach erfolgreich verwendet.
Braucht nur einen Pin und kein IC: Verschiedene Widerstände dran, zusätzlich einen nach VCC, und dann per ADC die Spannung messen.
>wohl kaum, jedoch 74151....
Vieleicht sollte man mal die Frage klären ob Eingang
oder Ausgang?
Thorsten S. schrieb: > oder diodenmatrix Deswegen wollte ich ursprunglich einen µC nehmen. > 74151 Das sieht nach Programmieraufwand aus. Aber mit der richtigen Richtung habe ich den 74HC148 gefunden. Stefan
...stimmt, jedoch lässt die Satzstellung der Beschreibung für mich erst nach deinem jetzigen Hinweis eine 5% ige Chance zu, das es die Ausgänge des Ucs sind die die Leitungen auf Low ziehen....
Stefan Kuhne schrieb:
> Aber mit der richtigen Richtung habe ich den 74HC148 gefunden.
Nur brauch dafür Pull-Ups, oder?
Stefan
Thorsten S. schrieb: > ...stimmt, jedoch lässt die Satzstellung der Beschreibung für mich erst > nach deinem jetzigen Hinweis eine 5% ige Chance zu, das es die Ausgänge > des Ucs sind die die Leitungen auf Low ziehen.... Gibt schlechte Noten für's Kaffeesatzlesen. Wenn Leitungen in BCD gewandelt werden, codiert statt decodiert werden, dann sind es wehrscheinlich Eingänge am Controller. ;-)
Programmieraufwand eine binärzahl an einem Ausgang hochzuzählen und einen pin zu überprüfen zwischen jedem Zählschritt ob er low oder high ist!? Na Na Na, nun wird aber dramatisch... Die Lösung mit den Schieberegíster hat übrigens auch eine Menge Vorteile... Gruß, T.
Stefan Kuhne schrieb:
> Nur brauch dafür Pull-Ups, oder?
Klar. Die ADC-Version braucht 1 IC weniger und 1 Widerstand mehr.
>Aber mit der richtigen Richtung habe ich den 74HC148 gefunden.
Dann schmeiß ich noch nen 74165 auf den Markt.
Hallo, um es nochmal klar zustellen. Die Leitungen gehen zum µC sind also Eingänge. Ich will dann erfahren, welche Leitung auf Masse gezogen wird. Ich dachte es sei Klar, dass ich aus 7 Leitungen 3 machen will. Ob die nun zum µC oder von ihm weg ist da sogar egal. Stefan
Stefan Kuhne schrieb:
> Ich dachte es sei Klar, dass ich aus 7 Leitungen 3 machen will.
Ok, dann scheidet die ADC-Variante natürlich aus. Denn die braucht nur
einen Pin, nicht drei.
Thorsten S. schrieb: > Programmieraufwand eine binärzahl an einem Ausgang hochzuzählen und > einen pin zu überprüfen zwischen jedem Zählschritt ob er low oder high > ist!? Na Na Na, nun wird aber dramatisch... Wenn ich das Datenblatt beim Überfliegen richtig gelesen habe, muss ich S0/S1/S2 passend setzen und bekomme dann an Y den Status der entsprechenden Leitung. also muss ich im Programm die S Pins passend setzen und dann immer den Pin Prüfen. Stefan
A. K. schrieb: > Ok, dann scheidet die ADC-Variante natürlich aus. Denn die braucht nur > einen Pin, nicht drei. Dann erklär bitte etwas ausführlicher. Am besten mit IC (Datenblatt). Bin nur halber E-Techniker und die Ausbildung ist noch länger her. Stefan
Henk schrieb:
> Gar kein IC sondern "Widerstandstreppe".
Also je nachdem welcher auf Low sieht, ist die Spannungs anders.
Wie bringe ich das in einem Pin auf den µC?
Ist das ein A/D drin versteckt.
(Muss doch mal das komplette Datasheet drucken)
Stefan
Stefan Kuhne schrieb: >> Ok, dann scheidet die ADC-Variante natürlich aus. Denn die braucht nur >> einen Pin, nicht drei. > > Dann erklär bitte etwas ausführlicher. > Am besten mit IC (Datenblatt). > > Bin nur halber E-Techniker und die Ausbildung ist noch länger her. Der Begriff Spannungsteiler ist bekannt? VCC | R0 | ADC-Pin -------+-----R1----- Eingang 1 | +-----R2----- Eingang 2 | +-----R3----- Eingang 3 usw R1 != R2 != R3. Wenn Eingang 2 auf Masse gezogen wird und alle anderen Eingänge offen sind, dann entsteht ein Spannungsteiler aus R0 und R2. Da alle Widerstände verschieden sind, ergibt sich für jeden Eingang eine andere Spannung. IC wird keines benötigt, den ADC hat der Controller ja schon an Bord.
Alternative: VCC | R | ADC-Pin -------+----- Eingang 1 | R | +----- Eingang 2 | R | +----- Eingang 3 | usw | +----- Eingang N Hier dürfen alle Widerstände gleich sein.
A. K. schrieb: > IC wird keines benötigt, den ADC hat der Controller ja schon an Bord. Ich dachte schon, die Pin Beschreibung im Pinout ist falsch. Ich dachte der PortA ist ein Umwandler, aber das sind 8 A/D Wandler drin. Dann gehen mir ja nicht mal Pins aus. Aber die Idee ist gut. Muss ich mir im Datasheet ansehen, wie man das im Programm macht. So ganz vorstellen kann ich mir das noch nicht. Zu letzt habe ich das über einen externen am SPI machen müssen. Stefan PS: > Der Begriff Spannungsteiler ist bekannt? Bin Kommunikationselektroniker und werde bald Dipl.-Ing.
A. K. schrieb:
> Alternative:
So kannte ich das.
Ist auch sicherlich was einfacher weill immer der selbe R bestückt
werden kann.
Stefan
>Bin Kommunikationselektroniker und werde bald Dipl.-Ing.
Muhahahahahahahhahahaha
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.