Hallo an alle Bastler mit µCs Ich habe diese Schaltung gefunden um LEDs und Taster an einem µC abzufragen. Ich möchte zwei dieser Schaltungen in Reihe an einem Atmega 644 betreiben mit folgender Funktion: Die Taster 1-8 sind für eine Binärumschaltung vorgesehen. Die LEDs am oberen 164er sollen eben 1-8 darstellen. Die LEDs am unteren 164er sollen die Funktionen 9-15 darstellen. Somit muss ich mit den Tastern 1-8 2 Ebenen tasten können. Die zweite Schaltung möchte ich für spätere Erweiterungen in Reserve haben. Ich wollte den Port C folgendermaßen benutzen: PC0 - PC3 als Ausgang für das Binär-Signal PC4 als Taster-Rückmeldung PC5 als LED-Freigabe PC6 als Daten-Signal PC7 als Takt-Signal Meine Frage: Wie lese ich mit einem Pin 8 Taster ein noch dazu auf 2 Ebenen?
Dieter Mueller schrieb: > Bildformat war schon richtig. Der war gut! Es gibt sicher eine Variante die paar Striche in < 20kB unterzubringen ;) Zum Problem: am Besten zyklisch ein einzelnes Bit durch die Register schieben und gleich danach (vor dem nächsten schieben) die Rückmeldung abfragen.
hp-freund schrieb: > Zum Problem: > am Besten zyklisch ein einzelnes Bit durch die Register schieben und > gleich danach (vor dem nächsten schieben) die Rückmeldung abfragen. ganz viele 1 ("einsen") und nur eine "0" durchschieben. Dort, wo die "0" anliegt, kann die Taste abgefragt werden, gleichzeitig leuchtet aber auch die LED, sofern der BC485 durchgeschaltet wurde.
STK500-Besitzer schrieb: > gleichzeitig > leuchtet aber auch die LED, sofern der BC485 durchgeschaltet wurde. Das kommt auf die Zeit an. Wenn Du schnell genug schiebst wirst Du das nicht sehen können. Noch mal zum Bildformat, siehe Anhang ;-)
Das heisst bei zwei dieser Platinen schiebe ich 56 einser und eine 0 durch, soweit ich das jetzt richtig verstehe. Und ich frage jeden Takt auf Taster ab.
oder reicht es aus wenn ich nur 31 einser durch schiebe und dann eine 0 da ja auf der zweiten Seite nur die LEDs sind
Dieter Mueller schrieb: > ich schiebe 63 einser durch und eine 0 Genau. Dann fragst Du das erste bit ab und schiebst noch 15 mal eine 1 hinterher und fragst auch diese jeweils ab. Wenn Du die Brücke A entfernst, das Ganze gleich noch 16 mal für das zweite Modul. Danach kannst Du die LED Daten hinein schieben, da ja die untere Reihe nicht abgefragt wird.
Das mit dem Bild konnte ich nicht vorher probieren, hatte es als PDF auf dem Rechner liegen und habe es nur mit Bildbearbeitung in PNG umbenannt.
Danke für die Hilfe, werde ich morgen mal ausprobieren. Wenn alles klappt muss ich nur noch den Binär-Code in mein Programm einbinden.
Ich würde die klassische Schaltung nehmen, d.h. 2 * 74HC595 für die 16 LEDs und 1 * 74HC165 für die 8 Tasten. Dann kann man so langsam schieben, wie man will und nichts flackert dabei. Peter
Das Problem ist nur: Ich habe diese Schaltung als fertige Platine vor mir liegen, die Schaltung ist bewährt und läuft seit 1984 in einer Musikmaschine ohne Probleme. Ich tausche nur noch die roten LEDs gegen blaue.
In der Orginal Schaltung werden über 200 Taster und 420 Leds und 50 Potis und ein LCD Display abgefragt, und das bei einem 4Mhz getakteter CPU und da flackert auch nichts
Dieter Mueller schrieb: > da flackert auch nichts Ich hatte den Transistor übersehen, damit wird während des Schiebens dunkel getastet, sonst gäbe es Geister-LEDs. Das wäre beim 595 nicht mehr nötig. Peter
Dieter Mueller schrieb: > Ich tausche nur noch die roten LEDs gegen blaue. Blau ist keine anwenderfreundliche Farbe. Am besten ist amber. Deshalb waren früher auch die monochromen Computermonitore amber, weil die Leute daran möglichst ermüdungsfrei arbeiten sollten. Peter
ich hab das heute mal ausprobiert. Ich schiebe eigentlich immer nur eine 1 und eine 0 und dann frage ich einmal die Taster und einmal die LEDs ab. Klappt eigentlich gut.
Das mit blau ist wieder so ein Thema für sich. Ich mag blaue LEDs - ist auch besser in der Nacht Ich kann ja mal ein paar Bilder mit einschieben von meiner Musikmaschine wenn gewünscht
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.