LCD an 8051 - Portkonfiguration?

Gast #978820
Lesenswert?

Hi,

ich hab hier ein LCD, welches ich gerne mit einem 8051 Derivat ansteuern 
möchte. Standardmäßig sind bei diesem µC alle Pins Input Pins. Da ich 
aber für die Ansteuerung des LCDs 8 I/O Pins benötige muss ich die 
Konfiguration ändern. Im Datenblatt hab ich bereits die SFR gefunden mit 
denen ich die Ports konfigurieren kann, aber ich bin mir nicht sicher 
welcher Modus der richtige ist:

-) Quasi Bidirectional
-) Push Pull
-) Open Drain
-) Input Only

Meine Überlegung Open Drain mit einem Pull-Up Widerstand?

Liege ich damit falsch?


KeinPlan
#979612
Lesenswert?

Falls es ein HD44780 kompatibles LCD ist dann würde ich das LCD im 4Bit 
Mode ansteuern bei welchem du mit 7 Pins (4 Daten, RW,EN,RS) auskommst. 
Mit ein paar Software Tricks auch mit 6 Pins (ohne EN).

Viele der neueren 8051er mit verschiedenen Portmodes sind nach dem Reset 
auf input-only gesetzt und nicht auf quasi-bidirektional. Abhängig von 
deinem Controller musst du also die Portpins erst auf diesen Mode 
umstellen per Software.

Ciao,
     Rainer
Gast #980468
Lesenswert?

Am einfachsten und schnellsten ist die Ansteuerung alledings über den 
Adressbus. Alle Steuersignale werden von der Hardware erzeugt. Du musst 
lediglich deine Daten an die entsprechende Adresse schicken oder 
auslesen und der Rest brauch dich garnicht zu interessieren.
So mache ich das schon seit Jahren ohne Probleme.
#980482
Lesenswert?

MC wrote:
> Am einfachsten und schnellsten ist die Ansteuerung alledings über den
> Adressbus.

Lohnt sich aber nur, wenn der eh schon benutzt wird.
Ansonsten verlierst Du satte 18 Portpins.


> Alle Steuersignale werden von der Hardware erzeugt.

Nein.
Das E-Signal mußt Du mit zusätzlicher Logik erzeugen (NAND aus /RD,/WR 
mit AND vom Chip-Select).


> Du musst
> lediglich deine Daten an die entsprechende Adresse schicken oder
> auslesen und der Rest brauch dich garnicht zu interessieren.

Nur wenn es ein standard 8051 bei max 12MHz ist.
Moderne 8051-er sind aber zu schnell. Manche erlauben es, zusätzlich 
Waits einzufügen.


Peter
Gast #980838
Lesenswert?

>> Alle Steuersignale werden von der Hardware erzeugt.
>
>Nein.
>Das E-Signal mußt Du mit zusätzlicher Logik erzeugen (NAND aus /RD,/WR
>mit AND vom Chip-Select).
Das zusätzliche NAND hatte ich zu der Hardware dazugezählt.

>Nur wenn es ein standard 8051 bei max 12MHz ist.
>Moderne 8051-er sind aber zu schnell. Manche erlauben es, zusätzlich
>Waits einzufügen.
Nö, wieso? Ich benutze einen 8051er mit 14,7456MHz und das funktioniert 
einwandfrei. Auch bei 16MHz habe ich das schon erfolgreich und 
fehlerfrei gemacht. Außerdem sollte man den Zustand des LCDs immer 
Abfragen, wenn man Daten oder Komandos schreiben will.
#980897
Lesenswert?

MC wrote:

> Nö, wieso? Ich benutze einen 8051er mit 14,7456MHz und das funktioniert
> einwandfrei. Auch bei 16MHz habe ich das schon erfolgreich und
> fehlerfrei gemacht.

"Funktioniert aufm Basteltisch", das ist natürlich ein fundiertes 
Qualitätskriterium. Wenn ich sowas meinem Arbeitgeber erzähle, müßte er 
mich fristlos entlassen.

Was allein zählt, ist eine Worst-Case-Betrachtung:
Und da steht im HD44780-Datenblatt E-Pulse: min 450ns.
Und gucke ich ins AT89C52 Datenblatt, steht da WR-Pulse: min 400ns 
[12MHz].

Ich bin also schon bei 12MHz außerhalb der Spezifikation!

Nehme ich jetzt nen schnelleren P89C668, ist dort WR-Pulse: 50ns 
[20MHz], also nur schlappe 800% zu schnell.


Peter
Gast #980935
Lesenswert?

>"Funktioniert aufm Basteltisch"
Vom Basteltisch war nie die Rede. Ich meinte ein 8051-System, welches 
kommerziell vertrieben wird.
Ansonsten habe ich mir die Datenblätter wenig angesehen. Wenn's läuft, 
dann läuft's. Was interessieren mich da die vom Hersteller angegebenen 
Grenzen.
Aber wenn es mal nicht funktionieren will, dann frage ich hier nach.
#980980
Lesenswert?

MC wrote:

> Ansonsten habe ich mir die Datenblätter wenig angesehen. Wenn's läuft,
> dann läuft's. Was interessieren mich da die vom Hersteller angegebenen
> Grenzen.

?!? Ich hoffe, daß ist keine berufliche Grundeinstellung von dir :)
Das klingt jedenfalls nicht sehr professionell...
Gast #981413
Lesenswert?

Da ich ja bis jetzt nur Bastler bin, nehm ich's leicht. Wieso auch 
unnötig schwer machen.
Während verschiedener Praktika,... habe ich natürlich professioneller 
gearbeitet. Auch eine (lästige) Dokumentation hat da nicht gefehlt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren