Hallo, oft ist es ja so, dass man nur wenige IOs zur Verfügung hat, und trotzdem auf ein LCD nicht verzichten will. Hier die Lösung zu diesem Problem: Das LCD wird im simplesten 4-Bit Modus betrieben, so dass insgesamt nur 6 IOs benötigt werden. Aber wohin mit dem Rest? Ganz einfach: Solange Enable low ist, ist es dem LCD egal was auf dem Bus passiert. Einfach DB4-DB7 am uC als Eingang, Pullup ein, und Taster, die auf GND ziehen, abfragen. Jetzt denkt jeder, und was passiert, wenn jemand den Taster drückt wenn gerade eine Kommunikation läuft? Um dieses Problem zu umgehen, hängt man alle Taster nicht auf GND, sondern gemeinsam an einen PortPin, der wenn Daten an das LCD gesendet werden sollen, einfach Tristate geht, und die Taster somit wirkungslos werden. Ist der Bus wieder frei, einfach den Pin wieder auf GND und Tasten pollen. Und da ein Port auf so ziemlich jedem IC (auch wenn manchmal nicht physikalisch) aus 8 Pins besteht, hat man immer noch einen frei, für zB eine LED. µLuxx
>Um dieses Problem zu umgehen, hängt man >alle Taster nicht auf GND, sondern gemeinsam an einen PortPin, der wenn >Daten an das LCD gesendet werden sollen, einfach Tristate geht Drück mal zwei Taster und halt sie fest ;)
ok, stimmt, das ist eine Ausnahme, die ich nicht bedacht hab....mal schaun, vielleicht fällt mir was ein (was besseres als die taster einfach über einen großen R (nat. kleiner als Rpullup) an den Pin zu hängen, so dass der Pin de LCD signale noch sauber steuern kann).
@ µluxx .. (uluxx) Benutzerseite >ok, stimmt, das ist eine Ausnahme, die ich nicht bedacht hab....mal >schaun, vielleicht fällt mir was ein (was besseres als die taster Das haben andere schon. Jeden Taster über einen einzelnen R nach Masse legen ist das Einfachste. Dioden brauchen auch Platz und kosten mehr. MFG Falk
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.