Hi, dieser Beitrag bezieht sich auf einen falsch benannten: Beitrag "8-bit Binary to BCD converter" Der Ersteller möchte eigentlich folgendes: Beitrag "Re: 8-bit Binary to BCD converter" Beitrag "Re: 8-bit Binary to BCD converter" Es wurden folgende Lösungen angeboten: Beitrag "Re: 8-bit Binary to BCD converter" Hier sollte weiter diskutiert werden. TS
Hier also nochmal mein Vorschlag mit der Diodenmatrix. Es werden 4 Pins am Controller benötigt, um bei negativer Logik auch die Taste '0' zu identifizieren. (Bei positiver Logik isses die Taste '7'). In der u.a. Schaltung verwende ich PortPin 3 zur Erkennung, ob überhaupt eine Taste gedrückt ist, an Port Pin 0-2 steht der BCD Code. Hier mal die Matrix für Taste '5': Controller Port 3 2 1 0 | | -- -- \/ \/ Dioden -- -- | | o-------o | -- | |<--| Taste 5 -- | | | --- GND Ich verwende also positive Logik und habe die Pullups des Portes aktiviert. Wenn PortPin 3 low ist, ist eine Taste gedrückt und an Port 2-0 steht 0b101 = 5 Andere Tasten gehen entsprechend parallel mit ihren Dioden an die PortPins. Taste 7 also hätte nur die Diode an PortPin 3, dann steht an P0-2 0b111 = 7. Taste '0' hingegen benötigt 4 Dioden, um alle Portpins auf Masse zu ziehen.
Portpin 3 ist also der mit der Bedeutung "Taste x gedrückt"!? Wenn 3 auf low gezogen wird bedeutet das: Werte 0-2 aus, der Inhalt entspricht der gedrücken Taste von 1-8...oder? TS
TS schrieb: > Portpin 3 ist also der mit der Bedeutung "Taste x gedrückt"!? Wenn 3 auf > low gezogen wird bedeutet das: > > Werte 0-2 aus, der Inhalt entspricht der gedrücken Taste von 1-8...oder? Ich würde es so interpretieren: Lies immer alle 4 Bits gemeinsam ein und behandle den Wert als Zahl. Ist der Wert 15 (0b1111), dann ist keine Taste betätigt Ist der Wert nicht 15 (0b1111), dann ist das die Tastennummer. ...
TS schrieb: > Wenn 3 auf > low gezogen wird bedeutet das: > > Werte 0-2 aus, der Inhalt entspricht der gedrücken Taste von 1-8...oder? Jo, genau so. Praktischerweise würde ich bei einem AVR vermutlich den Pinchange Interrupt auf P3 bemühen, der dann guckt ob Pin 3 low ist, und wenn ja, kurz entprellt und dann P0 bis P2 als Zahl von 0b000 bis 0b111 einliest. Also nicht ganz 1-8, sondern eher 0-7, aber das ist ja wurscht. Hier nochmal die Matrix, diesmal für Taste 1, nur so zur Verdeutlichung: Controller Port 3 2 1 0 | | | -- -- -- \/ \/ \/ Dioden -- -- -- | | | o---o---o | -- | |<--| Taste 1 -- | | | --- GND Hannes Lux schrieb: > Ist der Wert 15 (0b1111), dann ist keine Taste betätigt > Ist der Wert nicht 15 (0b1111), dann ist das die Tastennummer. Hehe, so gehts natürlich auch. Pollen in der Hauptschleife geht ebenso.
Sehe ich richtig, dass ich dann bei 8 Taster 20 Dioden brauche?
M. Schwaikert schrieb: > Sehe ich richtig, dass ich dann bei 8 Taster 20 Dioden brauche? Na ich komme bei 8 Tastern im Binärcode mit 13 Dioden aus (V steht für Diode): Bit: 3 2 1 0 1: . . . V 2: . . V . 3: . . V V 4: . V . . 5: . V . V 6: . V V . 7: . V V V 8. V . . . Bei L-aktiven Tastern dann das eingelesene Nibble invertieren und fertig ist die Tastennummer... Die Abfrage erfolgt am besten durch Pollen im Timer-Interrupt, da kann man dann auch gleich eine saubere Entprellung (durch mehrfachen Vergleich mit dem zuvor eingelesenen Wert) implementieren. ...
Interrups für Tasten zu verwenden ist keine gute Idee. Aber im groben ist es dann ja das Konzept "Prioritäsencoder"... Die Tasten einfach "binär" einlesen. Da der To aber ja alte Bausteine verwenden möchte und wenig Pins hat sind vielleicht eher 74165 oder 74150 o.ä. interessant... :-) TS
TS schrieb: > der To Welcher?? - Der dieses Threads oder der des anderen, versemmelten Threads? Dort war übrigens vom Mega32 die Rede, der hat ADC, da kann man alle Tasten über einen Pin einlesen und entprellen, kostet nur ein paar Widerstände und etwas Software. ...
das wurde bereits als Lösung vorgeschlagen: A)Priositäsencoder (4Pins) 74147/diodenmatrix B)Schieberegister Tasten seriell einlesen (3Pins) 74165 / naja 74595 C)Analog (1Pin) direkt/widerstände D)Matrix (6Pins 3x3) direkt E)Multiplexer 74150 wie oben bereits unter Lösungen gepostet. TS
Hannes Lux schrieb: > ich komme bei 8 Tastern im Binärcode mit 13 Dioden aus (V steht für > Diode): > > Bit: 3 2 1 0 > 1: . . . V > 2: . . V . > 3: . . V V > 4: . V . . > 5: . V . V > 6: . V V . > 7: . V V V > 8. V . . . > > Bei L-aktiven Tastern dann das eingelesene Nibble invertieren und fertig > ist die Tastennummer... Aber nur unter der Annahme, daß immer nur maximal eine Taste gedrückt ist. Werden bspw. Taste 1 und 2 gleichzeitig gedrückt, detektiert der µC Taste 3. Ein Priritätsencoder kann zwar auch nur eine Taste erkennen, liefert aber bei mehreren gedrückten Tasten wenigstens keinen Unsinn. XL
TS schrieb: > Da der To aber ja alte Bausteine verwenden möchte und wenig Pins hat Ich zähle Dioden und Widerstände mit zu den alten Bauteilen, hehe. Hannes Lux schrieb: > Dort war übrigens vom Mega32 die Rede, der hat ADC, da kann man alle > Tasten über einen Pin einlesen und entprellen, kostet nur ein paar > Widerstände und etwas Software. Das kostet am wenigsten Pins (einen einzigen), hat allerdings den Haken, das bei älteren Tastern das mal nicht mehr so gut funktionieren muss. Mehrere Tasten zusammen liefern auch hier Unsinn, aber der TO hatte das ja ausgeschlossen. Mit Qualitätstastern finde ich die ADC Lösung am elegantesten, wenn auch programmiertechnisch etwas anspruchvoller. Aber man braucht nur 2 Drähte zum Tastenfeld und das gefällt mir gut :-)
Oh weh, die Idee mit dem neuen Thread war zwar nicht schlecht, jetzt hat aber die totale Verwirrung Einzug gehalten :) Also nochmal zum Zusammenfassen: Mega32, 9 Taster, sowie einen 4 Bit Inkrementalgeber nebst drei LEDs und VFD mit 27 Pins, oder in Summe minimum 44 Anschlüsse. Da das natürlich nicht hinhaut, suche ich nach einer netten Lösung mit TTLs - einfach aus Jux und Dollerei und weil ich die eh habe. Und ja, es sind jetzt doch 9 Taster - wie gesagt waren 8 nicht endgültig.
Martin Schwaikert schrieb: > es sind jetzt doch 9 Taster - wie gesagt waren 8 nicht > endgültig. Mit Dioden an 4 Pins geht es bis zu 15 Taster. Martin Schwaikert schrieb: > einen 4 Bit > Inkrementalgeber Was zum Teufel ist das??? Inkrementelle Drehgeber kenne ich nur mit zwei Bits (Spur A und B), kann es sein, dass Du Absolut-Wert-Encoder meinst? ...
3x3 Tastenmatrix + 1 Pin für 3 LEDs = 7Pins. --------------o---------o---------, / | / | / | ,--o o--' ,--o o--' ,--o o--' | | | ------+-------o-+-------o-+-------, | / | | / | | / | ,--o o--' ,--o o--' ,--o o--' | | | ------+-------o-+-------o-+-------, | / | | / | | / | ,--o o--' ,--o o--' ,--o o--' | | | ------o---------+---------+-------|>|-, | | | | | | | | | ----------------o---------+-------|>|-o | | | | | | --------------------------o-------|>|-o | | | ----------------|39 Ohm|--------------' >>oder in Summe minimum 44 Anschlüsse und wieviel sollen es nun sein/werden/dürfen? 27 VFD 4 drehgeber, was auch immer das für einer ist 7 für Taster und LEDs sind 38, zu viel? Was ist mit der alten Logik? soll die nun verwendet werden? TS
Hannes Lux schrieb: > Martin Schwaikert schrieb: >> es sind jetzt doch 9 Taster - wie gesagt waren 8 nicht >> endgültig. > > Mit Dioden an 4 Pins geht es bis zu 15 Taster. Ich hab die Idee mal aufgeschnappt, war aber weniger begeistert, da der Schaltungsaufwand alleine an Leiterbahnen und Dioden schon recht groß wird. Ansonsten ist die Idee eigentlich gar nicht mal schlecht. Nur habe ich bei meiner Variante, die ich probiert habe, für jede nicht-genutzte Leitung eine Diode gebraucht. Ist das bei Deiner Variante auch so, oder hab ich da nen Denkfehler drinnen? > Martin Schwaikert schrieb: >> einen 4 Bit >> Inkrementalgeber > > Was zum Teufel ist das??? > Inkrementelle Drehgeber kenne ich nur mit zwei Bits (Spur A und B), kann > es sein, dass Du Absolut-Wert-Encoder meinst? Oh weh, ja, Absolutwertgeber. Bin schon ganz matschig in der Birne :) Thorsten S. schrieb: > 3x3 Tastenmatrix + 1 Pin für 3 LEDs = 7Pins. Gut, eine Matrix ist dann wohl der Weisheit letzter Schluss. >>>oder in Summe minimum 44 Anschlüsse > > und wieviel sollen es nun sein/werden/dürfen? > > 27 VFD > 4 drehgeber, was auch immer das für einer ist > 7 für Taster und LEDs > > sind 38, zu viel? Ja. 32 hat der Mega32 maximal. Davon gehen 2 wech für UART, 8 für die 4-zu-16-Dekoder (74154) sowie zwei für den 74273, da der 74154 keinen Latch hat, 4 für den Absolutwertgeber, 7 für die Matrix, 1 für einen IR-Empfänger. Das sind dann bisher 24 Pins. Bleiben 7 reserve, falls sich zeigen sollte, dass ich doch mehr brauche (an die ich noch nicht gedacht habe). > Was ist mit der alten Logik? soll die nun verwendet werden? Welche alte Logik? Ich hab nen tollen Vorschlag, um das in vier Leitungen zu packen. Allerdings ein Totschläger: W = E * /F * /G * /H * /I + D * /F * /G * /H * /I + C * /F * /G * /H * /I + B * /F * /G * /H * /I + A * /F * /G * /H * /I X = I + H + G + F + A * /B * /C * /D * /E Y = G * /H * /I + F * /H * /I + C * /D * /E * /H * /I + B * /D * /E * /H * /I Z = H * /I + F * /G * /I + D * /E * /G * /I + B * /C * /E * /G * /I Oder mit anderen Worten: 1 AND_2 2 OR_4 3 AND_3 2 OR_5 1 * AND_4 9 * AND_5 Das ist schon ein ziemlicher Oschi :) Natürlich sei nochmal das PROM in's Gedächtnis gerufen. 2 Stück 16x8 parallel um den 15 zu 4 Dekoder als Wahrheitstabelle abzulegen ginge natürlich auch. Dann würden es 3 Leitungen für die LEDs werden und damit wäre wohl auch nichts gewonnen. Ich glaube bei all dem schönen Tatendrang scheint die Matrix das Rennen zu machen.
I²C-Portexpander für die Taster => PCF8574 für 8 Taster oder PCA9555 für 8 Taster und 8 LEDs => Mit Interrupt-Leitung nur 3 Pins. tschuessle Bernhard
>>8 für die 4-zu-16-Dekoder (74154) Es wird glaube ich zeit das du mal erklärst was du da überhaupt treibst. >>zwei für den 74273, da der 74154 keinen Latch hat ?? A) Was machen die 74154? B) Warum das Latch, hängt noch etwas anderes mit an den Controller Pins? >>Das sind dann bisher 24 Pins ich dachte das VFD hat 27 Pins? >>Ich hab nen tollen Vorschlag Hier sucht keiner eine Lösung oder einen Vorschlag, nur du. >> um das in vier Leitungen zu packen was? wovon ist die Rede? Sag mal ist das hier eine Spaßrunde? Ich jedenfalls verstehe nur noch Bahnhof. Nun ist hier noch ein UART und da noch was. Poste mal ausführlich deinen Schaltplan, deine Komponentenliste und konkretisiere mal das Problem! Was ist wofür, was ist wo angeschlossen?
Dennis S. schrieb: > ist das hier eine Spaßrunde? Ja sicher doch, genau wie der andere Thread. Ich bin dann wech hier... ...
Hab jetzt oben die Links nicht weiter verfolgt, und mag auch nicht darumsuchen. Wenn du schon nen neuen Thread machst solltest du oben wenigstens ne Zusammenfassung posten. Hab noch nirgends gesehen das du die AD wandler benutzt. Warum also die Taster nicht mit Widerständen beschalten, dann über AD wandlung auslesen, dann brauchst du nur einen Pin.
Mikel M. schrieb: > Hab noch nirgends gesehen das du die AD wandler benutzt. Doch klar, das war Hannes' Idee: Hannes Lux schrieb: > Dort war übrigens vom Mega32 die Rede, der hat ADC, da kann man alle > Tasten über einen Pin einlesen und entprellen Dennis S. schrieb: > Sag mal ist das hier eine Spaßrunde? Ich jedenfalls verstehe nur noch > Bahnhof. Hehe, hättest du von Anfang an verfolgt, worum es geht, dann wüsstest du, das wir uns hier theoretisch austoben. Warum auch nicht, ist doch mal nett, alle möglichen Arten der Tastenabfrage zu diskutieren. Kannst ja rüberscrollen. Meine Methode ist allerdings torpediert worden, da es jetzt plötzlich 9 Tasten sind. Das ist gemein.
>Hab noch nirgends gesehen das du die AD wandler benutzt. Warum also die >Taster nicht mit Widerständen beschalten, dann über AD wandlung >auslesen, dann brauchst du nur einen Pin. und für 64 Tasten ein 64Bit-ADC.
74147 ist schon mal scheisse, da der auch 0 ausgibt wenn nichts gedrückt ist. Ausserdem ist das TTL und ein ziemlicher Stromfresser. In dem anderen Thread wurde doch der 74HC148 angesprochen, was spricht gegen den? 8 Eingänge, 3-bit Binärausgang und ein extra Ausgang der anzeigt wenn die Ausgänge gültig sind. Hier ist übrigens ein 16 zu 4 Encoder:
1 | OPALjr Example |
2 | Copyright National Semiconductor Corp, 1993. |
3 | |
4 | 16-TO-4 PRIORITY ENCODER |
5 | |
6 | CHIP 16_4_PRI GAL20V8 |
7 | |
8 | D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 GND |
9 | D14 D15 NC ANY Y3 Y2 Y1 Y0 D0 D1 D2 VCC |
10 | |
11 | EQUATIONS |
12 | |
13 | Y0 = D15 |
14 | + /D14* D13 |
15 | + /D14*/D12* D11 |
16 | + /D14*/D12*/D10* D9 |
17 | + /D14*/D12*/D10*/D8* D7 |
18 | + /D14*/D12*/D10*/D8*/D6* D5 |
19 | + /D14*/D12*/D10*/D8*/D6*/D4* D3 |
20 | + /D14*/D12*/D10*/D8*/D6*/D4*/D2* D1 |
21 | |
22 | Y1 = D15 |
23 | + D14 |
24 | + /D13*/D12* D11 |
25 | + /D13*/D12* D10 |
26 | + /D13*/D12*/D9*/D8* D7 |
27 | + /D13*/D12*/D9*/D8* D6 |
28 | + /D13*/D12*/D9*/D8*/D5*/D4* D3 |
29 | + /D13*/D12*/D9*/D8*/D5*/D4* D2 |
30 | |
31 | Y2 = D15 + D14 + D13 + D12 |
32 | + /D11*/D10*/D9*/D8* D7 |
33 | + /D11*/D10*/D9*/D8* D6 |
34 | + /D11*/D10*/D9*/D8* D5 |
35 | + /D11*/D10*/D9*/D8* D4 |
36 | |
37 | /Y3 = /D15*/D14*/D13*/D12*/D11*/D10*/D9*/D8 |
38 | |
39 | /ANY = /D15*/D14*/D13*/D12*/D11*/D10*/D9*/D8 |
40 | */D7*/D6*/D5*/D4*/D3*/D2*/D1*/D0 |
Aber eigentlich ist das ja unnötig komplex. Man braucht die Priorität gar nicht zu kodieren, denn wenn mehrere Taster gedrückt sind, dann ist das Ergebnis sowieso unsinn. Es würde also reichen die einzelnen Bits zu kodieren.
Dennis S. schrieb: >>>8 für die 4-zu-16-Dekoder (74154) > > Es wird glaube ich zeit das du mal erklärst was du da überhaupt treibst. So ein großes Mysterium ist das gar nicht. Ich will schon länger einen HTPC bauen und hatte eigentlich das Rapi dafür im Auge. Allerdings kann es, wie inzwischen gemeinhin bekannt ist, nicht mit mpeg2 umgehen - was wohl ein eindeutiges KO-Kriterium für einen htpc ist. Daher wollte ich auf bestehende Komponenten zurückgreifen. Da ich aber gesehen habe, wie dreist teuer Mini-ITX-Boards Boards sind, und dass die Gehäuse fast nochmal so viel kosten, wie das Board habe ich mich für Standard-PC-Komponenten entschieden. Jetzt brauchte ich allerdings noch ein Gehäuse. Da viel mir der gute alte Panasonic A-350 DVD Player in die Hände, der inzwischen das Zeitliche gesegnet hatte. Also hab ich die Kiste ausgeschlachtet. Die Frontplatine, auf der alle Fronttaster und das VFD drauf sind, muss drinnen bleiben, da mir sonst die Tasterknöpfe entgegen fliegen. Darum kam mir die Idee, das komplette Frontpanel mitsamt Tastern, IR-Empfänger und VFD zu recylen. >>>zwei für den 74273, da der 74154 keinen Latch hat > A) Was machen die 74154? Zeilen- und Spaltendecoder für das VFD, da dieses 13 Zeilen und 14 Spalten besitzt und es kaum Sinn hat, dieses komplett an den µC anzuschließen wenn es auch bessere Lösungen gibt. > B) Warum das Latch, hängt noch etwas anderes mit an den Controller Pins? Das war eine Idee die ich mir von einer anderen Schaltung abgeguckt habe und die bei entsprechender Ansteuerung das Ghosting verhindern soll. >>>Das sind dann bisher 24 Pins > > ich dachte das VFD hat 27 Pins? Upps, ja, 27. >>>Ich hab nen tollen Vorschlag > > Hier sucht keiner eine Lösung oder einen Vorschlag, nur du. Das hast Du absolut richtig erfasst, sonst hätte ich nicht danach gefragt :) >>> um das in vier Leitungen zu packen > > was? wovon ist die Rede? > > Sag mal ist das hier eine Spaßrunde? Ich jedenfalls verstehe nur noch > Bahnhof. Nun ist hier noch ein UART und da noch was. Richtig, weil es zur Fragestellung weder einen Verlust noch eine Bereicherung darstellt, die weiteren Rahmenbedingungen zu kennen. Prinzipiell geht es mir um Lösungsansätze, mit möglichst wenig Portpins möglichst viel zu erreichen, welche Vor- und Nachteile sich hieraus ergeben - einfach ein bisschen Brainstorming. > Poste mal ausführlich deinen Schaltplan, deine Komponentenliste und > konkretisiere mal das Problem! Was ist wofür, was ist wo angeschlossen? Das dürfte wohl jetzt klar sein. Schaltplan gibt es in dem Sinne (noch) keinen. Außerdem will ich keine fertige Lösung - die möchte ich mir selbst erarbeiten. Es geht mir, wie gesagt, vorerst nur um Anregungen.
Derjenige Welcher schrieb: > 74147 ist schon mal scheisse, da der auch 0 ausgibt wenn nichts gedrückt > ist. Das ist eigentlich egal, denn wie die Auswertung des Eingangs hinterher im µC abläuft, ist ja eine reine Softwareumsetzung. > Ausserdem ist das TTL und ein ziemlicher Stromfresser. Das ist richtig. Allerdings ist Stromverbrauch nicht mein Problem und im Anbetracht der sonstigen Leistungsaufnahme auch eher ein Faktor im unteren einstelligen Prozentbereich. > In dem anderen Thread wurde doch der 74HC148 angesprochen, was spricht > gegen den? 8 Eingänge, 3-bit Binärausgang und ein extra Ausgang der > anzeigt wenn die Ausgänge gültig sind. 1er zu wenig, weil ich einen Taster übersehen habe, der auf einer extra Platine war. > Hier ist übrigens ein 16 zu 4 Encoder: Sowas hab ich oben auch schon gepostet :) Allerdings ein FPGA für 9 Taster? Ich weiß ja nicht. > Aber eigentlich ist das ja unnötig komplex. Man braucht die Priorität > gar nicht zu kodieren, denn wenn mehrere Taster gedrückt sind, dann ist > das Ergebnis sowieso unsinn. Es würde also reichen die einzelnen Bits zu > kodieren. Stimmt. Es gibt keine Priorität, da ein Drücken von zwei Tasten gleichzeitig unsinn wäre.
Martin Schwaikert schrieb: > Sowas hab ich oben auch schon gepostet :) Allerdings ein FPGA für 9 > Taster? Ich weiß ja nicht. Das ist kein FPGA sondern ein GAL. Die wurden eigentlich genau für solche Fälle gemacht. http://de.wikipedia.org/wiki/Generic_Array_Logic
>>Das dürfte wohl jetzt klar sein. es ist nicht angreifend gemeint, aber das kann doch nicht dein Ernst sein. >>Ja. 32 hat der Mega32 maximal. Davon gehen 2 wech für UART, 8 für die >>4-zu-16-Dekoder (74154) sowie zwei für den 74273, da der 74154 keinen >>Latch hat, 4 für den Absolutwertgeber, 7 für die Matrix, 1 für einen >>IR-Empfänger. Das sind dann bisher 24 Pins. Bleiben 7 reserve, 32-(2+8+4+7+1=24)=8 und nicht 7. Du schreibst erst jetzt etwas über ein VFD: >>da dieses 13 Zeilen und 14 Spalten besitzt .. sind das zusammen die 27pins? Es mcht absolut keinen Spaß dir alles aus der Nase zu ziehen. Warum beschreibst du nicht einmal den kompletten Rahmen? Ich habe einen Controller X pins frei, daran soll folgendes angeschlossen werden: Drehwertgeber "Artikelbezeichnung" Datenblatt VFD "Artikelbezeichnung" Datenblatt IR Empfänger "Artikelbezeichnung" Datenblatt etc... Das hier ist vielleicht ein "Brainstorming" in deinen Augen, aber in 90% der Leser ist es eher ein Durcheinander an Überschriften, neuen Threads und immer neuen Aussagen, die vorher keiner kannte. Nur als Beispiel könnte man bei der VFD Matrix wunderbar mit einem Pin mehr - etliche Tasten einbauen... aber bisher wurde angenommen du willst nur Tasten einlesen und das VFD mit 27 Pins ist wirklich arm beschrieben und das ist untertrieben. Jetzt rückst du raus das es 14 Zeilen und 13 Spalten hat und nicht einen fertigen Bus o.ä., was kommt als nächstes, vielleicht das alles auf 1,8V funktionieren sollte... ich hoffe du verstehst das Problem. Übrigens die meisten hier machen sich nicht die Mühe den "Fragenden" darauf hinzuweisen, sie lassen es einfach. Was ich damit sagen will, wenn du nicht einmal konkret beschreibst wie dein Umfeld aussieht, dann kommt hier nichts vernünftiges nachhaltiges raus. Wenn du natürlich nur etwas "Brainstorming" im oberflächlichen willst...ist aber unfair den Usern gegenüber die hier schreiben und schreiben, lösungen bieten und dann wird wieder etwas grundlegendes geändert - macht man eigentlich nicht...was für dich ein nettes Brainstorming ist ärgert hier sicher den einen oder anderen. Also bitte, mach einen neuen Thread auf, mit einer passenden Überschrift und beschreibe dein Vorhaben, konkret, genau und vor allem komplett, mit Datenblatt oder Bezeichnungen. Gruß, DS
...das ist der Grund warum ich hier mittlerweile nicht mehr schreibe - ich komme mir verarscht vor - mache auch noch einen neuen Thread auf... TS
MCUA schrieb: >>Hab noch nirgends gesehen das du die AD wandler benutzt. Warum also die >>Taster nicht mit Widerständen beschalten, dann über AD wandlung >>auslesen, dann brauchst du nur einen Pin. > und für 64 Tasten ein 64Bit-ADC. Häh, wieso das denn? Du musst die Widerstände nur jeweils so wählen, das für 64 Tasten ein einigermassen gleichmässiger Wertevorrat aus der Bittiefe des ADC bleibt, z.B. ein R2R Netzwerk. Also bei 9 Tasten und einem 10 Bit ADC sind das dann (weil keine Taste gedrückt auch ein Zustand ist) : 1024 / 10 = ca. 102 Bit Range pro Taste. Bei 64 Tasten bleiben dann 1024 / 65 = ca 15 bit. Das wird allerdings wegen der unvermeidlichen Übergangswiderstände der Taster ein wenig eng.
VFD? Tasten ? Ich hab nicht alles durchgelesen, aber schau mal hier mein "Angebot" an: Beitrag "[biete] PT6312 LQ VFD Display Treiber"
Thorsten S. schrieb: > ich komme mir verarscht vor Du auch? > mache auch noch einen neuen Thread auf... Nur durch den bin ich auf das Thema gestoßen, der Betreff des ersten Threads sprach mich nicht an... Und wech... ...
Dennis S. schrieb: >>>Das dürfte wohl jetzt klar sein. > > es ist nicht angreifend gemeint, aber das kann doch nicht dein Ernst > sein. > >>>Ja. 32 hat der Mega32 maximal. Davon gehen 2 wech für UART, 8 für die >>>4-zu-16-Dekoder (74154) sowie zwei für den 74273, da der 74154 keinen >>>Latch hat, 4 für den Absolutwertgeber, 7 für die Matrix, 1 für einen >>>IR-Empfänger. Das sind dann bisher 24 Pins. Bleiben 7 reserve, > > 32-(2+8+4+7+1=24)=8 und nicht 7. > > Du schreibst erst jetzt etwas über ein VFD: > >>>da dieses 13 Zeilen und 14 Spalten besitzt .. > > sind das zusammen die 27pins? Kurzum: ja. Es sei denn, die Heizspannung wird noch über eine Brücke erzeugt, dann sind es natürlich noch mehr. Momentan tendiere ich eher zum Trafo mit Mittelabgriff, was aber wieder neue Probleme erzeugen würde. > > Es mcht absolut keinen Spaß dir alles aus der Nase zu ziehen. Warum > beschreibst du nicht einmal den kompletten Rahmen? Weil der gesamte Rahmen bisher ein theoretisches Konstrukt ist und ich bisher einfach am überlegen bin. Den groben Rahmen habe ich ja oben bereits geschrieben. > Ich habe einen Controller X pins frei, daran soll folgendes > angeschlossen werden: > > Drehwertgeber "Artikelbezeichnung" Datenblatt Gibts nicht. Nur eine Wahrheitstabelle. > VFD "Artikelbezeichnung" Datenblatt Gibts nicht. Ist eine Kundenanfertigung für Panasonic von Futuba für das es kein Datenblatt gibt, und auch beim Hersteller nicht gelistet wird. > IR Empfänger "Artikelbezeichnung" Datenblatt > etc... Auch das gibt es nicht. Unter der benannten Type lässt sich absolut nichts finden. Wahrscheinlich auch wieder eine Produktion für, oder sogar von Panasonic. > Das hier ist vielleicht ein "Brainstorming" in deinen Augen, aber in 90% > der Leser ist es eher ein Durcheinander an Überschriften, neuen Threads > und immer neuen Aussagen, die vorher keiner kannte. Naja, also das ist aber eigentlich nicht auf meinen Mist gewachsen. Meine ursprüngliche Frage war die Suche nach einem 8-bit binär zu bcd konverter bzw. einem 16-zu-4 Kodierer, wie es der 74154 ist, nur eben in umgekehrter Richtung. Dass die ganze Diskussion dann weiter ging und inzwischen zu einer Fünf-Fronten-Diskussion ausartete, war nicht mein ansinnen und geht auch weit über das hinaus, was ich ursprünglich wissen wollte. Ich hab das jetzt eine Zeit lang mitgemacht, aber irgendwie ist das für niemanden befriedigend. Mich selbst wundert das aber auch nicht, denn wenn ich bis ins Detail hätte einen Lösungsweg vorgekaut bekommen wollen, dann hätte ich das auch so gefragt. > Nur als Beispiel könnte man bei der VFD Matrix wunderbar mit einem Pin > mehr - etliche Tasten einbauen... In jedem Falle bietet sich das für die LEDs an. Auch eine nette Idee. > aber bisher wurde angenommen du willst > nur Tasten einlesen und das VFD mit 27 Pins ist wirklich arm beschrieben > und das ist untertrieben. Tja, weit mehr weiß ich auch nicht. Für mich war die Anforderung mit 8 Pins am Prozessor im Bezug auf das VFD abgehakt. > Jetzt rückst du raus das es 14 Zeilen und 13 > Spalten hat und nicht einen fertigen Bus o.ä., was kommt als nächstes, > vielleicht das alles auf 1,8V funktionieren sollte... Nein, es hat 13 Grids mit je 14 Segmenten und ist weder ein reines 13-Segment, noch ein Punktmatrixdisplay.Der Controller war ebenfalls eine Kundenanfertigung ohne nenneswertes Datenblatt mit sowas um die 80 Pins bei dem alle Taster, LEDs und das VFD einzeln angeschlossen waren, und zudem hinüber. > ich hoffe du > verstehst das Problem. Übrigens die meisten hier machen sich nicht die > Mühe den "Fragenden" darauf hinzuweisen, sie lassen es einfach. Natürlich verstehe ich das. Aber wie gesagt, es war nicht mein Ansinnen eine komplette Lösung zu bekommen. Das "Brainstorming" war eher ein Versuch, den Thread hier noch zu retten. Nachdem das aber reichlich in die Hose ging, kann man das hier mehr oder minder an den Nagel hängen. Eigentlich schade, denn wenn das ganze jemand ein bisschen zusammengeschrieben hätte, wäre vielleicht ein recht guter Wiki-Artikel dabei herausgekommen. > Was ich damit sagen will, wenn du nicht einmal konkret beschreibst wie > dein Umfeld aussieht, dann kommt hier nichts vernünftiges nachhaltiges > raus. Was heißt vernünftig und nachhaltig? Eine explizite Problemlösung oder einfach nur einen Abriss der Möglichkeiten, von denen es dann eine in der spezifizierten Umgebung herauszuarbeiten gilt?
MCUA schrieb: >>Hab noch nirgends gesehen das du die AD wandler benutzt. Warum also die >>Taster nicht mit Widerständen beschalten, dann über AD wandlung >>auslesen, dann brauchst du nur einen Pin. > und für 64 Tasten ein 64Bit-ADC. das kommt darauf an welche Anforderungen du stellst. Wenn du nur ne Einzeltaste erkennen willst, oder 2 gleichzeitiggedrückt, kannst du mit dem eingebauten schon sehr viele erkennen. Ich hab an einem 18 Tasten dran, wobei 1 bevorrechtig war und immer erkannt wurden. während die anderen bis zu 2 gleichzeitig erkannt wurden. funktionierte problemlos. Wenn sie genau genug sind könntest du mit nem 8bit , theoreitisch 255 Tasten erkennen.
>Wenn sie genau genug sind könntest du mit nem 8bit , theoreitisch 255 >Tasten erkennen. Aber nur ohne Mehrfachtastenbetätigung! Wenn 2 oder mehr 'untere' Tasten betätigt werden ergibt sich der falsche Wert!
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.