Forum: Mikrocontroller und Digitale Elektronik Problem mit Display Programmierung


von Thomas .G (Gast)


Lesenswert?

Hallo ich habe schon wieder ein kleines Problem mit der Programmierung 
meines Displays.
Wann muss ich welche Steuerleitungen (R/S, E) Auf High und wann auf low 
schalten und bleibt R/W immer auf GND?
mfg Thomas.G

von thkais (Gast)


Lesenswert?

Ich würde Dir als erstes empfehlen, Dir das Datenblatt des 
entsprechenden Displays runterzuladen und das zu verinnerlichen.
Und dann sollte man bei den Displays mit T6963-Controller R/W nicht 
permanent auf GND legen, da man sonst den Status nicht abfragen kann.
Die Text- und Grafi-Area hast Du richtig initialisiert?
Oder ists ein HD44... Display? Oder ein SED15... ?
Welches Problem? Qualmt es schon?
Würdest Du etwas präziser fragen, könnte man auch präziser antworten...

von Michael U. (Gast)


Lesenswert?

Hallo,

auch wenn ich mich damit vermutlich unbeliebt mache:
ein Display hat einen Kontroller. Gängige für Text-Matrix-Displays sind 
z.B.
HD44780, KS0073, für Grafikdisplays T6963C usw. usw.

Die Datenblätter dieser Kontroller sind im Internet zu finden, dort 
haben die Hersteller genau diese Angaben als Timing-Diagramm.
Versuch diese Datenblätter zu verstehen, nimm einen beliebigen 
Beispielcode für Deinen Display-Kontroller (AVR-Tutorial z.B.) und 
versuche es nachzuvollziehen.

E ist im Allgemeinen der Enable-Takt der Displays, mit einem H-Impuls 
werden die Daten ins Display übernommen. Alles andere muß also zu dieser 
Zeit schon richtig anliegen (Daten, R/W, RS).
RS entscheidet, on Daten oder Kommandos übertragen werden sollen, RW 
entscheidet, ob gelesen oder geschrieben werden soll.
RW kann unter Umständen fest auf GND (schreiben) liegen, wenn die 
Software passend dazu programmiert wird und der Display-Kontroller es so 
zulässt.

Gruß aus Berlin
Michael

von Thomas .G (Gast)


Lesenswert?

Ich arbeite noch mit dem etwas älteren QuickBasic und ich weis nicht mit 
welchen Befehlen ich Strobe und Auto linefeed ansteuern kann.Die anderen 
8 Daten leitungen D0-D7 kann ich einfach mit der Nummer des Datenports 
ansteuern z.B. out 888,x.

von Michael U. (Gast)


Lesenswert?

Hallo,

klingt nach PC...

Naja, da wirst Du Dir auch noch die Registerbeschreibung eines 
Standard-PC-I/O-Chips zu Gemüte führen müssen, um zu sehen, unter 
welcher Register-Adresse und an welchem Bit die zugehörigen Leitungen 
des LPT landen.
Das Ding hat ja nicht nur das Register an Adresse 0x378 (888), der hat 
noch etwas mehr drin und dran.

Habe ich mich nie im Detail mit befasst, mal in PC-Programmierung 
fragen, da weiß das wohl eher jemand als hier bei den 
Microcontrollern...

Gruß aus Berlin
Michael

von Hannes L. (hannes)


Lesenswert?

Max Pollin hat auf seiner Homepage zu fast jedem seiner LCDs einen 
Download. Dort ist fast immer ein PC-Programm mit Source dabei, welches 
das betreffende LCD über Printerport ansteuern kann. Diese sind zwar 
nicht in QB, aber ich denke mal, dass man auch in diesen Sourcen den 
Algorithmus erkennen kann.

Der Printerport im (alten) klassischen Modus hat drei fortlaufende 
Adressen, die erste ist der Datenport (888 bei LPT1), die beiden anderen 
die Steuerports.

...

von Philipp B. (philipp_burch)


Lesenswert?

Hi,

lies dir dazu mal dieses Tut durch:
http://www.activevb.de/cgi-bin/upload/download.pl?id=2265

Hab' ich mal geschrieben, da siehst an welchen Adressen du welche Pins 
findest.

von Thomas .G (Gast)


Lesenswert?

OK danke Ich probiers mal aus.

von thkais (Gast)


Lesenswert?

Ansteuerung von PC-Peripherie: http://www.beyondlogic.org

von Patrick Niederöst (Gast)


Lesenswert?

also, Du kennst ja das Datenregister (D0...D8).
Datenregister Basisadresse von LPT1 &H378
Nun gibt es noch ein Statusregister(&H378 + 1),
ein Steuerregister(&H378 + 2)

Datenregister: (Basisadresse)
D0...D7 kennst Du ja bereits

Statusregistereingänge: (Basisadresse + 1)
D0  NC
D1  NC
D2  NC
D3  ERROR    (pin15)
D4  SLCT     (pin13)
D5  PE       (pin12)
D6  ACK      (pin10)
D7  BUSY     (pin11) Achtung invertierter Eingang!

Steuerregisterausgänge: (Basisadresse + 2)
D0  STROBE   (pin01)  Achtung invertierter Ausgang!
D1  AUTOFEED (pin14)  Achtung invertierter Ausgang!
D2  INIT     (pin16)
D3  SLCTIN   (pin17)  Achtung invertierter Ausgang!

Bsp: Ansteuern des STROBE-Pins
'***Initialisierung LPT***
BASADR = &H378
DATREG = BASADR
STATREG = BASADR + 1
STEUREG = BASADR + 2
'***nur STROBE-Pin HIGH, Resliche LOW***
OUT STEUREG, 10     'dez10, weil D3,D2,D0 invertiert-->(8+2+0= dez10)

Ich hoffe das hilft Dir, sonst weiterfragen.
Ich habe zwar schon lange nicht mehr mit QBASIC gearbeitet
aber das war coole Zeit, hatte auch mal ein LCD darüber gesteuert.
Grüsse aus dem nebligen Schweizerlande.



von Patrick Niederöst (Gast)


Lesenswert?

Nachfolgend noch einige Anmerkungen zu den Steuerleitungen
von Statusregister und Steuerregister:

Die einzelnen Signale weisen erhebliche Laufzeitunterschiede
auf, wenn Du also diese Signale ansprichst, solltest Du
danach eine Pause einfügen. Diese Laufzeitunterschiede
entstehen durch die Inverter-Gatter am PC-Port.

Tabelle zu Steuerregister-dezCodes

D3(inv.)  D2         D1(inv.)    D0(inv.)    dezCode
----------------------------------------------------
L         L          L           L           11
L         L          L           H           10
L         L          H           L           09
L         L          H           H           08
L         H          L           L           15
L         H          L           H           14
L         H          H           L           13
L         H          H           H           12
H         L          L           L           03
H         L          L           H           02
H         L          H           L           01
H         L          H           H           00
H         H          L           L           07
H         H          L           H           06
H         H          H           L           05
H         H          H           H           04

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.