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
Gast
#789702
>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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.