Forum: Mikrocontroller und Digitale Elektronik T6963: /WR und /RD mit W/R steuern


von Andi K. (Gast)


Lesenswert?

Hallo!

Ich betreibe ein T6963C-LCD an einen Mega16 und möchte einen
Control-Pin für das LCD einsparen.
Jetzt dachte ich mir, das ich /WR und /RD mit einer kleinen Schaltung
und einem statt 2 Pins steuern könnte:

LCD        /WR         /RD
            .
            |           |
            |           |
            |           |
            |           |
            |   10K     |
            |   _   |/
            o--|___|--|  BC547
            |         |>
            |           |
            |           |
            |          ===
            |          GND
            |
            |
            o

AVR        R/W
(created by AACircuit v1.28.4 beta 13/12/04 www.tech-chat.de)

Wenn R/W am AVR low ist, ist /WR low und /RD müßte high sein, also
Write.
Ist R/W high, ist /WR high und /RD müßte low sein, also Read.

Leider klappt das nicht einfach so.
Ist der BC547 (NPN) zu langsam für so was?
Ersatz-Typ?
Wäre ein kleiner FET besser, welcher für 5V?
Ist der Basis-Widerstand (10K) zu hoch?
Sind in den Steuerleitungen des T6963C eigentlich Pullups integriert?

MfG
Andi

von Ralf (Gast)


Lesenswert?

Hm, das würde ich nicht machen, weil das Display ja auf die Flanken des
/RD bzw. /WR Signals reagiert. Du müsstest dann den /CS mit einem Port
steuern, damit das so funktionieren kann (wenn überhaupt). Also kannst
du gleich /CS auf GND legen und statt dessen /RD und /WR über zwei
Portpins steuern, was dir einen immensen Aufwand in der Software
erspart.

Ralf

von Andi K. (Gast)


Lesenswert?

Ja wie jetzt, habe ich das etwa bisher umständlich oder nicht sauber
gemacht?

Bisher habe ich den T6963C mit CE (CS) getriggert.

Vor dem ersten Zugrif: WR = 0, RD = 1, CD = 1, CE = 1

Komando schreiben, WR bleibt unverändert auf 0:
1. Komando auf DB0 - DB7
2. CE = 0
3. CE = 1

Daten schreiben, WR bleibt unverändert auf 0:
1. Datenbyte auf Datenport
2. CD = 0
3. CE = 0
4. CE = 1
5. CD = 1

Und so ähnlich für Status und Daten lesen.

Wie Du das jetzt beschrieben hast, kann ich CE (CS) nun direkt auf GND
setzen - bei einem LCD - und dann z. B. auf diese Art ein Komando
ausgeben, vorausgesetz, RD und WR ist Anfangs auf 1?
1. Komando auf Datenport
2. WR = 0
3. WR = 1

Dachte bisher, man triggert den T6963C mit CE bzw. sagt ihm damit, hier
ist was für dich.

MfG
Andi

von Marko B. (Gast)


Lesenswert?

> Ja wie jetzt, habe ich das etwa bisher umständlich oder nicht
> sauber gemacht?

Ja. ;-)

So funktioniert der Intel-Bus funktioniert nunmal. Chip Select heißt
nicht umsonst so. Wenn nur ein Gerät am Bus ist, legt man CS auf GND.
Vgl. Timing-Diagramme im Datenblatt.

von Andi K. (Gast)


Lesenswert?

Habs gerade mal umgesetzt, CE permanent auf low, beim Schreiben nur WR
auf low und wieder high und beim Lesen RD auf low und wieder high, und
es funxioniert.
Kann jetzt CE auf GND legen.
Das mit dem CE-toggeln blieb mir von den Charakter-LCDs.

Ich muß immer wieder feststellen, wie doof man sein kann, man lernt
halt nie aus.

Vielen Dank!

MfG
Andi

von Ralf (Gast)


Lesenswert?

> Ich muß immer wieder feststellen, wie doof man sein kann, man lernt
> halt nie aus.

Wieso doof? Hättest du nicht gefragt, hättest du es nie erfahren. Das
wäre doof gewesen.

Wie hättest du es auch erfahren sollen, wenn du nicht gefragt
hättest?!?

Ralf

von Marko B. (Gast)


Lesenswert?

Interessante Frage, philosophisch gesehen. Das alte
Henne-und-Ei-Problem: was war zuerst da - der Frager oder das Wissen?

von Thomas K. (thomas_k)


Lesenswert?

Ah, das Henne-Ei-Problem ist doch schon längst gelöst ;)

http://rapidshare.de/files/6688048/dufraurieger5.wmv.html

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
Noch kein Account? Hier anmelden.