![]() |
problem mit schaltaufgabe
Hallo Leutz
hab da ein aufgabe zu lösen, aber keine ahnung wie ich an die sache rann gehen soll villeicht kann mir jemand etwas helfen hier gehts zur aufgabe http://berg.heim.at/anden/421355/basar/aufgabe1.jpg oder dwonloaden es wäre schon nett wenn ihr mir ein par anhaltspunke sagen könntet wie man diese aufgabe lösen kann gruß fenster |
hab jetzt leider nicht die zeit, dir komplett im detail zu helfen bzw das bsp zu lösen. kann dir aber "gschwind" einen ansatz geben wie man das mit einem microcontroller lösen könnte. hoffe es hilft
und zwar: - matrix pollen (periodisch abfragen z.b. alle 20ms) - 4 portpins (P0...P3) des controllers hernehmen und jeden portpin mit einer spalte verbinden. diese 4 portpins werden nun auf ausgang und high signal (1) gesetzt - weitere 4 pins (P4...P7) hernehmen, als eingang definieren und diese mittels pull down widerständen auf low potential bringen (0) - wenn du jetzt z.b. die in deinem beispiel angegebene taste (müsste die 3 sein wenn links oben null ist) drückst so wird vom µC high potential an P4 - nun muss man nur mehr die ausgänge (P0...P3) nacheinander kurz auf low setzen. bei dem portpin wo die taste gedrückt ist, verschwindet das high potential beim heruntersetzen (sei es P3). aus der kombination spalte(P3) und zeile (P4) ergibt sich, dass es 3 sein muss. hoffe ich hab dich jetzt nicht mehr verwirrt statt dir zu helfen... sonst meldest dich halt nochmal und ich mach dir eine kleine zeichnung dazu |
hab jetzt leider nicht die zeit, dir komplett im detail zu helfen bzw das bsp zu lösen. kann dir aber "gschwind" einen ansatz geben wie man das mit einem microcontroller lösen könnte. hoffe es hilft
und zwar: - matrix pollen (periodisch abfragen z.b. alle 20ms) - 4 portpins (P0...P3) des controllers hernehmen und jeden portpin mit einer spalte verbinden. diese 4 portpins werden nun auf ausgang und high signal (1) gesetzt - weitere 4 pins (P4...P7) hernehmen, als eingang definieren und diese mittels pull down widerständen auf low potential bringen (0) - wenn du jetzt z.b. die in deinem beispiel angegebene taste (müsste die 3 sein wenn links oben null ist) drückst so wird vom µC high potential an P4 - nun muss man nur mehr die ausgänge (P0...P3) nacheinander kurz auf low setzen. bei dem portpin wo die taste gedrückt ist, verschwindet das high potential beim heruntersetzen (sei es P3). aus der kombination spalte(P3) und zeile (P4) ergibt sich, dass es 3 sein muss. hoffe ich hab dich jetzt nicht mehr verwirrt statt dir zu helfen... sonst meldest dich halt nochmal |
hab jetzt leider nicht die zeit, dir komplett im detail zu helfen bzw das bsp zu lösen. kann dir aber "gschwind" einen ansatz geben wie man das mit einem microcontroller lösen könnte. hoffe es hilft
und zwar: - matrix pollen (periodisch abfragen z.b. alle 20ms) - 4 portpins (P0...P3) des controllers hernehmen und jeden portpin mit einer spalte verbinden. diese 4 portpins werden nun auf ausgang und high signal (1) gesetzt - weitere 4 pins (P4...P7) hernehmen, als eingang definieren und diese mittels pull down widerständen auf low potential bringen (0) - wenn du jetzt z.b. die in deinem beispiel angegebene taste (müsste die 3 sein wenn links oben null ist) drückst so wird vom µC high potential an P4 - nun muss man nur mehr die ausgänge (P0...P3) nacheinander kurz auf low setzen. bei dem portpin wo die taste gedrückt ist, verschwindet das high potential beim heruntersetzen (sei es P3). aus der kombination spalte(P3) und zeile (P4) ergibt sich, dass es 3 sein muss. hoffe ich hab dich jetzt nicht mehr verwirrt statt dir zu helfen... sonst meldest dich halt nochmal |
@zed
hallo
eine zeichung wäre ein hit und mehr info darüber damit ich es auch verstehe es bringt mir mur wirklich was wenn ich das beipiel auch verstehe danke im vorraus gruß fenster |
:lol:
glaube man merkt dass sich der browser beim posten dieses links verabschiedet hat.. mir rätselhaft warum 3x drinn (viell kan man den 2x löschen?) werd dir sobald ich dazukomm eine kleine zeichnung dazu machen |
ich schätz mal die spalten sind mit dioden mit den ausgängen verbunden? wenn ja einfach so wie zed geschrieben hat: wenn an einer reihe eine 0 anliegt, in einer schleife die spalten abfragen und schon hast du das ergebnis.
|
sodale zeichnung zu obiger erklärung
|
an alle (und danke im vorraus)
hallo
also ok die zeichung ist mal die benadwortung der ersten frage nehme ich mal an ?? wenn ich jetzt eine taste genau 50 ms lange drücke mit welcher traktfrequenz muss das schaltwerk getaktet werden, damit an KAY-Pressed eine minimale impulsbreite von 5ms garantiert wird wie kann man das ausrechnen ? gribts da wo eine formel dafür ?? gruß fenster |
Hab mir das Beispiel erst jetzt angesehen. Schaut mir ein bischen nach Schulaufgabe aus.
Soll das nicht mit diskreten Bauelementen (Logikbausteinen) aufgebaut werden? Wenn ja, ist ein bischen Grübelarbeit nötig. Ist aber eh etwas entschärft, da keine Entprellung nötig. Wegen Zeitmangel kann ich mir aber jetzt nicht den Kopf zerbrechen, habe aber nächste Woche Nachtschicht. Sollte bis dahin die Lösung noch offen sein, werd ich mich dem Problem widmen. |
hab die aufgabe noch mal in einem word dokument
hallo
habe die aufgabe noch mal in einem word dokument hinauf geladen damit man sie besser lesen kann gruß fenster http://berg.heim.at/anden/421355/basar/aufgabe1.zip |
hat schon wer eine lösung für mich?
hallo
hat jetzt wer schon eine lösung für meine problem ??? danke im vorraus gruß fenster |
Scau mal da nach:
http://www-s.ti.com/sc/psheets/spna017/spna017.pdf Auf Seite 107 u ff. findest du Hinweise mit einer CPU. Wenn du bei TI ein bischen kramst, findest du sicher viele Infos! |
Die Lösung mit einem Microcontroller erscheint mir da etwas 'overengineered' für dieses Problemchen, ausserdem zielt die Angabe auch meines Erachtens auf eine 'Schaltung' ab.
Mit ein paar TTL-Logik Bausteinen sollte das kein grosses Problem sein. Falls noch gewünscht, kann ich bei Gelegenheit eine Schaltung dafür zeichnen. Die Frage nach der Taktfrequenz lässt sich mit ein wenig Überlegung auch leicht lösen. Hier mein Lösungsvorschlag: Zuerst ein Diagramm, dass die Scanimpulse auf den Zeilen und den Takt selbst darstellt: http://members.aon.at/helmi/abb1.gif Und dann betrachten wir nur die Zeile0 und den ominösen 50ms Tastendruck z.B. auf irgendeine Taste dieser Zeile. Im 'worst case' muss gewährleistet sein, dass der Tastendruck mindestens 5ms in einen Scanimpuls 'hineinragt' - unter der Voraussetzung, dass der Key-pressed impuls von der Überlagerung aus Tastendruck und Scanimpuls abgeleitet wird. Das schaut dann so aus: http://members.aon.at/helmi/abb2.gif Daraus ergibt sich ein max. Abstand zwischen 2 Scanimpulsen von 40ms. Nachdem diese Lücke wiederum die 3 anderen Scanimpulse beinhaltet ergibt sich die Dauer eines Scanimpulses: 40/3 = 13,333ms. Das ist laut erstem Bild auch die Periodendauer des Taktes, also ist die minimale Taktfrequenz: 1/13,333ms = 75Hz! Zu beachten ist noch, dass unter den gegebenen Annahmen, die Taktfrequenz auch nicht höher als 200Hz liegen darf, weil sonst werden die Scanimpulse selbst kürzer als 5ms. Hoffe, das hilft! lg. helmix |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 09:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag