Hallo Leute,
ich habe eine Frage bezüglich der Kombination uC (3,3V) und HD44780. Im
Datenblatt des Displays steht, dass es am besten mit 5V betrieben wird
(die Logik, nicht das Backlight). Im Datenblatt des Controllers (Hitachi
HD44780) steht, dass auch niedrigere Spannung für die Logik verwendet
werden kann.
Hat schonmal jemand ein Display mit 3,3V betrieben? Es geht mir
eigentlich nur um die Pegelanpassung zwischen 3,3V und 5V. Das Display
erkennt auch ein 'high'-Signal, wenn dieses 3,3V vom uC ist. Ich glaube
es sollte mindestens 0,7*Vcc sein, also 3,5V.
Mit nem 74F125D (Buffer) könnte ich ja die Spannung anpassen, jedoch nur
in eine Richtung. Wenn ich die Read/Write-Leitung ebenfalls benutzen
möchte, so würde bei direktem Anschluss das Display ja wahrscheinlich 5V
an die Leitung setzen, oder? Das wäre natürlich für den uC nicht so gut.
Der Buffer geht aber nur in eine Richtung...
Hat da jemand eine Meinung zu, wie ich das lösen kann?
ichmirselber schrieb:> Wenn ich die Read/Write-Leitung ebenfalls benutzen> möchte, so würde bei direktem Anschluss das Display ja wahrscheinlich 5V> an die Leitung setzen, oder?
Der Busy-Test wird völlig überbewertet.
Auch mit festen Delays ist bei sinnnvoller Programmablaufplanung die
CPU-Auslastung durch das LCD unerheblich.
Peter
Ja, hab ich mir auch schon gedacht, das einfach wegzulassen. Dachte nur,
jetzt habe ich mal Port-Leitungen frei :) - da kann ich mal alle
Leitungen des Displays anschließen und brauche nichtmal Nibbles zu
versenden - da wollte ich mir den Luxus gönnen und auch mal die
Read-Funktion benutzen, aber jetzt stehe ich halt vor dieser Frage.
Nimm in die Richtung zum Display einen 74HCT541, für die Richtung zurück
ein 74LVC541, dann geht das. Oder gleich einen Bidirektionalen wie den
74AVC8T245.
fchk
Moin,
wie Peter Dannegger schon schrieb, der Aufwand lohnt sich nicht, auch
wenn genug Portleitungen zur Verfügung stehen. 5V für Versorgung und
Kontrast, Logik 3V3.
Die Abfrage des Busy Flags hat einen groben Nachteil: deine Software
bleibt stehen wenn das Display nicht angeschlossen ist.
/RW fest auf auf GND legen!
MfG
> Die Abfrage des Busy Flags hat einen groben Nachteil: deine Software> bleibt stehen wenn das Display nicht angeschlossen ist.
Mal abgesehen davon das sowas ein Zeichen von schlechter Programmierung
ist, so wird es wohl in der Regel akzeptabel sein wenn ein Geraet nicht
mehr funktioniert wenn sein LCD ausgefallen ist.
Ich haette allerdings auch keine Hemmungen bei der Busyleitung einen
Spannungsteiler zu verwenden. Das diese Loesung relativ langsam ist, ist
ja gerade bei Busy vernachlaessigbar.
Olaf
Moin,
Olaf schrieb:> Mal abgesehen davon das sowas ein Zeichen von schlechter Programmierung> ist, so wird es wohl in der Regel akzeptabel sein wenn ein Geraet nicht> mehr funktioniert wenn sein LCD ausgefallen ist.
na was den nun,
schlechte Programmierung, akzeptabel oder doch was ganz anderes :-)
MfG
Ein 5V Display kann übrigens mit einer Villard-Schaltung vom
3V3-Controller versorgt werden, einfach einen Pin schnell toggeln
lassen. Abschließend kann man noch einen Widerstand und eine Z-Diode
dahinterhängen, damit die Spannung nicht unzulässig hochläuft. Bei
genügend hoher Frequenz können die Elkos im Schaltplan durch
Keramikpillen 100nF ersetzt werden. Die Dioden sollten Schottkys sein
(BAR43S oder ähnlich).
> schlechte Programmierung, akzeptabel oder doch was ganz anderes :-)
Beides!
Sachen wie:
while(no_busy());
Sind immer boese!
Bei mir sieht das immer so aus:
tickerstart(100);
while(no_busy() && tickerask());
Aber wenn das LCD ja sowieso kaputt ist wird es hier wohl keiner
merken. Trotzdem bleibt sowas Murks. Man koennte ja z.b auch bei
defekten LCD noch ein File auf seiner MMC Karte schliessen wollen
oder mit der StatusLED den Fehlercode morsen.
Olaf
Travel Rec. schrieb:> Ein 5V Display kann übrigens mit einer Villard-Schaltung vom> 3V3-Controller versorgt werden, einfach einen Pin schnell toggeln> lassen.
Kannst du dazu konkrete Bauteilwerte und die Frequenz angeben?
Travel Rec. schrieb:> Ein 5V Display kann übrigens mit einer Villard-Schaltung vom> 3V3-Controller versorgt werden, einfach einen Pin schnell toggeln> lassen. Abschließend kann man noch einen Widerstand und eine Z-Diode> dahinterhängen, damit die Spannung nicht unzulässig hochläuft. Bei> genügend hoher Frequenz können die Elkos im Schaltplan durch> Keramikpillen 100nF ersetzt werden. Die Dioden sollten Schottkys sein> (BAR43S oder ähnlich).
Das Display läuft ja mit den 3,3V als Logikansteuerung.
Micha schrieb:> Kannst du dazu konkrete Bauteilwerte und die Frequenz angeben?
Frequenz über 10kHz, am besten ein OCR-Pin, PinToggle oder PWM.
Schottky-DoppelDiode BAR43S im SOT23, Kondensatoren 100nF/16V/X7R.
Gegebenenfalls hinter die Spannungsverdopplung noch 100 Ohm
Serienwiderstand und eine 5.1V-Z-Diode.
--- schrieb:> Das Display läuft ja mit den 3,3V als Logikansteuerung.
Ist schon klar, aber für die Versorgung und den Kontrast braucht es bei
Standard-LCDs 5V.
Travel Rec. schrieb:> Ist schon klar, aber für die Versorgung und den Kontrast braucht es bei> Standard-LCDs 5V.
Ja für die Versorgung schon, das stimmt. Der Kontrast liegt jedoch meist
nahe 0V.
gasst schrieb:> Ja für die Versorgung schon, das stimmt. Der Kontrast liegt jedoch meist> nahe 0V.
Ja. Gegenüber 5V! Bei 3V3 muß man knapp -2V als Kontrastspannung
anlegen.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang